Press a key.
One hotkey starts dictation. It works in every app.
v0.9.7 · Rust · GPLv3
Speech to text for Linux.
Press a key, speak, and your words appear in the app you are using.
It all happens on your own computer. No cloud. No tracking.
One hotkey starts dictation. It works in every app.
Talk the way you normally do. Your voice is recorded on your own computer.
Whisper turns your speech into text, on your computer.
Your words appear where your cursor is while you speak.
The speech recognition is done by whisper.cpp. Nothing leaves your computer.
Press your shortcut anywhere and speak. Your words appear in the window you are working in as you talk, like dictation on a phone, and the last few are corrected as it hears more. The shortcut's own keys are kept out of it.
Open a WAV, MP3, OGG, M4A, OPUS, FLAC or MP4 file and get a transcript with time stamps that you can search.
Save a transcript as TXT, SRT, VTT or CSV: plain text for notes, subtitles for video, a table for analysis.
The language is detected again for each sentence, so you can switch language from one sentence to the next. Tell it which languages you speak and it gets them right even with an accent.
Paragraphs, capital letters and punctuation are cleaned up for you. If you turn it on, a language model on your own computer polishes the text further.
An NVIDIA graphics card speeds up transcription (CUDA) when you build Linux Whisper with GPU support. Without one, the processor does the work.
Everything is processed on your computer. No account, no telemetry, no cloud.
On Wayland and on X11: GNOME, KDE Plasma, Sway and other desktops.
Install what Linux Whisper needs. Pick the block for your system. Building needs Rust 1.89 or newer.
# Build tools, and the GTK4, libadwaita and sound libraries sudo apt install build-essential cmake pkg-config git curl \ libgtk-4-dev libadwaita-1-dev libasound2-dev # Pasting the text sudo apt install wl-clipboard xdotool wtype # The hotkey: add yourself to the "input" group, then log out and back in sudo usermod -aG input $USER # Rust (the version in apt is too old) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh . "$HOME/.cargo/env"
sudo dnf install gcc gcc-c++ cmake pkgconf-pkg-config git rust cargo \ gtk4-devel libadwaita-devel alsa-lib-devel wl-clipboard xdotool wtype sudo usermod -aG input $USER # then log out and back in
sudo pacman -S --needed base-devel cmake git rust gtk4 libadwaita alsa-lib \ wl-clipboard xdotool wtype sudo usermod -aG input $USER # then log out and back in
Download the latest .deb package or the tarball from the releases page. These run on the processor; for an NVIDIA graphics card, build from the source. From the tarball, run ./install.sh in the extracted folder.
Download the code and build it:
git clone https://github.com/kwap/linux-whisper.git cd linux-whisper cargo build --release
Install it for everyone on the computer. It asks for your password:
./build-aux/install.sh
This puts the program in /usr/local, adds it to the applications menu, and adds the rule that lets it paste text on GNOME and KDE and keep its shortcut out of your apps. To remove it again, run ./build-aux/uninstall.sh.
Or let just do both:
just release just install
Install the CUDA toolkit, then build with GPU support:
cargo build --release --features cuda
If nvcc refuses your compiler version (CUDA 13 with GCC 16 on Fedora 44, for example), install gcc15-c++ and build with NVCC_CCBIN=/usr/bin/g++-15 in front of the command.
Linux Whisper asks to download a Whisper model. You can choose another model size at any time, in Preferences or in the window.
Press Super+Shift+Space to start speaking and again to stop. To use other keys, click the shortcut in Preferences and press the ones you want. Your words appear where your cursor is as you speak, and when you stop, the text is on the clipboard too.
If you speak more than one language, tick them in Preferences under Languages You Speak. Switching language between sentences works best with the Small model or larger.
On GNOME there is no tray icon unless you add the AppIndicator extension, so Linux Whisper opens its window instead. Closing the window keeps it running, so the hotkey keeps working.
A security audit covered all seven crates of the code and the build pipeline. It found the project clean and safe to distribute.
There is no unsafe block anywhere in the code. Whisper is called through the safe whisper-rs bindings.
No telemetry, analytics or tracking. The only download is the model, over HTTPS from Hugging Face. Your transcripts never leave your computer.
A downloaded model is compared with its known SHA-256 hash. A damaged or altered file is rejected.
Other programs are started with safe arguments and get their input through a pipe. What you say or type is never put into a shell command.
The hotkey listener watches only for the shortcut you set, and whether a key like Ctrl is held, so dictated words are not typed as shortcuts. To keep the shortcut out of your apps it passes every other key straight on, and it never records, stores or sends any of them.
Every build step on GitHub is pinned to an exact commit and checked. No unpinned code from others.
The audit looked for: back doors, data leaving the computer, stolen credentials, misuse of files, gaining extra rights, unsafe calls into other code, command injection, script injection (XSS), the supply chain of the dependencies, and the build pipeline.