From 8577139d210c563e07a5f2853b61cab21b0dfe21 Mon Sep 17 00:00:00 2001 From: Filipi Fuchter Date: Thu, 17 Apr 2025 11:39:06 -0300 Subject: [PATCH] Fixing to keep the last max samples. --- src/pipecat/audio/turn/base_smart_turn.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pipecat/audio/turn/base_smart_turn.py b/src/pipecat/audio/turn/base_smart_turn.py index 2892db7c0..6f04f3e83 100644 --- a/src/pipecat/audio/turn/base_smart_turn.py +++ b/src/pipecat/audio/turn/base_smart_turn.py @@ -133,8 +133,10 @@ class BaseSmartTurn(ABC): logger.debug(f"Segment audio chunks after start index: {len(segment_audio)}") # Limit maximum duration - if len(segment_audio) / self.sample_rate > self._params.max_duration_secs: - segment_audio = segment_audio[: int(self._params.max_duration_secs * self.sample_rate)] + max_samples = int(self._params.max_duration_secs * self.sample_rate) + if len(segment_audio) > max_samples: + # slices the array to keep the last max_samples samples, discarding the earlier part. + segment_audio = segment_audio[-max_samples:] logger.debug(f"Segment audio chunks after limiting duration: {len(segment_audio)}")