Audio version — Estimated duration: 1 min 53 sec
Whisper Dictate
Whisper Dictate is a push-to-talk speech-to-text daemon for Linux desktops running Wayland.
The idea is simple: you hold a hotkey (like Right Alt), speak into your microphone, and when you release the key, whatever you said is automatically transcribed and typed into whatever application is currently focused — a text editor, browser, terminal, chat app, anywhere.
It runs 100% locally on your machine using OpenAI’s Whisper model. No data ever leaves your computer.
The Problem It Solves
On Windows, built-in speech-to-text is a system-level feature that works everywhere. On Linux (especially Wayland), there isn’t a comparable out-of-the-box solution. Existing tools are either cloud-dependent, X11-only, or require complex setup that doesn’t integrate well with a pure Wayland environment.
Whisper Dictate fills that gap with a single Python script and minimal dependencies.
How It Works in 30 Seconds
- You press and hold Right Alt
- Your microphone starts recording
- As you keep speaking, partial transcriptions appear in the terminal (so you can see it working)
- When you release Right Alt, the full audio is transcribed and automatically typed into your focused window
- Desktop popups keep you informed of the status
Quick Start
git clone https://github.com/prathmeshnik/Whisper-Dictate.git
cd Whisper-Dictate
python3 -m venv .venv && source .venv/bin/activate
pip install evdev faster-whisper sounddevice numpy
sudo usermod -aG input $USER # log out and back in
python whisper-dictate-v2.pyDocumentation
- overview — What are the main parts and how do they connect?
- data-flow — Step-by-step walkthrough from key press to text appearing on screen
- threading — How threading works and what race conditions were fixed
- components — In-depth explanation of each subsystem
- variables — All settings you can change
- common-issues — Common problems and their solutions