WebRTC实现VoiceAgent智能体

今天给大家介绍使用RTCPilot实现基于WebRTC的voice agent。

RTCpilot是基于c++17开发的,跨平台,支持服务集群的WebRTC服务。

什么是voice agent?

一句话定义:实时语音对话AI大模型,跑在 WebRTC 低延迟实时音视频通道上,让用户直接在浏览器 / APP 里,像打电话一样和 AI 自然对话。

Voice Agent主要功能,Voice Agent==语音智能体,

主要功能和特点是:

  • 能听

  • 能想

  • 能说

  • 能实时、全双工、可打断地跟人聊天

也就是在它的回答过程中,你可以打断它的回答,提出新的问题。

它基于WebRTC体系,整个流程:

语音采集 → WebRTC 传输 → 云端实时 ASR → LLM 流式推理 → 流式 TTS → WebRTC 回传 → 播放

RTC Voice Agent在国内云厂商已经非常普及,声网,火山引擎,科大讯飞。他们宣传:

实时语音交互基础设施 + 大模型语音化引擎,

把任意文本大模型快速变成可实时对话的 Voice Agent。

我们使用基于开源的RTC pilot来实现一个完整的voice agent,完全开源实现,可以本地部署,不依赖任何云平台。

在视频连接中,有演示效果:

RTC实现VoiceAgent

RTC Pilot的Voice Agent实现,原来的RTC Pilot是一个WebRTC音视频会议SFU服务,支持跨平台,支持集群部署,本质是一个支持网络高并发的SFU。

但是支持voice agent后,加入音频编解码,加入ASR,文字转语音服务,加入TTS语音转文字服务,一下子系统变成CPU密集型的服务,也就是变成WebRTC MCU服务。

其实ASR,TTS和编解码服务,应该放在单独的MCU服务中,这么实现主要是广大初级网友不知道怎么部署,被迫无奈的实现。

当前的RTCPilot支持voice agent的代码,独立放在voiceagent分支,我还在犹豫是否合入主线,或者如何合入主线。

因为涉及编解码,voiceagent还未支持win11平台,后续也需要改进。

RTCPilot服务端地址:

复制代码
https://github.com/runner365/RTCPilotbranch:voiceagent

RTCPilot客户端地址:

复制代码
https://github.com/runner365/webrtc_js_client

如果你有好的建议,可以在评论区告诉我。

如果觉得对你有帮助,请一键三连,谢谢大家。

相关推荐
程序员老陆13 小时前
WHIP 与 WHEP:WebRTC 直播的标准化入口与出口
ffmpeg·音视频·webrtc·whip·whep
平行云9 天前
国产GPU云渲染适配实战:驱动兼容、编码调优与多路并发
unity·ue5·webrtc·webgl·实时云渲染·云桌面·像素流送
隐擎fox10 天前
网络传输安全剖析:WebRTC 本地真实 IP 泄漏机制(STUN/TURN)与 Python 防护检测实战
网络·网络协议·tcp/ip·安全·webrtc
福大大架构师每日一题11 天前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc
脏脏a13 天前
Neko 自托管实战:WebRTC 远程浏览器、多用户权限与公网访问
webrtc
cuijiecheng201814 天前
从 6.49 秒到约 1.9 秒:RK3588上的WebRTC 实时流启动速度优化记录
webrtc
SendTomo15 天前
SendTomo 与 send.wang 全景对比评测与实战指南
网络·网络协议·tcp/ip·webrtc·p2p
java_logo15 天前
Docker 部署 SRS:轻松搭建实时音视频流媒体平台
docker·容器·webrtc·实时音视频·rtmp·http-flv·轩辕镜像
wjcroom15 天前
一个可以在线多人玩的五子棋开发与布署方法-WebRTC和WebSocket的测试方法
websocket·网络协议·webrtc
cuijiecheng201819 天前
RK3588 WebRTC 实时流卡顿优化:从视频桥接到 H.264 PTS 回退
音视频·webrtc·h.264