From ef9e86d997ccc54e7dc7c6e4114e0599bf30f67b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Wed, 13 Nov 2024 17:01:29 +0100 Subject: [PATCH] services(playht): make sure we only skip wav header no matter the size --- src/pipecat/services/playht.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/pipecat/services/playht.py b/src/pipecat/services/playht.py index 8af47a0ee..9b5890554 100644 --- a/src/pipecat/services/playht.py +++ b/src/pipecat/services/playht.py @@ -210,17 +210,11 @@ class PlayHTTTSService(TTSService): async def _receive_task_handler(self): try: - header_size = 78 # Size of the WAV header + extra bytes we want to skip - header_received = False async for message in self._get_websocket(): if isinstance(message, bytes): - chunk_size = len(message) - - # Skip the WAV header - if not header_received and chunk_size == header_size: - header_received = True + # Skip the WAV header message + if message.startswith(b"RIFF"): continue - await self.stop_ttfb_metrics() frame = TTSAudioRawFrame(message, self._settings["sample_rate"], 1) await self.push_frame(frame) @@ -230,7 +224,6 @@ class PlayHTTTSService(TTSService): msg = json.loads(message) if "request_id" in msg and msg["request_id"] == self._request_id: await self.push_frame(TTSStoppedFrame()) - header_received = False # Reset for the next audio stream self._request_id = None elif "error" in msg: logger.error(f"{self} error: {msg}")