TurnTrackingObserver

class pipecat.observers.turn_tracking_observer.TurnTrackingObserver(max_frames=100, turn_end_timeout_secs=2.5, **kwargs)[source]

Bases: BaseObserver

Observer that tracks conversation turns in a pipeline.

Turn tracking logic: - The first turn starts immediately when the pipeline starts (StartFrame) - Subsequent turns start when the user starts speaking - A turn ends when the bot stops speaking and either:

  • The user starts speaking again

  • A timeout period elapses with no more bot speech

async on_push_frame(data)[source]

Process frame events for turn tracking.

Parameters:

data (FramePushed)