Files
gnome-jarvis/docs/voice-acceptance.md
T
snxraven f26204505e
Rolling release / release (push) Successful in 7m21s
Updates
2026-09-12 09:40:42 -04:00

30 lines
1.5 KiB
Markdown

# 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`, 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.