The "-local-vad" suffix was ambiguous now that local VAD has two meanings in the realtime context: supplementary user-turn frames broadcast alongside server-driven turns (commented-out opt-in in the base examples), vs. local turn detection driving the conversation end-to-end (server-side turn detection disabled, what these variant files actually demonstrate). The new "-locally-driven-turns" suffix matches the latter intent unambiguously. Renames: realtime-openai-local-vad.py → realtime-openai-locally-driven-turns.py realtime-gemini-live-local-vad.py → realtime-gemini-live-locally-driven-turns.py realtime-grok-local-vad.py → realtime-grok-locally-driven-turns.py realtime-inworld-local-vad.py → realtime-inworld-locally-driven-turns.py Plus the matching changelog fragments. Service docstrings and base examples that referenced the old filenames now point at the new ones.
582 B
582 B
- Added
examples/realtime/realtime-openai-locally-driven-turns.py, a variant of the base OpenAI Realtime example that disables OpenAI's server-side turn detection (turn_detection=False) and instead drives turn boundaries locally withSileroVADAnalyzerwired into the user aggregator. Use this variant if you need a turn analyzer likeLocalSmartTurnV3to decide when the user is done speaking, or if you needUserStartedSpeakingFrame/UserStoppedSpeakingFrameto fire from the same source asInterruptionFrame. Server-emitted turn frames are preferred when available.