From 0651dd13efdfc40a1651d41963f2b0895ea8200f Mon Sep 17 00:00:00 2001 From: Jeena Date: Tue, 15 Sep 2026 08:32:02 +0900 Subject: [PATCH] docs: correct whisrs dependencies and describe hold-to-talk wtype is not actually used by whisrs: injection happens through the Wayland virtual-keyboard protocol with a uinput fallback, so listing wtype as a dependency would send fresh installs down the wrong path. pipewire-alsa on the other hand is essential and was missing: whisrs captures through raw ALSA, and without the PipeWire bridge the default PCM is the silent headset-jack mic. Also document the hold-to-talk binding, the [audio] device setting, and the local rebuild (-march=native plus the vulkan feature) that moved decoding to the iGPU, since the stock AUR build is far too slow for dictation. --- README.md | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index edfc500..3ea00c9 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,10 @@ You also need to install all the dependencies: portal startup script falls back to launching the portals manually.) - fcitx5 - fcitx5-hangul -- wtype (types the transcribed text) +- pipewire-alsa (whisrs captures audio via raw ALSA; without it the default + PCM is the headset-jack mic, which is silent when nothing is plugged in) +- vulkan-intel and vulkan-icd-loader (iGPU decode; already standard on systems + with Intel graphics set up for Vulkan) - whisrs-git (AUR; voice dictation daemon, see below) There are probably more, I will update the list next time I'm @@ -116,15 +119,25 @@ Voice dictation =============== The Copilot key (on newer laptops this replaced the right Ctrl key; it -sends SUPER+SHIFT+F23) toggles voice dictation. Press it once to start -recording and again to stop. whisrs transcribes locally with a -whisper.cpp model and types the text at the cursor via wtype, in any -window, including terminals running the dockerized agent harnesses. +sends SUPER+SHIFT+F23) toggles voice dictation. Hold it to record and +release to transcribe: one whisrs toggle fires on press, another on +release. whisrs transcribes locally with a whisper.cpp model and types +the text at the cursor in any window, including terminals running the +dockerized agent harnesses. Text injection uses the Wayland +virtual-keyboard protocol on Hyprland, with a uinput fallback that the +package's udev rule grants access to. -The config lives in ~/.config/whisrs/config.toml and the model in +The config lives in ~/.config/whisrs/config.toml (set [audio] device = +"pipewire" so capture goes through PipeWire) and the model in ~/.local/share/whisrs/models/. The daemon runs as the systemd user service whisrs.service. +The stock AUR build decodes on the CPU with generic -march flags, which +makes dictation take around five seconds. On this machine the package +is rebuilt locally with -march=native plus the vulkan cargo feature so +decoding runs on the Intel iGPU instead; that drops latency to roughly +a second. Re-apply those two PKGBUILD edits after AUR updates. + License =======