-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Voice Input is a resident, agent-aware dictation service for Omarchy, Hyprland, and Wayland. It combines Qwen realtime ASR, an optional full-audio final pass, conservative LLM cleanup, Pi/Codex terminology context, a click-through Quickshell HUD, and on-demand Quickshell Settings.
This page is an index. For the short project introduction, see the repository README.
| Goal | Page |
|---|---|
| Install from a fresh clone | Installation |
| Understand every TOML option | Configuration |
| See the capture, ASR, refinement, and output pipeline | Architecture |
| Enable context from the Pi/Codex session focused at dictation stop | Agent Context |
| Add Hyprland, Quickshell, and Waybar integration | Desktop Integration |
| Review what leaves the machine | Security and Privacy |
| Diagnose a failure | Troubleshooting |
| Build, test, package, or contribute | Development |
Voice Input is currently designed around a Linux graphical user session with Hyprland and Wayland. The standard installation uses two systemd user services:
-
voice-input.serviceruns the Rust daemon. -
voice-input-hud.servicekeeps the Quickshell HUD resident fromassets/quickshell.
Settings is a separate, on-demand Quickshell configuration from assets/quickshell-settings; it is a regular floating window, not a third service.
The public configuration starts in local-ASR mode and points explicitly to /usr/bin/voxtype. Alibaba Qwen realtime ASR, Qwen full-audio final ASR, LLM refinement, agent context, and microphone pre-roll are opt-in.
voice-input record toggle
voice-input record cancel
voice-input status
voice-input status --follow --format json --extended
voice-input settings
voice-input setup model
voice-input llm testService checks:
systemctl --user status voice-input.service voice-input-hud.service
journalctl --user -u voice-input.service -u voice-input-hud.service -b- Qwen realtime ASR supplies partial and final text; Server VAD also controls speech activity.
- The optional final pass uploads the complete temporary WAV to the configured Alibaba compatible endpoint and replaces realtime text when successful.
- Recording stops and finalizes automatically at
audio.max_duration_secs(five minutes by default), on both dedicated and shared pre-roll capture paths. - Realtime audio delivery is bounded and nonblocking. If the remote stream falls behind, capture continues and the complete recording is recovered through the enabled final pass or local fallback instead of trusting incomplete remote text.
- LLM refinement fails open to ASR text. Its contextual attempt and any transcript-only retry share one budget: 15 seconds by default and never more than 30 seconds.
- Focused Pi/Codex context is optional, terminology-only, redacted, validated, and capped; Pi/Codex destinations use faithful compact Markdown even when session context is disabled.
- Every transcript uses clipboard paste with restoration:
wl-copyplus Hyprlandsendshortcuton Wayland, orxclipplusxdotoolon XWayland. - The Quickshell HUD reads status and configured visibility/geometry from
state.json, plus waveform frames from a separate Unix socket, so visual updates do not define ASR packet timing. Its integrated bottom row shows the active stage and effective recording time without counting arming or processing delays. -
voice-input settingsactivates an existing Settings window or starts one. QML exchanges versioned NDJSON with a Rust child backend; Rust alone validates and atomically writes configuration and credentials.
Voice Input is an independent community project. It is not affiliated with or endorsed by Omarchy, Alibaba, OpenAI, OpenRouter, Pi, Codex, or Voxtype.
Next: Installation · Architecture · Troubleshooting
English Home · 简体中文首页 · Source repository · MIT License
Voice Input is an independent community project. HUD and Settings require Quickshell 0.3+. Review Security and Privacy before enabling remote ASR, LLM refinement, pre-roll, agent context, or replacing credentials in Settings.
Voice Input 是独立的社区项目。HUD 和 Settings 需要 Quickshell 0.3 或更高版本。启用远程 ASR、LLM refinement、pre-roll、Agent 上下文,或者在 Settings 中替换 credential 前,请阅读安全与隐私。