From c1f3cbd1d41d5e4bd4741732c18498f87e9cc388 Mon Sep 17 00:00:00 2001 From: Neil Ruaro Date: Mon, 12 Jan 2026 17:51:38 +0900 Subject: [PATCH] Yield TTSAudioRawFrame directly instead of calling private method --- src/pipecat/services/camb/tts.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/pipecat/services/camb/tts.py b/src/pipecat/services/camb/tts.py index f2517a362..d0471d63d 100644 --- a/src/pipecat/services/camb/tts.py +++ b/src/pipecat/services/camb/tts.py @@ -338,11 +338,14 @@ class CambTTSService(TTSService): await self.start_tts_usage_metrics(text) yield TTSStartedFrame() - async for frame in self._stream_audio_frames_from_iterator( - response.content.iter_chunked(self.chunk_size), strip_wav_header=False - ): - await self.stop_ttfb_metrics() - yield frame + async for chunk in response.content.iter_chunked(self.chunk_size): + if chunk: + await self.stop_ttfb_metrics() + yield TTSAudioRawFrame( + audio=chunk, + sample_rate=self.sample_rate, + num_channels=1, + ) except aiohttp.ClientError as e: error_msg = f"Network error communicating with Camb.ai: {e}"