Text Processing
Voxtype can transform transcribed text before output using word replacements, spoken punctuation, LLM-based cleanup, and custom scripts.Word Replacements
Fix commonly misheard words and phrases.Basic Configuration
- “vox type” → “voxtype”
- “Vox Type” → “voxtype”
- “VOX TYPE” → “voxtype”
Common Use Cases
Product names:Multi-Line Configuration
For many replacements, use multi-line TOML:Order of Operations
Replacements are applied:- After transcription
- Before spoken punctuation
- Before post-processing commands
- Before output
Spoken Punctuation
Convert spoken words to punctuation symbols.Basic Configuration
Supported Punctuation
Say the word on the left to get the symbol on the right:| Spoken | Symbol | Spoken | Symbol | |
|---|---|---|---|---|
| ”period” | . | ”comma” | , | |
| ”question mark” | ? | ”exclamation mark” | ! | |
| ”colon” | : | ”semicolon” | ; | |
| ”open paren” | ( | ”close paren” | ) | |
| ”open bracket” | [ | ”close bracket” | ] | |
| ”open brace” | { | ”close brace” | } | |
| ”open angle” | < | ”close angle” | > | |
| ”single quote” | ' | ”double quote” | " | |
| ”backtick” | ` | ”tilde” | ~ | |
| ”slash” | / | ”backslash” | \ | |
| ”pipe” | ` | ` | “ampersand” | & |
| ”asterisk” | * | ”plus” | + | |
| ”minus” | - | ”underscore” | _ | |
| ”equals” | = | ”percent” | % | |
| ”dollar sign” | $ | ”at sign” | @ | |
| ”hash” | # | ”caret” | ^ | |
| ”new line” | \n | ”new paragraph” | \n\n |
Examples
Basic punctuation: Say: “Hello world period How are you question mark” Output:Hello world. How are you?
Code dictation:
Say: “function hello open paren close paren open brace new line return quote hello world quote semicolon new line close brace”
Output:
x = a + b * c
Developer Workflow
Spoken punctuation is especially useful for developers:const greeting = "hello world";
Combining with Word Replacements
Replacements are applied before spoken punctuation:- Replacement: “Welcome to voxtype period”
- Spoken punctuation: “Welcome to voxtype.”
Post-Processing with LLMs
Pipe transcriptions through external commands for advanced cleanup.How It Works
- Voxtype transcribes audio
- Applies word replacements and spoken punctuation
- Sends text to your command via stdin
- Command processes text (grammar, formatting, etc.)
- Command outputs cleaned text to stdout
- Voxtype uses the cleaned text for output
Basic Configuration
Ollama Examples
Basic cleanup:LM Studio Example
LM Studio provides an OpenAI-compatible API:llama.cpp Example
Using llama.cpp’s server:Custom Script Example
Simple text processing without LLMs:Timeout Handling
If the command times out, Voxtype falls back to the original transcription:Error Handling
If the command fails (non-zero exit code), Voxtype falls back to the original transcription and logs the error:Pre/Post Output Hooks
Run commands before and after text output (not for text processing, but for system integration).Configuration
Common Use Cases
Hyprland submap (block modifier keys during typing):Profiles
Use different processing settings for different contexts.Configuration
Usage
Profile Options
Profiles can override:Order of Processing
Text goes through multiple stages:- Transcription - Whisper generates text
- Word replacements - Apply
[text] replacements - Spoken punctuation - Convert spoken words to symbols (if enabled)
- Post-processing command - Pipe through external command (if configured)
- Pre-output hook - Run
pre_output_command - Output - Type, clipboard, paste, or file
- Post-output hook - Run
post_output_command
Complete Examples
Developer Workflow
Professional Writing
Multilingual with Cleanup
Profile-Based Workflows
Troubleshooting
Post-Processing Not Working
Check command manually:Spoken Punctuation Not Working
Ensure it’s enabled:Replacements Not Applied
Check case: Replacements are case-insensitive for matching, but output uses the exact case in the replacement value:Profile Not Applied
Check profile name:Next Steps
Output Modes
Choose between typing, clipboard, paste, and file output
Configuration
Complete configuration reference
Compositor Integration
Set up Hyprland, Sway, or River keybindings
Basic Usage
Return to basic usage guide