From fe84a881ddaaa322d3cb4ec5b611469f62a3b822 Mon Sep 17 00:00:00 2001 From: Blaine Kasten Date: Fri, 20 Mar 2026 11:17:38 -0500 Subject: [PATCH] turn off server vad --- src/pipecat/services/stt_latency.py | 2 +- src/pipecat/services/together/stt.py | 31 ++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/pipecat/services/stt_latency.py b/src/pipecat/services/stt_latency.py index 5dbccc348..7caf3a704 100644 --- a/src/pipecat/services/stt_latency.py +++ b/src/pipecat/services/stt_latency.py @@ -46,7 +46,7 @@ SAMBANOVA_TTFS_P99: float = 2.20 SARVAM_TTFS_P99: float = 1.17 SONIOX_TTFS_P99: float = 0.35 SPEECHMATICS_TTFS_P99: float = 0.74 -TOGETHER_TTFS_P99: float = 1.00 +TOGETHER_TTFS_P99: float = 2.028 # These services run locally and should be replaced with measured values NVIDIA_TTFS_P99: float = DEFAULT_TTFS_P99 diff --git a/src/pipecat/services/together/stt.py b/src/pipecat/services/together/stt.py index 4d2c6f76c..0e20e4b8b 100644 --- a/src/pipecat/services/together/stt.py +++ b/src/pipecat/services/together/stt.py @@ -197,7 +197,6 @@ class TogetherSTTService(WebsocketSTTService): } self._websocket = await websocket_connect(url, additional_headers=headers) - await self._call_event_handler("on_connected") except Exception as e: await self.push_error( error_msg=f"Error connecting to Together AI STT: {e}", @@ -276,7 +275,7 @@ class TogetherSTTService(WebsocketSTTService): evt_type = evt.get("type", "") if evt_type == "session.created": - logger.debug(f"{self} session created") + await self._handle_session_created(evt) elif evt_type == "conversation.item.input_audio_transcription.delta": await self._handle_transcription_delta(evt) elif evt_type == "conversation.item.input_audio_transcription.completed": @@ -290,6 +289,34 @@ class TogetherSTTService(WebsocketSTTService): else: logger.trace(f"{self} unhandled event: {evt_type}") + async def _handle_session_created(self, evt: dict): + """Handle ``session.created`` event. + + Args: + evt: The session created event from the server. + """ + session = evt.get("session", {}) + self._session_id = session.get("id") + logger.debug(f"{self} session created: {self._session_id}") + + upgrade_session_message = { + "type": "transcription_session.update", + "session": { + "input_audio_format": "pcm_s16le_16000", + "input_audio_transcription": { + "model": self._settings.model, + "language": self._settings.language, + "prompt": "Transcribe the incoming audio in real time.", + }, + "turn_detection": { + "type": "none", + }, + }, + } + + await self._websocket.send(json.dumps(upgrade_session_message)) + await self._call_event_handler("on_connected") + async def _handle_transcription_delta(self, evt: dict): """Handle incremental transcription text.