SRTCTransport, and the rest of the pipeline stays unchanged.
Installation
Usage
Behavior
- Input: automatically subscribes to the audio of everyone in the channel, decodes it at the pipeline’s input sample rate, and pushes it out as
UserAudioRawFrame(user_id=uid). Silence frames that the SDK fills in during the remote side’s DTX silence are pushed out as usual, so the VAD can correctly tell when a sentence ends - Output: publishes one audio track.
write_audio_frameblocks at real-time pace, with the same semantics as pipecat’s other transports - Barge-in interruption: when an
InterruptionFrameis received, audio that hasn’t been sent yet is cleared immediately, and the remote side hears at most about 100 ms of trailing audio - Leaving: when the pipeline ends (
EndFrame/CancelFrame), it leaves the channel automatically
Parameters
SRTCParams inherits pipecat’s TransportParams. Common options:
Events
Register with@transport.event_handler("event_name"); the handler’s first parameter is the transport:
When you need more capabilities (querying users, subscribing to video, and so on), after joining you can get the underlying
srtc.Channel through transport.channel.