Verba — developer-grade voice dictation, everywhere you type.
Speak instead of type. Verba records your voice, transcribes it with Deepgram Nova-3, and refines it with Claude — system-wide across macOS (Beta) or deep inside VS Code. Bring your own keys, keep your data.
- Bring Your Own Key -- your own Deepgram + Anthropic keys; no subscription.
- Privacy & data control -- keys in the OS keystore; optional fully offline transcription (whisper.cpp); your audio and text are never routed through us.
- Developer- & code-aware -- code-aware templates, Claude Code prompt generation, commit messages, JavaDoc, and deep VS Code integration.
- Everywhere -- the same dictation intelligence in your editor and across your whole Mac.
Dictate into your editor and terminal, with code-aware AI templates.
The shipped flagship, available today on the VS Code Marketplace:
ext install talent-factory.verba
Or search for "Verba" in the VS Code Extensions sidebar.
Full guide: VS Code Installation
System-wide dictation into any app — press a hotkey, speak, and Verba pastes clean text wherever your cursor is.
Beta -- build from source. There is no packaged download yet; run it via just macos-dev (or npm run tauri dev from apps/macos).
Full guide: macOS Installation
- Streaming Post-Processing -- Claude cleans up your transcript in real time as it streams back.
- Course Correction -- self-corrections in speech are detected and removed automatically. Say "let's meet tomorrow, no wait, on Friday at ten" and only "let's meet on Friday at ten" is kept.
- Voice Commands -- spoken formatting commands like "new paragraph", "comma", "bullet point" are converted to actual formatting, in any language.
- Glossary/Dictionary -- define terms that must be preserved exactly during transcription and cleanup (e.g. "Visual Studio Code", "Kubernetes").
- Text Expansions -- user-defined abbreviations are expanded during post-processing.
- Prompt Templates -- template-driven post-processing (Free Text, Commit Message, JavaDoc, Markdown, E-Mail, and more), freely configurable with your own prompts.
- Editor & Terminal Insertion --
Cmd+Shift+D(Mac) /Ctrl+Shift+D(Windows/Linux) starts and stops recording; text is inserted contextually in the editor or the integrated terminal. - Multi-Cursor / Selection-Aware Dictation -- dictated text replaces a selection, fills every cursor position, or is passed to Claude as context for the transformation.
- Dictation History & Full-Text Search -- every dictation is saved locally and searchable across raw transcript and cleaned text; re-insert or copy past results.
- Continuous Dictation -- longer sessions via Deepgram Nova-3 WebSocket streaming with automatic pause segmentation (
Cmd+Shift+Alt+D). - Offline Transcription -- transcribe fully locally with whisper.cpp: zero API cost, audio never leaves your machine.
- File-Type-Aware Templates -- the right template (e.g. JavaDoc for Java/Kotlin) is selected automatically from the active editor's language.
- System-wide Global Hotkey --
Ctrl+Alt+Dtoggles microphone capture from any app. - Paste into the Frontmost App -- transcribed, cleaned text is pasted wherever your cursor is; the previous clipboard content is restored afterwards.
- Menu-Bar Configuration & Template Picker -- switch transcription provider, cleanup language, and active template straight from the tray menu.
- HUD Working Visualization -- a non-activating, click-through pill shows idle/recording/transcribing/processing state.
- Keychain-Backed Keys -- Deepgram and Anthropic keys are stored in the macOS Keychain.
- ffmpeg -- required for the VS Code extension's microphone recording (the macOS app captures audio natively via
cpaland does not need ffmpeg) - Deepgram API Key (Nova-3 transcription), shared by both surfaces -- or whisper-cpp for offline transcription (VS Code only, for now)
- Anthropic API Key (Claude post-processing), shared by both surfaces
macOS:
brew install ffmpegLinux (Debian/Ubuntu):
sudo apt install ffmpegLinux (Fedora):
sudo dnf install ffmpegWindows:
Download from ffmpeg.org and add to PATH, or via Chocolatey:
choco install ffmpeg| Platform | Audio Backend | Microphone Selection |
|---|---|---|
| macOS | AVFoundation | Configurable via verba.audioDevice or Quick Pick |
| Linux | PulseAudio | Configurable via verba.audioDevice or Quick Pick |
| Windows | DirectShow | Configurable via verba.audioDevice or Quick Pick |
On all platforms, you can select the microphone anytime with the command Verba: Select Audio Device or by setting verba.audioDevice in Settings. Without configuration, the system default microphone is used.
Linux: PulseAudio must be running (default on Ubuntu, Fedora, and most desktop distributions).
Windows: On first use, a Quick Pick dialog lets you select the microphone. Verba detects devices via ffmpeg (v7 and v8+ formats) with a PowerShell fallback.
- VS Code: press
Cmd+Shift+D/Ctrl+Shift+D, pick a template on first use, speak, then press the shortcut again -- the result appears at your cursor. Full walkthrough: VS Code Quick Start. - macOS (Beta): build from source with
just macos-dev, then pressCtrl+Alt+Danywhere to start dictating -- Verba pastes the cleaned text into the frontmost app. Full walkthrough: macOS Installation.
VS Code reads templates, glossary, and expansions from settings.json, with project-specific overrides in .verba-glossary.json and .verba-expansions.json -- see the VS Code Configuration guide. macOS (Beta) uses a single config file at ~/.config/verba/config.json (XDG), editable via the tray menu or directly -- see the macOS Configuration guide.
@verba/core
(pipeline · cleanup · Deepgram provider · config schema)
/ \
VS Code Extension macOS App (Beta)
(Electron / Node.js) (Tauri / Rust)
Both hosts wrap the same dictation pipeline (record → transcribe → Claude post-process → insert/paste) around platform-specific adapters. Full breakdown: Architecture.
Full documentation site: talent-factory.github.io/verba -- or browse the docs/ directory directly.
Found a bug or have a feature request? Open an issue. For local development setup (monorepo layout, build commands), see Contributing.

