Native speech-to-text for Linux - Fast, accurate and private system-wide dictation
instant performance | Cohere / Parakeet / Whisper / 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
- Local, very fast defaults - Instant, private and accurate performance via in-memory models
- Latest models - Cohere Transcribe? Turbo-v3? Parakeet TDT V3? 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
- Translation - Translate non-English to English with a single config
- REST API or websockets - Secure, fast wires to top clouds like ElevenLabs
- Themed visualizer - Visualizes your voice, will automatch Omarchy theme
- Word overides 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 system volume on record (optional)
-
Linux with systemd (Arch, Debian, Ubuntu, Fedora, openSUSE, etc.)
-
Requires a Wayland session (GNOME, KDE Plasma Wayland, Sway, Hyprland)
-
Waybar (optional, for status bar)
-
gtk4 (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 auto installer, or perform your own:
# Run interactive setup
hyprwhspr setupThe setup will walk you through the process:
- ✅ Configure transcription backend (Cohere Transcribe, Parakeet TDT V3, Whisper, REST API, or Realtime WebSocket)
- ✅ Download models
- ✅ Configure themed visualizer for maximum coolness (optional)
- ✅ Configure Waybar integration (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!
Any snags, please create an issue.
# Update via your AUR helper
yay -Syu hyprwhspr
# If needed, re-run setup (idempotent)
hyprwhspr setuphyprwhspr can run on any Linux distribution with systemd.
# Clone the repo
git clone https://github.com/goodroot/hyprwhspr.git
cd hyprwhspr
# Install dependencies for your distro (Ubuntu, Debian, Fedora, openSUSE)
./scripts/install-deps.sh
# Run interactive setup
./bin/hyprwhspr setupAfter setup, log out and back in for group permissions, then:
hyprwhspr statusNon-Arch distro support is new - please report any snags!
After installation, use the hyprwhspr CLI to manage your installation:
hyprwhspr setup- Interactive initial setuphyprwhspr config- Manage configuration (show/show --all/edit)hyprwhspr model- Manage models (download/list/unload/reload)hyprwhspr status- Overall status checkhyprwhspr validate- Validate installationhyprwhspr test- Test microphone and transcription end-to-endhyprwhspr waybar- Manage Waybar integrationhyprwhspr systemd- Manage systemd serviceshyprwhspr record- External hotkey control (start/stop/toggle)
For the full command reference, see the Configuration guide.
For full configuration and customization, see the Configuration guide.
- Minimal configuration
- Recording modes -- toggle, push-to-talk, auto, long-form
- Custom hotkeys -- key support, secondary shortcuts, Hyprland bindings
- Backends -- Cohere Transcribe, Parakeet, Whisper, REST API, Realtime WebSocket
- GPU resource management -- unload/reload model to free VRAM
- Audio and visual feedback -- visualizer, audio feedback, ducking
- Text processing -- word overrides, filler words, symbol replacements
- Paste and clipboard behavior -- paste mode, non-QWERTY, auto-submit
- Integrations -- Waybar, Hyprland bindings, external hotkey systems
- Troubleshooting
- Check logs:
journalctl --user -u hyprwhspr.servicejournalctl --user -u ydotool.service - Verify permissions: Run the permissions fix script
- Test components: Check ydotool, audio devices, whisper.cpp
- Report issues: Create an issue - logging info helpful!
MIT License - see LICENSE file.
Create an issue, happy to help!
For pull requests, also best to start with an issue.
Built with ❤️ in 🇨🇦