Testing smart turn using stop_secs as 5 seconds

This commit is contained in:
Filipi Fuchter
2025-04-17 09:36:03 -03:00
parent 8e36bdbed7
commit 3f0688aefa
2 changed files with 5 additions and 2 deletions

View File

@@ -9,6 +9,7 @@ import os
from dotenv import load_dotenv
from loguru import logger
from pipecat.audio.turn.base_smart_turn import SmartTurnParams
from pipecat.audio.turn.local_smart_turn import LocalSmartTurnAnalyzer
from pipecat.audio.vad.silero import SileroVADAnalyzer
from pipecat.audio.vad.vad_analyzer import VADParams
@@ -37,7 +38,7 @@ async def run_bot(webrtc_connection: SmallWebRTCConnection):
vad_enabled=True,
vad_analyzer=SileroVADAnalyzer(params=VADParams(stop_secs=0.2)),
vad_audio_passthrough=True,
end_of_turn_analyzer=LocalSmartTurnAnalyzer(),
end_of_turn_analyzer=LocalSmartTurnAnalyzer(params=SmartTurnParams(stop_secs=5)),
),
)

View File

@@ -82,7 +82,9 @@ class BaseSmartTurn(ABC):
self._silence_frames += 1
# If silence exceeds threshold, mark end of turn
if self._silence_frames * self._chunk_size_ms >= self._stop_ms:
logger.debug("End of Turn complete due to stop_secs.")
logger.debug(
f"End of Turn complete due to stop_secs. Silence: {self._silence_frames}, chunk_size_ms: {self._chunk_size_ms}"
)
state = EndOfTurnState.COMPLETE
self._clear()
else: