From 6e3f96aa834394dbcb5850ae7e32edd84362618e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Wed, 19 Feb 2025 21:39:36 -0800 Subject: [PATCH] fish: automatically send TTSStoppedFrame after timeout --- CHANGELOG.md | 3 +++ src/pipecat/services/fish.py | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fe52e1da..5e5137f07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,9 @@ stt = DeepgramSTTService(..., live_options=LiveOptions(model="nova-2-general")) ### Fixed +- Fixed a `FishAudioTTSService` issue where `TTSStoppedFrame` was not being + pushed. + - Fixed an issue that `start_callback` was not invoked for some LLM services. - Fixed an issue that would cause `DeepgramSTTService` to stop working after an diff --git a/src/pipecat/services/fish.py b/src/pipecat/services/fish.py index 94475aca7..e2a75bdb2 100644 --- a/src/pipecat/services/fish.py +++ b/src/pipecat/services/fish.py @@ -11,16 +11,13 @@ from loguru import logger from pydantic import BaseModel from pipecat.frames.frames import ( - BotStoppedSpeakingFrame, CancelFrame, EndFrame, ErrorFrame, Frame, - LLMFullResponseEndFrame, StartFrame, StartInterruptionFrame, TTSAudioRawFrame, - TTSSpeakFrame, TTSStartedFrame, TTSStoppedFrame, ) @@ -60,7 +57,12 @@ class FishAudioTTSService(TTSService, WebsocketService): params: InputParams = InputParams(), **kwargs, ): - super().__init__(pause_frame_processing=True, sample_rate=sample_rate, **kwargs) + super().__init__( + push_stop_frames=True, + pause_frame_processing=True, + sample_rate=sample_rate, + **kwargs, + ) self._api_key = api_key self._base_url = "wss://api.fish.audio/v1/tts/live"