Files
dev/docs/03 wrk/tasks/0003-whisper-dictation.md

38 lines
1.4 KiB
Markdown

---
aliases:
- "0003"
- Whisper dictation
date-created: 2026-10-14 16:31
date-modified: 2026-10-14 16:33
status: open
area: "[[productivity]]"
blocked-by:
- "[[0002-nixos-refactor]]"
subtasks: []
---
# Whisper dictation
Provide reliable local dictation on Zeus.
## Prototype findings
- `hyprwhspr-rs` provides PipeWire capture, local `whisper.cpp` transcription, clipboard copying, and Hyprland integration.
- The prototype used `small.en` from `~/dwn/ggml-small.en.bin`.
- The initial CPU prototype transcribed accurately but added about 2.3 seconds after a 2.9-second recording.
- Vulkan acceleration uses `whisper-cpp-vulkan` and `gpu_layers = 999`.
- `SUPER + ALT + D` starts recording on press and stops recording on release.
- Hyprland Lua represents release bindings with `hl.bind(..., { release = true })`.
- `hyprwhspr-rs` uses Hyprland's removed `sendshortcut` dispatcher for automatic paste.
- Its virtual-keyboard fallback can drop modifiers and insert only `v`.
- Treat the prototype configuration as disposable because it no longer works reliably.
## Completion
- [ ] Choose a maintained local speech-to-text backend.
- [ ] Record microphone audio through PipeWire.
- [ ] Transcribe locally with GPU acceleration when available.
- [ ] Insert transcribed text reliably into the focused application.
- [ ] Copy transcribed text to the clipboard.
- [ ] Test dictation with representative technical speech.