OpenDictate User Guide
OpenDictate is a free, open-source, local-first AI voice dictation tool. It converts your speech to text directly on your device with zero cloud latency, zero telemetry, and zero subscription fees.
1. Quickstart (0 to Voice in 60 Seconds)
Step 1: Installation
- Linux: Download the
.AppImage(or.deb), make it executable (chmod +x OpenDictate*.AppImage), and run it. (Requires/dev/uinputaccess for global key injection). - macOS: Open the
.dmg, drag OpenDictate to Applications. Grant Accessibility and Microphone permissions when prompted. - Windows: Run the installer (
.msior.exe). OpenDictate will start right in your system tray.
Step 2: Initial Setup
- On first launch, select your preferred input microphone.
- The default Parakeet TDT 110M model (~100 MB) will download automatically in the background.
- Once the status indicator shows Ready, you're all set!
Step 3: Your First Dictation
- Focus your cursor in any application (VS Code, Notion, Obsidian, Slack, Terminal, Chrome, Word).
- Press the global shortcut:Linux / Windows:Ctrl + Alt + SpacemacOS:⌘ + ⇧ + Space
- Speak naturally into your microphone.
- Press the shortcut again (or pause) — your speech will be instantly typed right at your cursor!
2. Dictation Modes
OpenDictate offers three flexible recording workflows configurable in Settings:
| Mode | How it Works | Best For |
|---|---|---|
| Push-to-Toggle (Default) | Press shortcut to start recording, speak, and press shortcut again to transcribe & inject. | Writing paragraphs, emails, and long thought dumps. |
| Hold-to-Talk | Hold down the hotkey while speaking; release the key to immediately inject text. | Quick commands, short chat replies, and rapid coding. |
| Hands-Free (Wake Word) | Say “Hey Dictate” to trigger recording automatically without touching your keyboard. | Cooking, multitasking, or accessibility workflows. |
3. Voice Commands & Coding Reference
OpenDictate includes a built-in deterministic command engine for hands-free formatting and text manipulation:
Formatting & Casing
| Voice Command | Result | Example Input ➔ Output |
|---|---|---|
| "all caps <phrase>" | UPPERCASE | "all caps important notice" ➔ IMPORTANT NOTICE |
| "camel case <phrase>" | camelCase | "camel case user auth token" ➔ userAuthToken |
| "snake case <phrase>" | snake_case | "snake case database pool size" ➔ database_pool_size |
| "kebab case <phrase>" | kebab-case | "kebab case header nav item" ➔ header-nav-item |
| "title case <phrase>" | Title Case | "title case release announcement" ➔ Release Announcement |
Editing & Correction
| Voice Command | Action |
|---|---|
| "scratch that" or "undo" | Reverts the last injected dictation block. |
| "delete word" | Deletes the previous word before cursor (Ctrl+Backspace). |
| "delete line" | Clears the entire current line. |
| "clear all" | Clears current input buffer. |
Whitespace & Punctuation
| Voice Command | Key Output |
|---|---|
| "new line" | Inserts a single carriage return (\n). |
| "new paragraph" | Inserts two new lines (\n\n). |
| "tab" | Inserts an indentation tab (\t). |
| "bullet point" or "bullet" | Inserts • or - bullet item. |
Smart Workflow Actions
| Voice Command | Action |
|---|---|
| "prompt and send <query>" | Injects query into AI chatbot/terminal and presses Enter. |
| "submit" | Types Enter to send form or chat message. |
| "switch to <application>" | Activates and switches window focus to named application. |
| "open <url>" | Opens specified web address in your default browser. |
4. Custom Vocabulary (Hotword Boosting)
Never have your speech recognizer misspell specialized technical terms or personal names:
- Open the Dictionary tab in the OpenDictate dashboard.
- Add your custom keywords (e.g.,
OpenDictate,Kubernetes,FastConformer,GraphQL,Pytorch). - OpenDictate mathematically boosts the acoustic weight for these words during local beam-search decoding, boosting recognition accuracy.
5. Snippet Expansions
Automate repetitive boilerplate text with voice triggers:
- Go to the Snippets tab.
- Define a Trigger Phrase (e.g.,
signature,meeting notes,bug template). - Enter the multi-line text template.
- During dictation, say
“insert snippet signature”— your template expands instantly into the active window!
6. Choosing the Right Speech Model
OpenDictate supports multiple state-of-the-art neural ASR architectures via Sherpa-ONNX:
| Model | Disk Size | Latency | Recommended Use |
|---|---|---|---|
| FastConformer CTC (Streaming) | ~110 MB | 80ms | Fastest. Word-by-word streaming typing as you speak. |
| Parakeet TDT 110M (int8) | ~104 MB | ~120ms | Default. Balanced accuracy and speed on any CPU. |
| Parakeet TDT 0.6B v3 | ~487 MB | ~200ms | High Accuracy. Best for complex terminology and varied accents. |
| Whisper Turbo (Large v3) | ~564 MB | ~350ms | Multilingual. Maximum punctuation precision for dictating long articles. |
*Switch models at any time with 1 click in the Models tab.
7. Optional AI Voice Polish
If you tend to say “um”, “like”, or ramble, you can enable optional AI polish:
100% exact verbatim speech transcription with zero alterations.
Removes verbal filler words, hesitations, and false starts while preserving your exact phrasing.
Summarizes raw stream-of-consciousness dictation into clean, formatted Markdown bullet points.
Choose between Local SLMs (running completely offline) or Groq Cloud API (for ultra-fast sub-second LLM inference).
8. Privacy & Architecture
Audio processing happens on your local CPU/GPU via ONNX Runtime. Your voice data never leaves your computer.
No tracking beacons, session replays, or analytics exist in the codebase.
Your custom dictionary, snippets, and typing history are stored locally in your OS application directory:
- Linux:
~/.local/share/opendictate - macOS:
~/Library/Application Support/opendictate - Windows:
%APPDATA%\opendictate
9. Troubleshooting & FAQs
Q: Linux: Hotkey triggers, but no text is typed into the focused window.
A: Ensure your user account has permissions to write to /dev/uinput:
sudo usermod -aG input $USER echo 'KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"' | sudo tee /etc/udev/rules.d/99-uinput.rules sudo udevadm control --reload-rules && sudo udevadm trigger
Ready to start dictating?
Download OpenDictate v0.2 for Linux, macOS, or Windows and try your first voice dictation in under a minute.