From 0dcb65bd5613271b939b8b19696206d387c68793 Mon Sep 17 00:00:00 2001 From: Gokul Js Date: Wed, 19 Nov 2025 03:34:58 +0530 Subject: [PATCH] add run tts methos for rimeNonJsonTTs --- src/pipecat/services/rime/tts.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/pipecat/services/rime/tts.py b/src/pipecat/services/rime/tts.py index f747a62bf..926e07681 100644 --- a/src/pipecat/services/rime/tts.py +++ b/src/pipecat/services/rime/tts.py @@ -816,4 +816,27 @@ class RimeNonJsonTTSService(InterruptibleTTSService): Yields: Frame: Audio frames containing the synthesized speech. """ - logger.debug(f"{self}: Generating TTS [{text}]") \ No newline at end of file + logger.debug(f"{self}: Generating TTS [{text}]") + try: + if not self._websocket or self._websocket.state is State.CLOSED: + await self._connect() + try: + if not self._started: + await self.start_ttfb_metrics() + yield TTSStartedFrame() + self._started = True + # Send bare text (not JSON) + await self._get_websocket().send(text) + await self.start_tts_usage_metrics(text) + + except Exception as e: + logger.error(f"{self} exception: {e}") + yield ErrorFrame(error=f"{self} error: {e}") + yield TTSStoppedFrame() + await self._disconnect() + await self._connect() + return + yield None + except Exception as e: + logger.error(f"{self} exception: {e}") + yield ErrorFrame(error=f"{self} error: {e}")