Merge pull request #1009 from pipecat-ai/mb/tts-ignore-interim-transcripts

TTSService should only process LLMTextFrames
This commit is contained in:
Mark Backman
2025-01-16 17:09:24 -05:00
committed by GitHub

View File

@@ -19,6 +19,7 @@ from pipecat.frames.frames import (
EndFrame,
ErrorFrame,
Frame,
InterimTranscriptionFrame,
LLMFullResponseEndFrame,
StartFrame,
StartInterruptionFrame,
@@ -291,8 +292,11 @@ class TTSService(AIService):
async def process_frame(self, frame: Frame, direction: FrameDirection):
await super().process_frame(frame, direction)
if isinstance(frame, TextFrame) and not isinstance(frame, TranscriptionFrame):
if (
isinstance(frame, TextFrame)
and not isinstance(frame, InterimTranscriptionFrame)
and not isinstance(frame, TranscriptionFrame)
):
await self._process_text_frame(frame)
elif isinstance(frame, StartInterruptionFrame):
await self._handle_interruption(frame, direction)