Local, no-cloud push-to-talk dictation for macOS and Linux. Hold a key, speak, release — the transcription appears in whatever text field is focused. Runs entirely on-device via NVIDIA Parakeet-TDT 0.6B v3 (INT8 ONNX) — no cloud, no API keys, no telemetry. ~150 ms for a 4-second utterance on a modern laptop CPU (~50× faster than real-time, measured on M2 Max).
- Download
utter-VERSION-macos-arm64.dmgfrom the latest release. Open it, dragutter.appto/Applications. - Fetch the speech model (~650 MB, one-time):
curl -fsSL https://raw.githubusercontent.com/jguice/utter/main/scripts/download-model.sh | bash - Launch
utter.app. A first-run window walks you through three permission prompts (Microphone, Input Monitoring, Accessibility). The menu-bar icon appears once all three land. - Hold Right Cmd (⌘), speak, release. Text pastes into your focused window.
Change the PTT key: open Terminal, run /Applications/utter.app/Contents/MacOS/utter set-key, press and hold the key you want, release. Pick Quit utter from the menu-bar icon and relaunch the app to apply.
curl -fsSL https://raw.githubusercontent.com/jguice/utter/main/scripts/install-release.sh | bashInstalls the matching .rpm / .deb, fetches the model, and starts the user services. Hold Right Cmd / Right Super (rightmeta), speak, release.
Change the PTT key: utter set-key, press the key you want, release. The watcher restarts automatically.
- Install — requirements, manual package install, from source, verify.
- Configuration —
config.toml, env vars, PTT-key aliases, recording indicator. - Architecture — daemon/watcher on Linux, single-process on macOS.
- Troubleshooting
- Uninstall
- AGENTS.md — notes for coding agents running utter operations.
MIT for the code. Parakeet-TDT 0.6B v3 is CC-BY-4.0 (NVIDIA; model card; ONNX conversion by Ilya Stupakov). Inference via transcribe-rs (MIT). Full attribution in NOTICE. Starter contribution ideas in BACKLOG.md.