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

  1. You press and hold Right Alt
  2. Your microphone starts recording
  3. As you keep speaking, partial transcriptions appear in the terminal (so you can see it working)
  4. When you release Right Alt, the full audio is transcribed and automatically typed into your focused window
  5. 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.py

Documentation

  • 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

5 items under this folder.