Cloud dictation tools send your audio off-device because running a large speech model on commodity hardware used to be too slow or too memory-hungry to do locally in real time. That's an infrastructure decision, not an accuracy requirement. Since 2023, faster-whisper and int8 quantization have closed the gap enough that a laptop CPU can now transcribe speech about as fast as you speak it.
The industry default of "send audio to our servers" was set when the only models good enough to transcribe conversational speech reliably needed a GPU with real VRAM behind them, the kind you rent by the hour, not the kind sitting idle in a laptop. That constraint shaped a decade of dictation products. It's the reason "voice dictation" and "cloud API" became synonymous even though nothing about turning speech into text inherently requires a network round trip.
Every cloud dictation tool has the same three failure modes baked in. First, latency: your words have to leave the machine, get transcribed somewhere else, and come back, which is fine on good wifi and unusable on a flight or a train. Second, availability: if the vendor's API has an outage โ and every API has outages โ you can't dictate at all, because the local app was never more than a thin client. Third, and the one that gets glossed over, is what actually happens to the audio once it's on their servers.
"We process and discard your audio" is a common claim, and it's usually true in the narrow sense that the raw waveform isn't kept forever. But "processed" audio still transits a third party's infrastructure, gets logged for debugging and abuse detection in the meantime, and is governed by whatever retention and subpoena policy that vendor has today โ which you agreed to by clicking through a terms-of-service update, not by reading it. Discard-after-processing is a promise about what happens after the exposure, not a way of avoiding it.
OpenAI's Whisper models were open-weight from release, but the original implementation was slow on CPU and memory-hungry on GPU. faster-whisper reimplemented inference on top of CTranslate2, and with int8 quantization it runs meaningfully faster on the same hardware while giving up little accuracy for the smaller model sizes (tiny through small). That's the actual unlock: not a smarter model, but a faster, leaner way to run an existing one on hardware you already own.
This is why on-device dictation went from "technically possible but painful" to "workable on a normal Linux desktop" in about two years. You don't need a datacenter GPU. A recent CPU with AVX2, or any consumer GPU, handles the small-to-medium Whisper tiers at usable speed for dictation-length utterances.
Voxtty is built around that shift. Press Alt+D, speak, and voice activity detection decides where your utterance starts and stops; faster-whisper transcribes it entirely on the machine, and the text gets typed into whatever window has focus via ydotool. No audio is captured to send anywhere, because there's nowhere it needs to go โ the model is already local. It runs as a systemd user service, so it starts with your session and doesn't need a background daemon phoning home to stay licensed or updated.
There's one deliberately scoped exception. Voxtty has an opt-in, off-by-default AI cleanup pass that strips filler words and false starts from the transcript. If you turn it on, the already-transcribed text โ never the audio โ goes to the Claude API for that cleanup. The distinction matters: by the time anything leaves your machine, it's already just words, not a recording of your voice that could be replayed, fingerprinted, or misattributed.
On-device transcription is not free of tradeoffs. Whisper's smaller models still struggle more than top-tier cloud STT with heavy accents, cross-talk, and domain-specific jargon โ a hallway conversation about "Kubernetes ingress controllers" is more likely to get mangled locally than by a cloud model trained on a much larger and more frequently updated corpus. Background noise still degrades accuracy, VAD included.
Voxtty's typing mechanism depends on ydotool, which needs a small daemon with root or input-group permissions and currently targets Wayland and X11 differently โ check your distro packages it before assuming zero-setup. The wake-word alternative to Alt+D is still experimental and more prone to false triggers than a physical hotkey. None of this is hidden to make the tool look better than it is; it's the actual state of local speech recognition in mid-2026.
Check whether your distro packages ydotool, and if you're on a laptop, note whether it has an integrated GPU or just a modern CPU โ either is enough to try local dictation. Then dictate one real paragraph of something you'd normally type, filler words and all, and see how much cleanup it actually needs. Try Voxtty free if you want to test that without setting up faster-whisper yourself.
Local-first voice dictation for Linux. Press Alt+D, speak, and your words land in whatever app has focus โ nothing leaves your machine.
Try Voxtty free โ