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
531586476-2570002a-391b-4e73-b449-2c6b99ea1303.mp4
- Built for Linux - Native AUR package for Arch, or use Debian/Ubuntu/Fedora/openSUSE
- 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.
- Linux with systemd (Arch, Debian, Ubuntu, Fedora, openSUSE, 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)
On the AUR:
# Install for stable
yay -S hyprwhspr
# Or install for bleeding edge
yay -S hyprwhspr-gitThen run the interactive setup:
hyprwhspr setupcurl -fsSL https://hyprwhspr.com/install.sh | bashInstalls 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 setupSetup 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
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.
# 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 setupManaged release rollout and recovery: installation guide.
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)
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
- Check logs:
journalctl --user -u hyprwhspr.service - Troubleshooting covers common issues
- Still stuck? Create an issue - logs helpful!
MIT License - see LICENSE file.
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 🇨🇦