user_turn_strategies
Turn start strategy configuration.
- pipecat.turns.user_turn_strategies.default_user_turn_start_strategies() list[BaseUserTurnStartStrategy][source]
Return the default user turn start strategies.
Returns
[VADUserTurnStartStrategy, TranscriptionUserTurnStartStrategy]. Useful when building a custom strategy list that extends the defaults.Example:
start_strategies = [ WakePhraseUserTurnStartStrategy(phrases=["hey pipecat"]), *default_user_turn_start_strategies(), ]
- pipecat.turns.user_turn_strategies.default_user_turn_stop_strategies() list[BaseUserTurnStopStrategy][source]
Return the default user turn stop strategies.
Returns
[TurnAnalyzerUserTurnStopStrategy(LocalSmartTurnAnalyzerV3)]. Useful when building a custom strategy list that extends the defaults.
- class pipecat.turns.user_turn_strategies.UserTurnStrategies(start: list[BaseUserTurnStartStrategy] | None = None, stop: list[BaseUserTurnStopStrategy] | None = None)[source]
Bases:
objectContainer for user turn start and stop strategies.
If no strategies are specified, the following defaults are used:
- start: [VADUserTurnStartStrategy, TranscriptionUserTurnStartStrategy]
stop: [TurnAnalyzerUserTurnStopStrategy(LocalSmartTurnAnalyzerV3)]
- Parameters:
start – A list of user turn start strategies used to detect when the user starts speaking.
stop – A list of user turn stop strategies used to decide when the user stops speaking.
- start: list[BaseUserTurnStartStrategy] | None = None
- stop: list[BaseUserTurnStopStrategy] | None = None
- class pipecat.turns.user_turn_strategies.ExternalUserTurnStrategies(start: list[BaseUserTurnStartStrategy] | None = None, stop: list[BaseUserTurnStopStrategy] | None = None)[source]
Bases:
UserTurnStrategiesDefault container for external user turn start and stop strategies.
This class provides a convenience default for configuring external turn control. It preconfigures UserTurnStrategies with ExternalUserTurnStartStrategy and ExternalUserTurnStopStrategy, allowing external processors (such as services) to control when user turn starts and stops.
When using this container, the user aggregator does not push UserStartedSpeakingFrame or UserStoppedSpeakingFrame frames, and does not generate interruptions. These signals are expected to be provided by an external processor.