Skip to content

Integrate bounded Linux voice sessions and observed playback interruption

Use the Linux voice-session workflow when you need bounded capture, follow-up turns, barge-in, or playback interruption handling. The current path keeps capture, interpretation, and playback separate, uses a finite session window, and treats audio and text as transient. Continuous capture and an actual echo path are required for duplex. Fake PCM and control fixtures prove wiring, not acoustic performance.

The adapter uses Endpointer:16kHz mono signed16-bit PCM, adaptive room floor, minimum speech, trailing silence, no-speech timeout, and a 15-second utterance cap. A driver supplies current tenant, home, device, binding revision, and boot epoch and advertises continuous capture plus the actual echo path. A wake starts one finite 1–60-second platform session. Followups reuse it until timeout, close, or changed enrollment.

AudioDriver owns capture and existing DSP or playback-reference echo cancellation. ReplyOwner owns rendering and playback. PhysicalAiAudioSession creates session and turn IDs, bounds chunks at 100ms, admits one interpretation, and withdraws superseded replies. Barge-in cancels only its inference or reply. Duplex requires an explicitly qualified echo path; missing references or an unresolved interruption safely close the session. No MCU capture fields or catalogue allocation are introduced.

The Linux GatewayMeaningAdapter sends original bounded 16kHz mono PCM, current broker credential proof, and the original audio-session and unique turn IDs through the private DeviceService to TenantService to AIgateway interfaces. prepared_session_pool accepts installed current enrollment, actual AudioDriver, and ReplyOwner callbacks. It has no discovery, copied actuator executor, or automatic native-satellite continuous capture. Default SHADOW emits neither effects nor a spoken reply. ACTIVE keeps pending physical outcomes independent from playback and model response cancellation.

The existing hosted hub HTTP entrance reads the current credential and boot session header; phone talk sends its finite x-alyt-audio-session UUID with the current authenticated household token. The selected phone path accepts only complete bounded mono PCM WAV, never queues the same audio to the legacy agent, retains at most 128 selected turn records, and admits at most 4 unfinished selected turns. Its rendered phone clip is tenant-bound. The existing mobile Talk panel separates physicalAction from reply playback: admission or PENDING cannot display successful physical completion. A rendered clip alone is not audible playback. A requested room speaker has its original playback owner; phone-only rendered replies never claim room playback.

The Sonos interruption endpoint operates through SecurityMediaGate and the existing durable media journal. It removes unsent clips, requests the same restoration path, and cancels only the stored session appId. CONFIRMED requires the owner’s observed terminal or restored result. UNKNOWN retains recovery; SECURITY_OWNED preserves Home Security takeover. It does not rewrite music volume, regroup rooms, or claim an action reversed. Existing close semantics continue to finish queued speech.

Sonos retries after observed restoration return CONFIRMED. Current Home Security ownership returns SECURITY_OWNED, including takeover during interruption; UNKNOWN remains recoverable. The durable original snapshot, session appId, and settling lease remain with the existing owner. An interrupt request withdraws unsent clips without erasing current physical outcome or claiming silence before observation.

Keep the current hosted, SELF, and phone route until its new path is independently qualified and selected. A satellite without a continuous-capture driver retains the existing wake path. Fake PCM, semantic adapters, and playback-reference drivers verify session plumbing; real recognition, TTS, acoustic echo, latency, and target hardware are separate evidence. Disable the new sessions and preserve the ordinary wake path on rollback.

Withdraw capture after an audio-owner fault

Section titled “Withdraw capture after an audio-owner fault”

Echo processing exceptions, the one-second echo deadline, cancelled capture processing, invalid returned PCM framing, and playback-interruption failures now withdraw the bounded active capture session and close its capture owner. Completed behavior keeps pending or sent physical results independent, so a faulty audio owner cannot create a follow-up interpretation or undo an action. Ordinary wake/reply selection stays unchanged, and existing session selection remains separate from acoustic qualification. Prepared modules are installed without automatic session selection or acoustic qualification.

Last updated