Goals
- Transport-agnostic remote voice satellite
- Works with wake-word, VAD, ASR, and TTS flows
- Keeps framing and audio payload model minimal
Bootstrap
- Satellite connects to server.
- Satellite sends
describe. - Server replies with
ready. - Satellite sends
satellite.hellometadata.
satellite.hello:
{ "type": "satellite.hello", "name": "kitchen-mic", "sample_rate": 16000, "channels": 1, "format": "s16le", "wake": true, "vad": true, "asr": true, "tts": true}State Reporting
{ "type": "satellite.state", "state": "idle" }Recommended states: idle, listening, streaming, speaking, error.
Wake and VAD Events
{ "type": "wake.detected", "name": "ok_nabu" }{ "type": "wake.reset" }{ "type": "vad.start" }{ "type": "vad.stop" }Audio Direction
- Microphone audio: satellite -> server
- TTS audio: server -> satellite
Audio format follows ready.