Name
voxi — standalone Linux voice input, continuous eager sentence streaming, and desktop typing engine
Synopsis
voxi command [subcommand] [flags]
voxi mode [batch|streaming|eager]
voxi record {toggle|start|stop|status}
voxi eager [--type] [--history] [--daemon] [--model name] [flags...]
voxi monitor [-w|--watch] [-i seconds] [-s sections]
voxi bench [--models list] [--backends cpu,gpu] [--record] [--file wav] [--json path]
voxi history {list|clear|copy ID|retype ID}
voxi config {get|set} type-delay-ms [MS]
voxi daemon modifier-service [--state-file path] [--interval dur]
Commands
- mode [batch|streaming|eager]
- Show the active voice-input mode, or switch to one of the three transcription strategies. With no argument, prints the current mode.
- record {toggle|start|stop|status}
- Control an active dictation recording session out-of-band, e.g. from a desktop hotkey or the GNOME extension's panel toggle.
- eager [flags]
- Run continuous eager sentence streaming dictation. Segments speech on pauses and transcribes phrases in real-time.
- monitor [-w|--watch] [-i seconds] [-s sections]
- Print or live-refresh a btop-style report covering transcription latency, audio RMS meters, CPU/GPU loads, and daemon health. Aliases: top, stats, resources.
- bench [flags]
- Benchmark transcription speed (RTF & speedup) for models declared in
spec/models.yamlacross cpu and gpu backends against standard reference samples. - history {list|clear|copy ID|retype ID}
- Inspect and reuse local dictation transcripts. copy places text onto the clipboard; retype injects it directly into the active window.
- config {get|set} type-delay-ms [MS]
- Read or change typing speed in voxtype configuration to adjust keystroke pacing for legacy or latency-sensitive applications.
- daemon modifier-service [flags]
- Run the evdev modifier monitoring service directly (normally managed via voxi-modifierd system service).
Eager Options
- --threshold N
- Audio RMS energy threshold to trigger speech detection (default: 150).
- --silence ms
- Silence pause duration required to finalize a phrase utterance chunk (default: 800ms).
- --pre-roll ms
- Pre-speech circular buffer duration, preserving initial phonemes from clipping (default: 500ms).
- --min-speech ms
- Minimum speech duration to accept as a valid utterance rather than discarding as background noise (default: 200ms).
- --max-window ms
- Maximum window length before forcing transcription chunking even without a natural pause (default: 8000ms).
- --type
- Directly inject transcribed sentences into the active window via dotool(1).
- --history
- Log transcribed utterances into the local dictation history store.
- --daemon
- Run as a background daemon responding to record toggle controls.
- --model name
- Whisper model specification to load (default:
small.en, with automaticbase.enor CPU fallback).
Modifier Gating Architecture
voxi-modifierd reads physical modifier key states directly from the Linux kernel
via evdev's EVIOCGKEY, completely independent of compositor or window manager events.
When a modifier such as Super, Ctrl, Alt, or Shift is physically depressed,
voxi buffers typed output and flushes it immediately upon release (sub-10ns gating).
This prevents accidental window close commands or shortcut collisions during push-to-talk dictation while strictly ensuring zero non-modifier keylogging.