Native speech-to-text for Linux - Fast, accurate and private system-wide dictation
instant performance | Cohere / Parakeet / Whisper / Gemini / 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 Gemini, 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.
If you want, compute credits from opub.dev are always welcome!
Built with ❤️ in 🇨🇦