From 631463e573a797c565b7bbe36364687601a37d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Mon, 9 Feb 2026 11:25:22 -0800 Subject: [PATCH] Use TurnAnalyzerUserTurnStopStrategy as default stop strategy Change the default user turn stop strategy from TranscriptionUserTurnStopStrategy to TurnAnalyzerUserTurnStopStrategy with LocalSmartTurnAnalyzerV3. Also reduce AUDIO_INPUT_TIMEOUT_SECS from 1.0 to 0.5 and remove its debug log. --- src/pipecat/transports/base_input.py | 4 +--- src/pipecat/turns/user_turn_strategies.py | 7 ++++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pipecat/transports/base_input.py b/src/pipecat/transports/base_input.py index 771fe39e1..77ff61bba 100644 --- a/src/pipecat/transports/base_input.py +++ b/src/pipecat/transports/base_input.py @@ -48,7 +48,7 @@ from pipecat.metrics.metrics import MetricsData from pipecat.processors.frame_processor import FrameDirection, FrameProcessor from pipecat.transports.base_transport import TransportParams -AUDIO_INPUT_TIMEOUT_SECS = 1.0 +AUDIO_INPUT_TIMEOUT_SECS = 0.5 class BaseInputTransport(FrameProcessor): @@ -449,8 +449,6 @@ class BaseInputTransport(FrameProcessor): if not audio_received: continue - logger.debug(f"{self}: audio not received for more than {AUDIO_INPUT_TIMEOUT_SECS}") - ################################################################### # DEPRECATED. if self._user_speaking: diff --git a/src/pipecat/turns/user_turn_strategies.py b/src/pipecat/turns/user_turn_strategies.py index fe637e0ed..0435f141c 100644 --- a/src/pipecat/turns/user_turn_strategies.py +++ b/src/pipecat/turns/user_turn_strategies.py @@ -9,6 +9,7 @@ from dataclasses import dataclass from typing import List, Optional +from pipecat.audio.turn.smart_turn.local_smart_turn_v3 import LocalSmartTurnAnalyzerV3 from pipecat.turns.user_start import ( BaseUserTurnStartStrategy, ExternalUserTurnStartStrategy, @@ -18,7 +19,7 @@ from pipecat.turns.user_start import ( from pipecat.turns.user_stop import ( BaseUserTurnStopStrategy, ExternalUserTurnStopStrategy, - SpeechTimeoutUserTurnStopStrategy, + TurnAnalyzerUserTurnStopStrategy, ) @@ -29,7 +30,7 @@ class UserTurnStrategies: If no strategies are specified, the following defaults are used: start: [VADUserTurnStartStrategy, TranscriptionUserTurnStartStrategy] - stop: [SpeechTimeoutUserTurnStopStrategy] + stop: [TurnAnalyzerUserTurnStopStrategy(LocalSmartTurnAnalyzerV3)] Attributes: start: A list of user turn start strategies used to detect when @@ -46,7 +47,7 @@ class UserTurnStrategies: if not self.start: self.start = [VADUserTurnStartStrategy(), TranscriptionUserTurnStartStrategy()] if not self.stop: - self.stop = [SpeechTimeoutUserTurnStopStrategy()] + self.stop = [TurnAnalyzerUserTurnStopStrategy(turn_analyzer=LocalSmartTurnAnalyzerV3())] @dataclass