Local voice-to-text right at the cursor with Voicetypr
I often catch myself thinking that typing out long prompts for neural networks or detailed comments on pull requests is simply too tedious. My fingers get tired, thoughts get jumbled, and I don't feel like re-reading the draft. Voice input seems to solve this problem, but the standard system tools in macOS and Windows don't work all that well. Third-party cloud utilities like Wispr Flow require a subscription and route all your voice through external servers, which is immediately out for confidential code or work-related chats.
Recently I stumbled upon an interesting project called Voicetypr. It's an open-source desktop application under the AGPL-3.0 license that inserts recognized speech directly where the cursor is blinking. And it does this completely locally on your machine.
What the app can do
The main idea is simple: press a global shortcut, dictate text into the microphone, release the key, and the finished sentences immediately appear in the active input field. Whether it's VS Code editor, terminal, messenger, or browser.
Here are a few things the author packed into this utility:
- On-device recognition. On macOS and Windows, the Whisper model works, and for Macs with Apple Silicon chips you can connect the optimized Parakeet model.
- Formatting via LLM. Raw dictation is often full of filler words and strange pauses. The app can pass draft text through OpenAI, Anthropic, Gemini, or any custom local endpoint to produce a clean and edited paragraph at the output.
- Transcription of existing media files. You can drop an audio or video file and get a text transcript.
- Recording history. All transcriptions are saved in the interface with metadata, so you can compare the original text with the edited version or replay the recording.
- Server mode over local network. If you have a powerful graphics card on one computer, you can set up Voicetypr as a local transcription server and send audio from a less powerful laptop.
By the way, if local power isn't enough, you can switch to cloud recognition services in the settings: Groq, Deepgram, OpenAI, Soniox, or Cohere. But the whole point of Voicetypr is that by default the audio stream never leaves your computer.
CLI for automation and local agents
An interesting detail that developers rarely think about in similar GUI utilities: Voicetypr ships with a built-in console interface.
The command can be installed right from the program settings. This makes it possible to call the recognition engine from bash scripts or connect to local AI agents:
# Проверить статус приложения
voicetypr status --json
# Посмотреть доступные модели
voicetypr models --json
# Расшифровать аудиофайл и получить структурированный JSON
voicetypr transcribe --file note.wav --json
# Записать голос с микрофона до наступления тишины
voicetypr record --until-silence --json
The --json flag returns a structured response, so the result is easy to parse with standard jq or feed further down the pipeline.
How it works under the hood
The app stack is built quite pragmatically. The author chose Tauri v2 and Rust for heavy system work, and wrote the interface in React 19, TypeScript, Tailwind CSS, and shadcn/ui.
All the work of intercepting hotkeys, capturing microphone, resampling audio, and emulating input to the active window lies entirely on the Rust backend. This gave fast response and modest RAM consumption compared to typical Electron apps.
On Windows, local Whisper can use Vulkan for GPU acceleration. And this process is isolated in a separate sidecar. If something goes wrong with the video driver, the app simply quietly switches to CPU calculations without crashing the main program.
How to build and run
If you want to build the project from source yourself, you'll need Node.js with the pnpm package manager, the Rust toolchain, and basic build tools for your operating system (Xcode CLI on macOS or Visual Studio Build Tools on Windows).
Building is started with standard commands:
git clone https://github.com/moinulmoin/voicetypr.git
cd voicetypr
pnpm install
pnpm tauri:dev
There are also ready-made tests and linters in the repository:
pnpm lint
pnpm test
pnpm test:backend
pnpm quality-gate
For those who don't want to compile manually, signed DMG packages for macOS and installers for Windows 10/11 are available in the GitHub releases and on the official website.
Why a developer needs this
First and foremost, Voicetypr will come in handy for those who write a lot of text: maintaining documentation, drafting tasks in issue trackers, or communicating with neural networks in Cursor and Claude Dev. Dictating complex context by voice in twenty seconds is much easier than typing five paragraphs by hand.
The second obvious scenario is privacy. If you work with NDAs or just don't want to hand over recordings of your voice to third-party companies, the combination of local Whisper and local inference via Ollama completely solves this issue.
The project currently has relatively few stars on GitHub, but the codebase looks clean, and the Tauri with Rust combo works fast. It's definitely worth trying, especially if you've been looking for a free replacement for proprietary dictation apps.
Related projects