VoiceToText is a local Windows dictation app built in C++. It records from your microphone, transcribes speech with whisper.cpp, optionally cleans the result through a local OpenAI-compatible LLM server, and inserts the final text into the app you are already using.
The app is built for fast everyday dictation: start it once, leave it in the system tray, press a hotkey, speak, and get text back in the focused window.
- Swedish-first KB-Whisper model support.
- Optional CUDA acceleration with automatic CPU/GPU selection.
- Microphone capture with voice activity detection and silence trimming.
- Optional local LLM cleanup and profile-based rewriting.
- Transcript history with raw, cleaned, and AI Language views.
- System tray controls and a floating status overlay.
Clone the repository:
git clone https://github.com/jojomondag/VoiceToTextApp.git
cd VoiceToTextAppDownload the default KB-Whisper model:
.\scripts\download_model.ps1Continue with Setup And Configuration for build, run, packaging, and configuration details.
Default hotkeys:
| Shortcut | Action |
|---|---|
Ctrl+Shift+Space |
Start or stop recording |
Escape |
Cancel the current recording while recording |
Ctrl+Shift+L |
Cycle language: Swedish, English, Auto |
Typical flow:
- Put the cursor in any app where you want text.
- Press
Ctrl+Shift+Space. - Speak naturally.
- Press
Ctrl+Shift+Spaceagain. - The final text appears in the focused app.
You can also use the tray menu to start recording, switch language, change model size, change compute mode, open History, or exit.
The History window keeps recent dictations and shows:
- Recorded voice: raw Whisper output.
- Clean transcript: text after cleanup/profile transformation.
- AI Language: compact AI-readable version for prompt-heavy workflows.
Each history row includes copy buttons and profile controls. Clicking the profile text or profile icon switches the History window into the profile editor. From there you can edit how each profile transforms cleaned text, create new profiles, rename profiles, and go back to history.
History is stored in transcript_history.json next to the executable unless
configured otherwise.
See Setup And Configuration for requirements, model downloads, build commands, packaging, configuration settings, and local LLM setup.
Generated build folders such as build and build-cuda are local build
artifacts. They are not required to understand or modify the source code.
MIT License. See LICENSE.