__      __| |__ (_)___  _ __ ___
 \ \ /\ / /| '_ \| / __|| '__/ __|
  \ V  V / | | | | \__ \| |  \__ \
   \_/\_/  |_| |_|_|___/|_|  |___/

Voice-to-text dictation for Linux

Press a hotkey, speak, and your words appear at the cursor. Any app, any window manager, any desktop environment.

crates.io version AUR version MIT License

Quick Install

git clone https://github.com/y0sif/whisrs && cd whisrs && ./install.sh

Also available via AUR / cargo / Nix

Features

Multiple Backends

Groq (free tier), OpenAI REST, OpenAI Realtime (true streaming), and local whisper.cpp for offline use.

Works Everywhere

Hyprland, Sway, GNOME, KDE, and any X11 window manager. Text goes to whatever app has focus.

Layout-Aware Typing

Uses uinput + XKB reverse lookup. Respects your keyboard layout and works in any application.

Fully Offline

Local whisper.cpp backend. No API key, no internet, no data leaves your device.

True Streaming

OpenAI Realtime backend streams text to your cursor while you speak via WebSocket.

Daemon + CLI

Lightweight daemon runs in the background. Bind the CLI to any hotkey in your compositor.

Transcription Backends

Backend Type Streaming Cost
Groq Cloud Batch Free tier available
OpenAI Realtime Cloud (WebSocket) True streaming Paid
OpenAI REST Cloud Batch Paid
Local whisper.cpp Local (CPU/GPU) Sliding window Free

How whisrs Compares

Feature whisrs nerd-dictation Speech Note Wispr Flow
PlatformLinuxLinuxLinuxmacOS only
Wayland supportYes (native)Partial (xdotool)Yes (GUI app)N/A
Offline transcriptionYes (whisper.cpp)Yes (VOSK)Yes (multiple)No
Cloud transcriptionGroq, OpenAINoNoProprietary
True streamingYesNoNoYes
Keyboard injectionuinput + XKBxdotoolClipboard pasteNative
Window trackingYes (5 compositors)NoNoNative
ArchitectureDaemon + CLIScriptGUI appGUI app

Supported Environments

Component Support
HyprlandTested, full support
Sway / i3Implemented, needs community testing
X11 (any WM)Implemented, needs community testing
GNOME WaylandLimited (requires window-calls extension)
KDE WaylandImplemented via D-Bus, needs testing
AudioPipeWire, PulseAudio, ALSA (auto-detected)
DistrosAny Linux with system dependencies

FAQ

Does whisrs work on Wayland?

Yes. whisrs has native support for Wayland compositors including Hyprland, Sway, GNOME, and KDE. It uses compositor-specific protocols for window tracking and uinput for keyboard injection, so it does not depend on X11 tools like xdotool.

Can whisrs work offline?

Yes. The local whisper.cpp backend runs transcription entirely on your machine. No API key, no internet connection, and no audio data leaves your device. Run whisrs setup and select the local backend to get started.

What speech recognition backends does whisrs support?

Four backends: Groq (cloud, free tier), OpenAI REST (cloud), OpenAI Realtime (cloud, true streaming over WebSocket), and local whisper.cpp (offline, CPU/GPU). More local backends (Vosk, Parakeet) are planned.

Is whisrs a replacement for Wispr Flow or Superwhisper on Linux?

Yes. Wispr Flow and Superwhisper are macOS-only dictation tools. whisrs brings the same workflow to Linux: press a hotkey, speak, and text appears at your cursor. It supports both cloud and local transcription backends.

What Linux distributions does whisrs support?

whisrs works on any Linux distribution with the required system dependencies (alsa-lib, libxkbcommon, clang, cmake). It has been primarily tested on Arch Linux but also supports Debian/Ubuntu, Fedora, NixOS, and others.