Updates
Rolling release / release (push) Successful in 7m21s

This commit is contained in:
2026-09-12 09:40:42 -04:00
parent a4073b9020
commit f26204505e
23 changed files with 531 additions and 114 deletions
+15 -10
View File
@@ -31,9 +31,12 @@ stateDiagram-v2
SLEEPING --> LISTENING: wake phrase
```
The wake stage is intentionally separate from QVAC ASR. Configure a local
openWakeWord or sherpa-onnx bridge through `JARVIS_WAKE_COMMAND`; no cloud wake
service is supported. During TTS, capture submission is gated and a 300500 ms
The wake stage is intentionally separate from QVAC ASR. A built-in CPU detector
listens for hey jarvis” (and aliases) without loading Whisper. You can replace
it with a local openWakeWord or sherpa-onnx bridge through `wakeCommand` /
`JARVIS_WAKE_COMMAND`; no cloud wake service is supported. Microphone audio is
still sent to the wake detector while Jarvis is sleeping so the phrase can
restore listening. During TTS, capture submission is gated and a 300500 ms
cooldown prevents playback from becoming a new utterance. Trash transcripts and
very short fragments are discarded.
@@ -45,16 +48,18 @@ replies. Raw audio is not persisted by default.
## Release voice readiness
ASR and TTS initialize independently in the same QVAC runtime. Voice models do
not require the chat model to load first. The runtime status includes separate
`asr`, `tts`, `capture`, and `wake` flags plus per-component errors. Without a
wake bridge, use Hold Talk (mouse, Space, or Enter) in the GNOME overlay.
ASR, TTS, and the chat model stay unloaded until wake, Hold Talk, or a typed
question. Idle sleep unloads them again so GPU memory is freed; only PipeWire
capture and the CPU wake detector stay resident. Runtime status includes
separate `asr`, `tts`, `capture`, and `wake` flags plus per-component errors.
The tray shows **WAKE ON** when the detector is alive. Hold Talk (mouse, Space,
or Enter) still works in the GNOME overlay.
The Control Center's wake command and spoken-reply setting are read from
`~/.config/jarvis/config.json` on daemon startup. Restart `jarvisd.service` after
changing them. `JARVIS_WAKE_COMMAND` overrides the saved command. A wake command
must consume 16 kHz mono signed PCM and emit detected phrases on stdout; simply
setting a phrase does not install a wake detector.
changing them. `JARVIS_WAKE_COMMAND` overrides the saved command. A custom wake
command must consume 16 kHz mono signed PCM and emit detected phrases on stdout.
The default `jarvis-wake-bridge` value selects the built-in CPU detector.
QVAC TTS numeric arrays contain signed 16-bit samples, not bytes. Supertonic
plays at 44.1 kHz. Captured utterances use the non-streaming transcription API