Skip to main content
pipecat 是常用的开源语音 agent 框架。SDK 内置了 pipecat transport,把示例里的 Daily / LiveKit transport 换成 SRTCTransport 即可,管线其余部分不用改。

安装

需要 pipecat 1.0 及以上。

用法


行为说明

  • 输入:自动订阅频道里所有人的音频,按管线的输入采样率解码,以 UserAudioRawFrame(user_id=uid) 推出。对端 DTX 静音期间 SDK 补的静音帧也照常推出,VAD 才能正确判断句子结束
  • 输出:发布一路音频轨道。write_audio_frame 按实时节奏阻塞,与 pipecat 其它 transport 语义一致
  • 插话打断:收到 InterruptionFrame 时立即清掉尚未发出的音频,对端最多再听到约 100ms 尾音
  • 离开:管线结束(EndFrame / CancelFrame)时自动离开频道

参数

SRTCParams 继承 pipecat 的 TransportParams,常用项:

事件

用 @transport.event_handler("事件名") 注册,处理函数的第一个参数是 transport: 需要更多能力(查询成员、订阅视频等)时,入会后可以通过 transport.channel 拿到底层的 srtc.Channel。

与其它 transport 的差异

不支持发送消息。 SRTC 客户端只收不发消息,OutputTransportMessageFrame 会被忽略(打一次警告日志)。需要向频道内发消息时,请由你的业务服务端调用 服务端 API · 发送自定义消息。
本 transport 目前只处理音频,不收发视频帧。