From 48b3ad8f8f3505b3913d06c69a34492d6ec0a466 Mon Sep 17 00:00:00 2001 From: TheNotary Date: Tue, 19 Aug 2025 17:00:42 -0500 Subject: [PATCH 1/2] adds support for creating InterimTranscriptFrames for Azure speech services --- src/pipecat/services/azure/stt.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/pipecat/services/azure/stt.py b/src/pipecat/services/azure/stt.py index cd49c98d8..779a6d8c7 100644 --- a/src/pipecat/services/azure/stt.py +++ b/src/pipecat/services/azure/stt.py @@ -140,6 +140,7 @@ class AzureSTTService(STTService): self._speech_recognizer = SpeechRecognizer( speech_config=self._speech_config, audio_config=audio_config ) + self._speech_recognizer.recognizing.connect(self._on_handle_recognizing) self._speech_recognizer.recognized.connect(self._on_handle_recognized) self._speech_recognizer.start_continuous_recognition_async() @@ -197,3 +198,15 @@ class AzureSTTService(STTService): self._handle_transcription(event.result.text, True, language), self.get_event_loop() ) asyncio.run_coroutine_threadsafe(self.push_frame(frame), self.get_event_loop()) + + def _on_handle_recognizing(self, event): + if event.result.reason == ResultReason.RecognizingSpeech and len(event.result.text) > 0: + language = getattr(event.result, "language", None) or self._settings.get("language") + frame = InterimTranscriptionFrame( + event.result.text, + self._user_id, + time_now_iso8601(), + language, + result=event, + ) + asyncio.run_coroutine_threadsafe(self.push_frame(frame), self.get_event_loop()) From 7366b1aee012862dc72584cb1951925176210581 Mon Sep 17 00:00:00 2001 From: TheNotary <799247+TheNotary@users.noreply.github.com> Date: Sat, 6 Sep 2025 14:40:19 -0500 Subject: [PATCH 2/2] adds missing InterimTranscriptionFrame import --- src/pipecat/services/azure/stt.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pipecat/services/azure/stt.py b/src/pipecat/services/azure/stt.py index 779a6d8c7..058db7990 100644 --- a/src/pipecat/services/azure/stt.py +++ b/src/pipecat/services/azure/stt.py @@ -21,6 +21,7 @@ from pipecat.frames.frames import ( Frame, StartFrame, TranscriptionFrame, + InterimTranscriptionFrame, ) from pipecat.services.azure.common import language_to_azure_language from pipecat.services.stt_service import STTService