38 lines
1.4 KiB
Markdown
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.
|