steep-shampoo-86436
09/22/2025, 3:37 PMtall-airline-16756
09/22/2025, 3:37 PMtall-airline-16756
09/22/2025, 3:38 PMsteep-shampoo-86436
09/22/2025, 3:40 PMtall-airline-16756
09/22/2025, 3:41 PMtrack_subscribed event to subscribe to their audio tracks.
2. Stream Audio to a Speech-to-Text (STT) Service: For each participant’s audio track, create an AudioStream and send the audio frames to an STT engine like Deepgram or OpenAI Whisper.
3. Handle Transcription Output: The STT engine will process the audio and generate transcription results. You can then forward these results back to the room using LiveKit’s STTSegmentsForwarder.
4. Enable Transcription Forwarding: Using the RoomIO class in the LiveKit Agents framework, you can automatically publish transcriptions to the room so everyone can access them.
If you’d like, I’m here to walk you through any of these steps in more detail or provide some helpful code snippets. Just let me know how I can support you!
Sources: livekit-agents/livekit/agents/voice/room_io/room_io.py | Transcriptions | LiveKit Docs | main.pysteep-shampoo-86436
09/22/2025, 3:43 PMtall-airline-16756
09/22/2025, 3:44 PMsteep-shampoo-86436
09/22/2025, 3:46 PMtall-airline-16756
09/22/2025, 3:47 PMRoomEvent.DataReceived event to grab transcriptions as they come in. Alternatively, on the agent side, the conversation_item_added event is great for processing user messages the moment they’re transcribed.
3. Handle Partial and Final Transcripts: For real-time policy checks, it’s helpful to work with both interim and final transcriptions. Events like input_audio_transcription_completed let you catch updates from the STT engine smoothly.
4. Send Transcriptions to LLM: Once you have the transcription data paired with user IDs, format it nicely and send it over to your LLM using its API. Don’t forget to include a clear prompt that guides the LLM to look out for policy violations and provide the results.
If you’d like, I’m here to help with any specific implementation details—whether it’s integrating with a particular LLM or setting up your transcription workflow. Just let me know, and we’ll work through it together!
Sources: Text and transcriptions | LiveKit Docs | How to capture real-time agent transcriptions during conversations | agent/main.py | livekit-plugins/livekit-plugins-aws/livekit/plugins/aws/experimental/realti...