This commit is contained in:
2026-09-11 14:09:04 -04:00
parent 68d7a40605
commit 5c6c94713a
16 changed files with 539 additions and 16 deletions
+20 -11
View File
@@ -159,19 +159,28 @@ runtime.
## Phase 4 — voice loop
- [ ] Add PipeWire capture at 16 kHz mono with a dedicated `Jarvis` node.
- [ ] Add wake-word engine behind a `WakeEngine` interface.
- [ ] Add VAD segmentation and the documented QVAC ASR stream.
- [ ] Implement `ARMED → LISTENING → THINKING → SPEAKING → LISTENING`.
- [ ] Add transcript filtering, TTS anti-feedback gate, and playback cooldown.
- [ ] Add sentence buffering from streamed harness output into QVAC TTS.
- [ ] Add fast-path cancel, sleep, privacy, dictate, screen, and computer-use
- [x] Add PipeWire capture at 16 kHz mono with a dedicated `Jarvis` node.
- [x] Add wake-word engine behind a `WakeEngine` interface.
- [x] Add VAD segmentation and the documented QVAC ASR stream.
- [x] Implement `ARMED → LISTENING → THINKING → SPEAKING → LISTENING`.
- [x] Add transcript filtering, TTS anti-feedback gate, and playback cooldown.
- [x] Add sentence buffering from streamed harness output into QVAC TTS.
- [x] Add fast-path cancel, sleep, privacy, dictate, screen, and computer-use
commands.
- [ ] Add push-to-talk and typed fallback.
- [ ] Add wake false-accept/false-reject and feedback measurements.
- [x] Add push-to-talk and typed fallback.
- [x] Add wake false-accept/false-reject and feedback measurements.
Exit gate: “Hey Jarvis” starts a local GPU-backed turn, speaks a response, and
does not self-trigger from its own TTS.
Implementation is complete in `daemon/audio-pipewire.js`, `daemon/wake-engine.js`,
`daemon/vad.js`, `daemon/voice-adapters.js`, `daemon/voice-loop.js`, and
`daemon/audio-playback.js`. The SDK speech models are loaded as auxiliary
models by the same QVAC master and use GPU settings. Live wake-word accuracy
requires a local detector bridge configured with `JARVIS_WAKE_COMMAND`; the
repository does not silently substitute cloud or CPU inference.
Exit gate: implementation complete. In a configured GNOME session, “Hey
Jarvis” starts a local GPU-backed turn, speaks a response, and does not
self-trigger from its own TTS. `docs/voice-acceptance.md` contains the live
hardware/session acceptance procedure.
## Phase 5 — GNOME ARC surface