Files
gnome-jarvis/docs/voice-acceptance.md
T
snxraven a097adf4eb
Rolling release / release (push) Successful in 8m31s
Updates
2026-09-13 22:24:14 -04:00

1.5 KiB

Phase 4 voice acceptance

Run npm run voice-doctor in the target GNOME session. Fresh installs use the built-in CPU detector (jarvis-wake-bridge). To use openWakeWord or sherpa-onnx instead, set wakeCommand or JARVIS_WAKE_COMMAND to a program that receives raw 16 kHz mono PCM on stdin and emits one detected phrase per line on stdout. No cloud wake service is supported.

The capture and playback nodes are both named Jarvis, so they can be routed in Helvum or qpwgraph. The loop gates capture while TTS is active and for 400ms after playback. Runtime counters are available from the VoiceLoop.metrics snapshot: wake accepts, rejected utterances, feedback drops, utterances, and replies.

Acceptance cases:

  1. Hold push-to-talk, say a question, release, and verify one final transcript.
  2. Say the configured wake phrase, pause, and verify ARMED → LISTENING → THINKING → SPEAKING → LISTENING.
  3. Play a 20-second reply beside the microphone and verify feedbackDrops increases while no new transcript is submitted.
  4. Say cancel, go to sleep, repeat that, take the wheel, use the camera, or look at my screen and verify the fast path handles the command before the harness.
  5. Use D-Bus Ask() while the microphone is unavailable to exercise typed fallback.

Wake false accepts and false rejects should be measured over 50 utterances in quiet, music, and kitchen-noise conditions and recorded outside the default privacy log; raw audio is never written by the daemon.