It’s written in Go, uses PipeWire for audio, and talks directly to the compositor. The workflow is simple:
press key → start recording
press again → stop and inject text
Notifications show recording/transcribing states, and it works with multiple backends — currently OpenAI Whisper, with whisper.cpp (local/offline) in progress.
Everything runs through a lightweight daemon with IPC over a unix socket. Text injection uses wl-clipboard + wtype with clipboard restore fallback.
Install (Arch/AUR):
yay -S hyprvoice-bin systemctl --user enable --now hyprvoice.service
Then add something like this to Hyprland:
bind = SUPER, R, exec, hyprvoice toggle
Repo: https://github.com/leonardotrapani/hyprvoice
It’s beta but fully usable. I’d love feedback, especially from people running Wayland full-time or maintaining compositors.
mic-kul•3mo ago
trapani•3mo ago
So we have already have two ways to "inject"
One is clipboard, one is injecting with wtype, and the other is fallback, meaning first injecting, and if it doesn't work go with clipboard (all configurable).
About the local models, I'll probably work on it soon! Even with pre installers etc...