Hold a key. Speak. Your words appear — in any app.
Fully offline voice typing & voice notes for Windows, powered by whisper.cpp.
🔊 Full demo with real voice — Chinese, English and Japanese dictated into Notepad:
_2026_06_12_02_21_16_302.mp4
Press and hold a hotkey (default F9), talk, release — your speech is transcribed locally and typed straight into whatever app your cursor is in: your editor, browser, chat, terminal. Every dictation is also saved as a searchable note.
- 100% offline. Audio never leaves your PC. No account, no cloud, no telemetry.
- Works everywhere. A true global hotkey + simulated paste/typing — VS Code, Word, Slack, anything.
- More than dictation. Import audio files, record meetings (system audio), summarize and ask questions with a local LLM.
| 🎙 Push-to-talk dictation | Hold to talk, or quick-tap to lock recording. Toggle mode available. |
| ⌨️ Types into any app | Pastes at the cursor (clipboard is restored), or types character-by-character. |
| 📝 Notes history | Every dictation/transcription saved locally as a note. Search, edit, copy. |
| 📂 Audio file import | MP3, M4A, WAV, OGG, FLAC… with live streaming output while transcribing. |
| 🖥 Meeting recording | Captures system audio (Teams / Meet / Zoom) + your mic, transcribes locally. |
| 🌍 100+ languages | Whisper multilingual models, auto-detect or fixed language, optional translate-to-English. |
| 🈶 Traditional/Simplified Chinese | Deterministic OpenCC conversion of Chinese output — no model roulette. |
| ✦ AI summaries & Q&A | Optional. Point it at any OpenAI-compatible endpoint — e.g. local Ollama to stay offline. |
| ⏱ Timestamped export | Export notes as .txt, .md, or .srt subtitles. |
| 🔒 Private by architecture | Models run on your CPU/GPU via whisper.cpp. Notes are plain JSON on your disk. |
| 🪶 Custom vocabulary | Initial-prompt hints for names, jargon, and output style. |
| 🧑💻 Coding mode | Dictate into Windows Terminal, VS Code or Claude Code: mixed Chinese/Japanese/English speech, a code vocabulary (use effect → useEffect), and Enter only if you want it. |
| 💻 Hardware-aware setup | Detects your CPU / RAM / NVIDIA GPU and applies the best engine + model in one click. |
For talking to a terminal, an editor or an AI coding agent such as Claude Code. Turn it on in Settings → Coding mode, or from the tray menu:
- Auto: on whenever the window you're dictating into is a terminal or code editor (Windows Terminal, PowerShell, cmd, VS Code, Cursor, Windsurf, JetBrains IDEs, Android Studio, Visual Studio, Sublime Text, WezTerm, Alacritty…). Add other apps by process name, e.g.
Claude. - Always on, or Off (the default).
What changes while it's on (the overlay shows a </> code badge):
- Mixed languages. Whisper gets a sample sentence in your UI language with English code terms in it, so "幫我跑 pytest,然後 git commit" or "npm install してから" keep the English words in Latin script.
- Code vocabulary. A list of terms you say (
pytest, kubectl, useEffect, …) biases Whisper toward those spellings and fixes case and spacing afterwards:Pytest→pytest,use effect→useEffect,node js→Node.js. Lines likecube control => kubectlreplace what Whisper heard with what you meant. Paths, URLs and flags (package.json,github.com/…,--use-effect) are left alone. - No sentence-final period, so
git statusdoesn't arrive asgit status.. - Enter is up to you. By default the text is inserted and you press Enter after checking it. Turn on Press Enter after inserting to run the command or send the prompt hands-free.
Still fully offline: the vocabulary is only a prompt for the local model. Terminals running as administrator can't receive input from a normal app (a Windows rule); run WhisperPress as admin too if you need that.
Grab the latest build from the Releases page:
WhisperPress-Setup-x.x.x.exe— installer (recommended, creates a desktop shortcut)WhisperPress-Portable-x.x.x.exe— portable, just download and run
Windows SmartScreen may warn on first run (the binaries are not code-signed). Click More info → Run anyway. All source code is public here — review it or build it yourself.
Requires Node.js 20+ on Windows 10/11.
git clone https://github.com/b84330808/whisperpress.git
cd whisperpress
npm install
npm startOn first run, WhisperPress downloads the whisper.cpp engine (~16 MB, v1.8.6 release binaries) and the model you pick. Everything after that is offline.
npm run dist # NSIS installer + portable exe in release/Downloaded on demand from Hugging Face (ggerganov/whisper.cpp):
| Model | Size | Best for |
|---|---|---|
| tiny / base | 78–148 MB | quick drafts, fast CPUs not required |
| small | 488 MB | good general balance |
| large-v3-turbo (q5_0) | 574 MB | recommended — best speed/accuracy |
| medium q5_0 / large-v3 q5_0 | 539 MB – 1.1 GB | maximum accuracy |
NVIDIA GPU? Switch Settings → Compute to CUDA for a much faster engine build.
- Traditional Chinese output: pick Settings → Transcription → Chinese output script → Force Traditional for a guaranteed script (OpenCC); a vocabulary hint like
以下是繁體中文的逐字稿:further improves word choice. - Tap to lock: quick-tap the hotkey to keep recording hands-free; press it again to finish.
Esccancels. - AI features: install Ollama,
ollama pull qwen3:4b, then enable AI in Settings with the default base URLhttp://localhost:11434/v1.
- Electron UI; no heavyweight frameworks — plain HTML/CSS/JS.
- uiohook-napi for the global push-to-talk hook (prebuilt, no compiler needed).
- Mic/system audio captured via WebAudio at 16 kHz mono, encoded to WAV.
- whisper.cpp
whisper-serverkept warm for instant dictation;whisper-clistreams long files segment-by-segment. - Text injection via Win32
SendInput(Ctrl+V paste with clipboard restore, or per-character Unicode typing) through a tiny persistent PowerShell helper — no native module compilation anywhere. - Notes are one JSON file each in
%APPDATA%\WhisperPress\notes.
Your audio is processed in-memory and (optionally) stored only on your disk. The app talks to the network exclusively to download engine/model files at setup, and — only if you enable AI features — to the endpoint you configure.
- SenseVoice / Parakeet engines (sherpa-onnx) for even faster CJK transcription
- Streaming (real-time) dictation preview
- VAD-based auto-stop
- Per-app vocabulary profiles
- Installer code signing
