Speak it. It lands at the cursor.
mnvoice is dictation you trigger from any window. Alt+Space starts the recording, Alt+Space stops it again, and the words are typed where your cursor already is. Native Rust on Windows, no installer, no window of its own.
Windows x64. Linux and macOS terminal builds also available.
The orb is how mnvoice tells you it is listening. Press it to play a built-in sample. No microphone or recording.
From keypress to keystroke
The whole loop lives in the app, not in a window you have to switch to. There is nothing to click, nothing to paste and nothing to close.
- Press Alt + Space
- A pink orb appears at the bottom of the screen. On Windows the capture path is already warmed up, so it starts immediately.
- Say the sentence
- Audio is streamed to the speech provider you configured. Words appear as they are recognized, typed directly into the focused window.
- Stop
- Press the same key again, or just go quiet for the silence window and mnvoice ends the take for you. Escape throws the recording away.
- Carry on
- Filler words are stripped by default, a trailing space keeps the next sentence tidy, and the app returns to the system tray.
One text file is the whole setup
Put a key next to the executable and it runs on defaults. Everything else is a line you can add when you want it: hotkey, cancel key, orb colour, provider, model, language, vocabulary, silence window. Delete the file and every default comes back.
On Linux and macOS the same file sits beside the terminal build; the key press there is Enter instead of a global hotkey.
Example mnvoice.env, copied from the README defaults:
PROTOCOL=streaming API_KEY=your_api_key_here MODEL=nova-3 LANGUAGE=en HOTKEY=Alt+Space CANCEL_KEY=Escape ORB_COLOR=hot_pink VAD_SILENCE_MS=3000
Where it runs
Windows is the flagship and the full experience. The other two are the same engine with a terminal as its control surface, and their rough edges are stated rather than hidden.
- Windows
- Native Rust on Win32, WASAPI and WinHTTP. Tray icon, global hotkey, the orb, and an updater that verifies the published checksum before it swaps anything.
- Linux
- Terminal-driven dictation: run the binary, press Enter, speak. Typed keys reach X11 and XWayland windows; a native Wayland window receives nothing.
- macOS
- Same terminal flow, and the binary needs Accessibility permission before it can type. Without it the first keystroke fails with an error naming that exact setting.
What happens to your speech
Audio is sent to the endpoint you configure, over TLS, and nothing is written to disk. There is no telemetry, and the clipboard is never touched. The one other call the app makes is the Windows updater checking the GitHub release feed.
- No microphone, no audio and no keystrokes are captured by this website. The sample here is built-in text, and the page asks for nothing.
- Both fonts are hosted here. Cloudflare provides this site's hosting and traffic analytics.
- Read the security notes in the repository: github.com/mnsky-tyan/mnvoice.