From 5ae6229c03401bd18d3840255d08ad850608333c Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Fri, 7 Mar 2025 15:26:47 -0500 Subject: [PATCH] Add flush_audio() to PlayHTTTSService --- CHANGELOG.md | 3 ++- src/pipecat/services/playht.py | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c0cf53b2..2eecbb659 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Added a `flush_audio()` method to `AzureTTSService` and `FishTTSService`. +- Added a `flush_audio()` method to `AzureTTSService`, `FishTTSService`, and + `PlayHTTTSService`. - Added `set_language()` and `set_model()` to `AzureSTTService` and `AssemblySTTService`. diff --git a/src/pipecat/services/playht.py b/src/pipecat/services/playht.py index 80d313765..06208ae6e 100644 --- a/src/pipecat/services/playht.py +++ b/src/pipecat/services/playht.py @@ -241,6 +241,14 @@ class PlayHTTTSService(InterruptibleTTSService): await self.stop_all_metrics() self._request_id = None + async def flush_audio(self): + """Flush any pending audio in the buffer. + + PlayHT's API doesn't provide a mechanism for flushing audio buffers, + so this method is a no-op. + """ + logger.trace(f"{self}: flush_audio is a no-op for PlayHT") + async def _receive_messages(self): async for message in self._get_websocket(): if isinstance(message, bytes):