From f84348296816920f5fef87aadbd228186249e02d Mon Sep 17 00:00:00 2001 From: macaki Date: Wed, 12 Mar 2025 11:26:43 -0600 Subject: [PATCH 1/3] [rime client] Sending over trailing space to help indicate end of utterance after a punctuation. --- src/pipecat/services/rime.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pipecat/services/rime.py b/src/pipecat/services/rime.py index 60083f55d..935d87de2 100644 --- a/src/pipecat/services/rime.py +++ b/src/pipecat/services/rime.py @@ -249,7 +249,9 @@ class RimeTTSService(AudioContextWordTTSService): async def flush_audio(self): if not self._context_id or not self._websocket: return + logger.trace(f"{self}: flushing audio") + await self._get_websocket().send(json.dumps({"text": " "})) self._context_id = None async def _receive_messages(self): From effb5f6cd8fbd012a14a8d92cceda27ff0f2e35d Mon Sep 17 00:00:00 2001 From: macaki Date: Wed, 12 Mar 2025 11:57:25 -0600 Subject: [PATCH 2/3] added changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e730b70d..1ca6ed7e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,6 +78,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated the default mode for `CartesiaTTSService` and `CartesiaHttpTTSService` to `sonic-2`. +### Fixed + +- Fixed an issue in `RimeTTSService` where the last line of text sent didn't result in an audio output being generated. + ## [0.0.58] - 2025-02-26 ### Added From 5c9e33bc7a1ab24feb4ab3f0a265a15a05748ec8 Mon Sep 17 00:00:00 2001 From: macaki Date: Wed, 12 Mar 2025 12:20:18 -0600 Subject: [PATCH 3/3] formatting --- src/pipecat/services/rime.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pipecat/services/rime.py b/src/pipecat/services/rime.py index 935d87de2..b2610b06c 100644 --- a/src/pipecat/services/rime.py +++ b/src/pipecat/services/rime.py @@ -249,7 +249,7 @@ class RimeTTSService(AudioContextWordTTSService): async def flush_audio(self): if not self._context_id or not self._websocket: return - + logger.trace(f"{self}: flushing audio") await self._get_websocket().send(json.dumps({"text": " "})) self._context_id = None