@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user