Overview
TheTranscriptProcessor is a factory class that creates and manages processors for handling conversation transcripts from both users and assistants. It provides unified access to transcript processors with shared event handling, making it easy to track and respond to conversation updates in real-time.
The processor normalizes messages from various sources into a consistent TranscriptionMessage format and emits events when new messages are added to the conversation.
Constructor
Methods
user()
TranscriptionFrames from STT services.
Parameters:
**kwargs: Arguments passed to theUserTranscriptProcessorconstructor
UserTranscriptProcessor instance for processing user messages.
assistant()
TTSTextFrames from TTS services and aggregates them into complete utterances.
Parameters:
**kwargs: Arguments passed to theAssistantTranscriptProcessorconstructor
AssistantTranscriptProcessor instance for processing assistant messages.
event_handler()
event_name: Name of the event to handle
Event Handlers
on_transcript_update
Triggered when new messages are added to the conversation transcript.processor: The specific processor instance that emitted the event (UserTranscriptProcessor or AssistantTranscriptProcessor)frame:TranscriptionUpdateFramecontaining the new messages
Data Structures
TranscriptionMessage
role: The message sender type (“user” or “assistant”)content: The transcribed text contenttimestamp: ISO 8601 timestamp when the message was createduser_id: Optional user identifier (for user messages only)
TranscriptionUpdateFrame
Frame containing new transcript messages, emitted by theon_transcript_update event.
Properties:
messages: List ofTranscriptionMessageobjects containing the new transcript content
Frames
UserTranscriptProcessor
- Input:
TranscriptionFramefrom STT services - Output:
TranscriptionMessagewith role “user”
AssistantTranscriptProcessor
- Input:
TTSTextFramefrom TTS services - Output:
TranscriptionMessagewith role “assistant”