Files
pipecat/changelog
Paul Kompfner 6d21507e95 user turn stop strategies: don't always wait for transcripts
Until now, both TurnAnalyzerUserTurnStopStrategy and
SpeechTimeoutUserTurnStopStrategy waited for at least one transcript
before ending the user turn. That's the right behavior for cascaded
pipelines, where the downstream LLM can't respond until the user's
words are recorded in its context — but it's pure latency in pipelines
using local turn detection to drive a realtime service like Gemini
Live.

Add a `require_transcript: bool | None = None` parameter to both
strategies. When None (default), it infers from whether an
STTMetadataFrame has been seen — a proxy for "does the downstream LLM
need the transcript in context?". Explicit True/False overrides the
heuristic.

When a transcript isn't required, the strategies also skip the
STT-waiting timeout in the VAD-stopped handler, so the user turn ends
as soon as the analyzer (or speech timer) concludes the turn is
complete.
2026-05-13 15:45:51 -04:00
..
2026-04-29 09:53:42 -04:00
2026-04-29 11:09:38 -04:00
2026-04-30 09:45:16 -04:00
2026-04-30 09:45:16 -04:00
2026-04-30 09:45:16 -04:00
2026-04-30 09:45:16 -04:00
2026-04-30 09:45:16 -04:00
2026-04-30 09:45:16 -04:00
2026-04-30 14:16:46 -04:00
2026-04-30 16:19:35 -04:00
2026-04-30 21:41:28 -04:00
2026-05-01 08:58:38 -04:00
2026-05-05 13:03:49 -04:00
2026-05-07 17:46:15 -07:00
2026-05-07 17:46:15 -07:00
2026-05-07 17:46:15 -07:00
2026-05-07 16:58:08 -07:00
2026-05-04 15:18:15 -04:00
2026-05-04 21:54:58 -04:00
2026-05-04 21:54:58 -04:00
2026-05-04 16:22:26 -04:00
2026-05-06 11:26:14 -03:00
2026-05-06 11:26:14 -03:00
2026-05-07 11:32:48 -03:00
2026-05-10 20:34:52 -07:00
2026-05-12 15:20:57 -04:00
2026-05-11 17:34:00 -04:00