Record audio sink role: utterances plus audio-focus ducking

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
This commit is contained in:
2026-09-04 13:57:31 +09:00
parent 64ba8ef760
commit f4f2d05297
+13
View File
@@ -54,3 +54,16 @@ app is developed with no Jetson present. The stream carries a flag when it does.
Rendering synthetic readings indistinguishable from real ones, on a screen in a Rendering synthetic readings indistinguishable from real ones, on a screen in a
moving car, is a safety problem. The indication belongs on the display surface moving car, is a safety problem. The indication belongs on the display surface
itself, not in a settings page or a startup log. itself, not in a settings page or a startup log.
## This app is the audio sink
The tablet owns the car's aux input and is the music player, so the Orin's speech
has to arrive here to be heard.
- TTS arrives as **discrete utterances** over the reliable channel, not as a
real-time stream. Receive the whole thing, then play it — no jitter buffer.
- Duck other audio with `AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK` for the duration of
the utterance, then release. That is what makes Spotify drop under the voice
without either side coordinating.
- The microphone stays on the Orin. This app never captures audio; ASR input never
crosses the boundary.