hyprwhspr
Native speech-to-text for Linux - Fast, accurate, private and hackable system-wide dictation
instant performance | Cohere / Parakeet / Whisper / Qwen3-ASR / ElevenLabs / REST API | stylish visuals
Supports Arch, Debian, Ubuntu, Fedora, openSUSE and more
[hyprwhspr.com](https://hyprwhspr.com)
https://github.com/user-attachments/assets/4c223e85-2916-494f-b7b1-766ce1bdc991
- Built for Linux - Native AUR package for Arch, or use Debian/Ubuntu/Fedora/openSUSE/NixOS
- Very fast defaults - Nearly instant and accurate performance via in-memory models
- Offline and private - Transcription never leaves your machine. Cloud APIs are fully optional.
- Latest models - Cohere Transcribe? Orukeet? Parakeet TDT V3? Qwen3-ASR? Latest and greatest
- GPU memory efficient - Limit or zero memory usage easily, more for other local models
- onnx-asr for wild CPU speeds - No GPU? Optimized for great speed on any hardware
- Strong CJK - Qwen3-ASR for Chinese, Japanese and Korean
- Translation - Translate non-English to English with a single config
- REST API or websockets - Secure, fast wires to top clouds like Gemini, ElevenLabs
- Live streaming - Self-host NeMo or Phonon: watch words form, or type as you speak (experimental)
- Themed visualizer - Visualizes your voice, will automatch Omarchy and Noctalia themes
- Word overrides and prompts - Custom hot keys, common words, and more
- Multi-lingual - Great performance in many languages
- Long form mode with saving - Pause, think, resume, pause: submit... Bam!
- Auto-paste anywhere - Instant paste into any active buffer, or even auto enter (optional)
- Audio ducking 🦆 - Reduces or pauses other audio on record (optional)
Why hyprwhspr? There are a lotta dictation apps. This one is built ground-up for performance and stability: your hardware will auto-optimize to the best possible accuracy and speed. Actively maintained, at the leading edge, fully featured, strictly offline unless you use an API, and works on both Wayland and X11.
Quick start
Prerequisites
- Linux with systemd (Arch, Debian, Ubuntu, Fedora, openSUSE, NixOS etc.)
- Python 3.11-3.14
- Wayland or X11 session (GNOME, KDE Plasma, Sway, Hyprland, Niri, etc.).
- Clipboard/window tools:
wl-clipboardandwtypeon Waylandpython-pyperclip,xclip,xdotool, andxpropon X11 (installed by the dependency script)
- Waybar or Noctalia (optional, for status bar)
- gtk4 + PyCairo (optional, for visualizer)
- NVIDIA GPU (optional, for CUDA acceleration)
- AMD/Intel GPU / APU (optional, for Vulkan acceleration)
Install
Arch Linux
On the AUR:
# Install for stable
yay -S hyprwhspr
# Or install for bleeding edge
yay -S hyprwhspr-git
Then run the interactive setup:
hyprwhspr setup
Ubuntu, Debian, Fedora, openSUSE
curl -fsSL https://hyprwhspr.com/install.sh | bash
Installs dependencies, clones to ~/.local/share/hyprwhspr/src, and walks you through setup.
Manual install
# Clone the repo
git clone https://github.com/goodroot/hyprwhspr.git
cd hyprwhspr
# Install dependencies for your distro
./scripts/install-deps.sh
# Run interactive setup
./bin/hyprwhspr setup
Nix and NixOS (beta)
Use the Nix flake and NixOS module for x86_64 Linux with Whisper.cpp CPU transcription.
We'd appreciate issue reports and requests!
Setup then walks you through:
- ✅ Configure transcription backend (Cohere Transcribe, Parakeet TDT V3, Whisper, Qwen3-ASR, REST API, or Realtime WebSocket)
- ✅ Download models
- ✅ Configure themed visualizer for maximum coolness (optional)
- ✅ Configure bar integration for your shell -- Waybar or Noctalia (optional)
- ✅ Set up systemd user services
- ✅ Set up permissions
- ✅ Validate installation
First use
Ensure your microphone of choice is available in audio settings!
- Log out and back in (for group permissions)
- Press
Super+Alt+Dto start dictation - beep! - Speak naturally
- Press
Super+Alt+Dagain to stop dictation - boop! - Bam! Text appears in active buffer!
What you'll see while recording: on layer-shell compositors (Hyprland, Sway, niri, KDE) the animated mic OSD overlay -- on Noctalia / Omarchy it auto-matches your live shell theme; on GNOME/Mutter you may need to make additional changes. See Themed visualizer for details.
Any snags, please create an issue.
Updating
# Arch: update via your AUR helper
yay -Syu hyprwhspr
# Managed release installs
hyprwhspr update
# Legacy bootstrap installs: re-run the installer
curl -fsSL https://hyprwhspr.com/install.sh | bash
# Either way, setup is idempotent if you need to re-run it
hyprwhspr setup
Managed release rollout and recovery: installation guide.
CLI commands
hyprwhspr setup- Interactive initial setuphyprwhspr update [--version VERSION]- Update a managed releasehyprwhspr install status- Inspect managed installation statehyprwhspr install repair [--python PATH]- Repair a managed installationhyprwhspr config- Manage configuration (show/show --all/edit/secondary-shortcut)hyprwhspr model- Manage models (download/list/status/unload/reload)hyprwhspr record- External hotkey control (start/stop/toggle/cancel/capture/status/copy-last/paste-last/clear-last)hyprwhspr transcribe INPUT- Transcribe a WAV or MP3 file to stdout (use-o PATHto write a file)hyprwhspr status- Overall status checkhyprwhspr validate- Validate installationhyprwhspr test- Test microphone and transcription end-to-endhyprwhspr keyboard- List/test keyboard devices (list/test)hyprwhspr waybar/hyprwhspr noctalia- Manage bar integrationhyprwhspr mic-osd- Enable/disable the mic OSD (enable/disable/status)hyprwhspr systemd- Manage systemd serviceshyprwhspr uninstall- Remove hyprwhspr; preserve settings, credentials and modelshyprwhspr uninstall --purge- Also remove recorded personal files (--keep-modelspreserves models)
Documentation
All of it at hyprwhspr.com/docs, or here:
- Configuration -- the config file, validation, minimal setup
- Recording modes · Hotkeys · Paste · Text processing · Feedback
- Backends · Memory -- which model, and freeing it
- Troubleshooting
Getting help
- Check logs:
journalctl --user -u hyprwhspr.service - Troubleshooting covers common issues
- Still stuck? Create an issue - logs helpful!
License
MIT License - see LICENSE file.
Contributing
Start with an issue - happy to help! Pull requests best begin there too.
Upvotes on the AUR and/or GitHub stars are also a nice way to show appreciation.
Built with ❤️ in 🇨🇦