Files
pipecat/changelog
Mark Backman b9d996ff41 Improvements for Nova Sonic LLM and TTS output frames (#4042)
* 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.
2026-03-20 21:34:21 -04:00
..
2026-03-11 10:44:15 -04:00
2026-03-11 14:18:47 -04:00
2026-03-11 17:40:53 -04:00
2026-03-11 17:40:53 -04:00
2026-03-11 21:47:51 -04:00
2026-03-12 09:22:31 -04:00
2026-03-12 11:34:25 -07:00
2026-03-12 14:56:37 -04:00
2026-03-12 17:22:13 -04:00
2026-03-13 10:22:58 -04:00
2026-03-13 10:58:51 -04:00
2026-03-20 21:34:21 -04:00
2026-03-15 08:56:54 -04:00
2026-03-15 19:15:18 +05:30
2026-03-20 21:34:21 -04:00
2026-03-20 21:34:21 -04:00
2026-03-20 21:34:21 -04:00