Updates
Rolling release / release (push) Failing after 1m24s

This commit is contained in:
2026-09-11 19:36:12 -04:00
parent 7604cded2c
commit a78708f8ff
26 changed files with 298 additions and 59 deletions
+36
View File
@@ -42,3 +42,39 @@ very short fragments are discarded.
Run `npm run voice-doctor`, then follow [voice acceptance](voice-acceptance.md).
The daemon metrics cover wake accepts/rejects, feedback drops, utterances, and
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.
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.
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
because local VAD already supplies utterance boundaries.
CI pins the native engines, verifies their registration inside the staged
release, and synthesizes a sentence then transcribes it with Whisper. Voice
models download into a temporary CI cache. Both the archive and Debian package
include the validated Bare runtime and native dependencies. The release gate
requires model download access; it fails rather than publishing an untested
voice bundle. Microphone routing and physical speaker output still require a
local PipeWire session and working hardware.
Run the model roundtrip locally with:
```sh
bash packaging/bare-launch.sh packaging/bare-run.js packaging/voice-model-smoke.js
```
PipeWire capture/playback use `--properties node.name=Jarvis` and `-` for
standard I/O; `pw-cat` does not accept `--name`. A local capture check is
`bash packaging/bare-launch.sh packaging/bare-run.js packaging/pipewire-smoke.js`.
Add `--play` to the model roundtrip to exercise speaker playback as well.