narrow-chef-71655
12/12/2025, 5:12 PMSIP participants join the same room, each speaking in their own language, and each hearing in their own language.
To achieve this, after both participants join, I unsubscribe each participant’s microphone track from the other (using the API since there is no control over remote participant track subscriptions). Then I publish two additional audio tracks that contain the translated audio.
The local participant (an agent) subscribes to both microphone audio tracks, performs STT on the incoming audio, translates the text into the other participant’s language using an LLM, converts it to speech using TTS, and finally publishes the translated audio.
I want to know: Is there a better or more efficient way to implement this?
I also considered handling this with two agent sessions inside the same room, but the second agent session does not work correctly and causes issues.narrow-chef-71655
12/12/2025, 5:18 PM<https://github.com/livekit/agents/blob/main/examples/other/translation/multi-user-translator.py>
My flow is similar — I already have STT → LLM → TTS implemented like in the example.
I just need guidance on the recommended architecture, and if VAD is required, please point me to any example or reference I can follow.lively-winter-88668
12/15/2025, 11:40 AMnarrow-chef-71655
12/15/2025, 12:49 PMnarrow-chef-71655
12/15/2025, 1:26 PM