* Fix empty user transcription causing spurious interruption in Nova Sonic Skip _report_user_transcription_ended() when _user_text_buffer is empty, which happens when the initial prompt is text-only. Previously, an empty TranscriptionFrame was pushed upstream, triggering a chain reaction: on_user_turn_stopped → UserStartedSpeakingFrame → interruption → premature BotStoppedSpeaking → multiple response start/stop cycles. * Improve TextFrame and assistant end of turn logic Now, SPECULATIVE text results are used to push the LLMTextFrame, AggregatedTextFrame, and TTSTextFrame. Additionally, the TTSTextFrames are push at the end of the corresponding audio segment. * Remove BotStoppedSpeakingFrame fallback from Nova Sonic Now that assistant response end is detected directly from Nova Sonic contentEnd events (END_TURN and INTERRUPTED), the BotStoppedSpeakingFrame handler is no longer needed. Inline the cleanup logic in reset_conversation.
218 B
218 B
- Fixed empty user transcriptions in Nova Sonic causing spurious interruptions. Previously, an empty transcription could trigger an interruption of the assistant's response even though the user hadn't actually spoken.