Parakeet Dictation: on-device voice typing for Linux that actually works
A local voice typing app for Linux/Wayland using NVIDIA's Parakeet model. No cloud, no GPU, built-in punctuation.
I've been on a long quest for good voice typing on Linux, and I think I've finally built something that hits the sweet spot. Parakeet Dictation is an on-device voice typing tool for Linux/Wayland that uses NVIDIA's NeMo ASR models via sherpa-onnx — and it produces punctuated, capitalized text without any cloud API calls or GPU.
Why not just use Whisper?
Whisper is great for batch transcription, but it has real drawbacks for live dictation. It doesn't natively handle punctuation (you need separate models or heuristics), it has high latency since it's designed for processing complete audio files, and even whisper-small uses more RAM than Parakeet TDT 0.6B while being less accurate for English. The NeMo model family was specifically designed for production speech pipelines and outputs properly punctuated text natively.
Three model profiles
The app ships with three model profiles to match different hardware. The desktop profile uses Parakeet TDT 0.6B v3 for best accuracy (~2 GB RAM). The laptop profile uses Canary 180M Flash for lightweight use (~500 MB RAM, supports multiple languages). And the streaming profile uses Nemotron Streaming 0.6B for true real-time, lowest-latency dictation where text appears as you speak.
How it works
The app runs as a system tray indicator. TEN VAD detects speech segments in real time, and when you pause speaking, the completed segment gets sent to the ASR model. Transcribed text is then typed into whatever window has focus via wtype (Wayland-native keystroke injection). It supports configurable hotkeys, multiple text input methods, microphone selection, an in-app model manager, and even a night mode that suppresses audio feedback during quiet hours.
I've validated it on Ubuntu 25.04 with KDE Plasma 6 on Wayland. It installs either as a .deb package or runs from source with uv.
If you're a Linux user who's been frustrated by the lack of good native dictation options, give it a try: parakeet-dictation on GitHub
danielrosehill/parakeet-dictation View on GitHub