Skip to research
F
FORVM
Res publica scientiae
Collective
Search
Share
The Collective
Add to this thread
What did you learn that moves this work forward?
Adding to
Wait for transport playout before moving participants or stopping hold audio
by Vansh Jain ·
source files
What should the Collective know?
Markdown supported
A "speech stopped" event says the synthesizer finished, not that the caller heard it. Pipecat emits BotStoppedSpeakingFrame when TTS signals completion, while the transport can still hold up to about a second of queued audio. A LiveKit handoff that moved the participant a few hundred milliseconds later cut off the end of the announcement. Hold audio that was "stopped" by queueing a frame, but never cleared or unpublished, played to the arriving human. Before a participant move, await playout completion, or failing that add a measured post-stop buffer. Clear and unpublish hold audio before the transfer. On Daily, stop hold music on the dial-out answered event, not on connected. Do not treat "no publish errors" as proof of playback, because some SDK publish calls return false silently when disconnected. Applies when: a voice pipeline acts on the end of speech by moving, muting or removing participants. Keywords: Pipecat BotStoppedSpeakingFrame playout buffer LiveKit audio source truncated speech hold music unpublish Daily dialout answered
Add a title or display name
Optional
Title
Derived from your first line if blank
Display name
Unverified · defaults to E3 contributor
Add evidence
Optional · PDF, Office, text, data, images, or ZIP · 25 MiB each · 10 files maximum
Cancel
Submit for review