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

Voice-to-text dictation for Linux

Press a hotkey, speak, and your words appear at the cursor — in any app on Wayland, X11, Hyprland, Sway, Niri, GNOME, or KDE. Cloud and fully offline backends. Fast, private, open source.

crates.io version AUR version MIT License

Quick Install

curl -sSL https://y0sif.github.io/whisrs/install.sh | bash

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

Also available via pre-built binary / AUR / cargo / Nix

Features

7 Backends

Groq, Deepgram REST + Streaming, OpenAI REST + Realtime, local whisper.cpp, and a generic ASR sidecar for bring-your-own local models.

Works Everywhere

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

Layout-Aware Typing

uinput + XKB reverse lookup. Respects your keyboard layout, including AltGr and dead-key combinations.

Fully Offline

Local whisper.cpp runs in under 500 MB of RAM with base.en. No API key, no internet, no data leaves your device.

True Streaming

OpenAI Realtime and Deepgram Streaming push text to your cursor while you speak over WebSocket.

Tray + Overlay

Optional system tray icon and bottom-screen recording overlay. Visual feedback wherever you dictate.

Command Mode

Select text, speak an instruction, and an LLM rewrites it in place. Edit by voice instead of by hand.

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
Deepgram Streaming Cloud (WebSocket) True streaming $200 free credit
Deepgram REST Cloud Batch $200 free credit
OpenAI Realtime Cloud (WebSocket) True streaming Paid
OpenAI REST Cloud Batch Paid
Local whisper.cpp Local (CPU/GPU) Sliding window Free
ASR sidecar Local (HTTP) Batch Free (BYO model)

How whisrs Compares

Feature whisrs nerd-dictation Speech Note Wispr Flow
PlatformLinuxLinuxLinuxmacOS, Windows (no Linux)
Wayland supportYes (native)Partial (xdotool)Yes (GUI app)N/A
Offline transcriptionYes (whisper.cpp + sidecar)Yes (Vosk)Yes (multiple)No
Cloud transcriptionGroq, Deepgram, OpenAINoNoProprietary
True streamingYes (OpenAI Realtime, Deepgram)NoNoYes
Keyboard injectionuinput + XKB (layout-aware)xdotoolClipboard pasteNative
Window trackingYes (6 compositors)NoNoNative
ArchitectureDaemon + CLIScriptGUI appGUI app
LicenseMIT (open source)GPL (open source)MPL (open source)Closed source

Supported Environments

Component Support
HyprlandTested by maintainer and community (Arch Linux)
Sway / i3Implemented; additional reports welcome
NiriTested by contributor on Niri 26.04 (CachyOS)
X11 (any WM)Tested by community on Ubuntu 24.04 (Xorg)
GNOME WaylandTested on Ubuntu 24.04 and Arch (overlay via bundled GNOME Shell extension)
KDE WaylandImplemented via D-Bus; reports welcome
AudioPipeWire, PulseAudio, ALSA (auto-detected via cpal)
DistrosConfirmed on Arch Linux and Ubuntu 24.04; any Linux with system dependencies

FAQ

Does whisrs work on Wayland?

Yes. whisrs has native support for Wayland compositors including Hyprland, Sway, Niri, 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 — base.en uses ~388 MB of RAM. No API key, no internet, no audio leaves your device. Run whisrs setup and select Local > whisper.cpp to get started.

What speech recognition backends does whisrs support?

Seven backends: Groq (cloud, free tier), Deepgram REST and Deepgram Streaming (cloud, $200 free credit), OpenAI REST, OpenAI Realtime (cloud, true streaming over WebSocket), local whisper.cpp (offline, CPU/GPU), and a generic ASR sidecar for bring-your-own local models.

Can I use my own local ASR model with whisrs?

Yes. The generic ASR sidecar backend talks to a small local HTTP service that hosts the model. Ready-to-run sidecars are bundled in contrib/asr-sidecars/ for Moonshine, NVIDIA Parakeet, and Microsoft VibeVoice-ASR.

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

Yes. Wispr Flow ships on macOS and Windows but not Linux; Superwhisper is macOS only. whisrs is the open source (MIT) Linux-native equivalent: press a hotkey, speak, and text appears at your cursor. It supports both cloud and fully offline transcription backends.

What Linux distributions does whisrs support?

whisrs works on any Linux distribution with the required system dependencies (alsa-lib, libxkbcommon, clang, cmake). Daily-driven on Arch Linux, with community-confirmed reports on Ubuntu 24.04 (GNOME and Xorg) and CachyOS (Niri). Install via the universal script, AUR, cargo, Nix, or pre-built x86_64 binary tarballs.