当前位置: 首页 > news >正文

[开源] OpenTalking:整合 LLM、流式 TTS 与 WebRTC 的实时数字人编排框架

[开源] OpenTalking:面向实时对话的开源数字人产线 (LLM+TTS+WebRTC)

V站的各位开发者朋友们大家好!今天想和大家分享我们开源的一个新项目:OpenTalking。这是一个开源的实时数字人框架。

开发数字人对话产品时,大家往往会遇到一个痛点:各种优秀的开源模型(大语言模型、语音合成、数字人渲染)都有了,但要把它们拼凑成一个低延迟、体验顺畅的 WebRTC 实时产品链路却非常繁琐。

OpenTalking 的目标就是帮你把数字人对话产品需要的链路串起来。它涵盖了前端交互、会话状态、LLM 回复、TTS/音色选择、打断控制、字幕事件、WebRTC 音视频播放,以及外部模型服务调用。相比于死磕底层的推理模型,OpenTalking 专注于提供一个完善的产线编排层

🌟 核心亮点与能力

  • 开箱即用的实时链路:从 LLM 回复、流式 TTS,到字幕事件、状态事件和 WebRTC 播放,全部在一条链路中完成。
  • 兼容高质量与轻量级部署:原生支持 FlashTalk 风格推理服务作为高质量数字人渲染后端(基于 OmniRT 框架)。如果你只想跑通体验,也提供轻量 Demo 路径,无需先下载完整 FlashTalk 权重就能跑通 API、TTS、WebRTC 和前端体验。
  • 灵活的 LLM 生态接入:无缝支持 DashScope、Ollama、vLLM、DeepSeek 等所有 OpenAI-compatible endpoint。
  • 多硬件与多形态部署:支持单进程 demo、API/Worker 分布式模式以及 Docker Compose。无论是面向 RTX 3090 / 4090 的消费级显卡单卡实时配置,还是面向昇腾 910B 等企业级 GPU/NPU 的高质量私有化部署,都能很好地支持。
  • 对话打断控制:当前已具备说话轮次的打断基础,后续计划升级为全链路取消。

🛠 技术栈

  • 开发语言:Python 3.9+
  • 后端框架:FastAPI
  • 前端框架:React 18
  • 流媒体通信:WebRTC

🚀 快速上手体验

为了让大家能快速看到效果,我们对链路做了简化处理。默认情况下,你只需要在本地部署一个模型服务(FlashTalk WebSocket),然后将 LLM、STT、TTS 全部走阿里云百炼的 API(例如 OpenAI 兼容端点和 DashScope 实时 ASR/TTS),就可以跑起来。后续你可以无痛切换为自己本地部署的各类自定义模型服务。

🔗 传送门与交流

项目基于 Apache License 2.0 协议开源,欢迎大家来跑一跑,提提 Issue 或者 PR!如果觉得有帮助,求大佬们赏个 Star ⭐️!

  • GitHub 地址:https://github.com/datascale-ai/opentalking
  • 详细文档:仓库内包含了快速开始、架构说明、部署文档以及硬件指南等完整文档。
http://www.jsqmd.com/news/733181/

相关文章:

  • 保姆级教程:在YOLOv8中手把手替换BiFPN,并添加P2层提升小目标检测效果
  • 比亚迪DiLink 4.0车机Root实战:从固件提取到Magisk修补的保姆级避坑指南
  • 告别‘一病一药’:用PromptIR这个‘万能提示’模块,一个模型搞定图片去雾、去雨、去噪
  • 别再只用CBC了!聊聊OpenSSL AES ECB模式那些容易被忽略的坑(附C++实战代码)
  • 从Slack反推设计瓶颈:一个真实案例带你玩转Vivado Path Report
  • 保姆级教程:手把手教你将YOLOv8-Seg模型从PyTorch移植到C++推理引擎(附完整代码)
  • 从一次Samba挂载失败,聊聊Linux网络文件系统(CIFS/SMB)的版本兼容性与安全策略
  • 有效睡眠的本质的庖丁解牛
  • 从图像滤镜到推荐算法:Hadamard积和Kronecker积在AI项目里的‘隐藏’用法与性能调优
  • TVBoxOSC:打造你的全能电视盒子播放器终极指南
  • 2026年3月优秀的打包机企业口碑推荐,全自动打包机/手提式电动打包机/缠绕膜/彩色缠绕膜,打包机制造商有哪些 - 品牌推荐师
  • 麒麟系统桌面文件误删:数安寻搭建数据“重生”桥梁
  • 利用Taotoken模型广场为不同文本处理任务选择合适的模型
  • 3分钟学会:用stl-thumb为STL文件生成精美缩略图
  • 《OpenClaw本地知识库优化:从导入到优先调用指南》
  • 别再空谈4R了!用Notion或飞书搭建你的第一个客户关系管理看板(附模板)
  • Translumo:打破语言壁垒的智能屏幕翻译神器
  • 【学习笔记】Grader交互
  • 终极指南:如何用TMSpeech实现Windows本地实时语音转文字
  • Dify 2026多模态集成权威拆解:基于23家头部客户POC数据的延迟/吞吐/准确率三维基准测试报告(含可复现benchmark脚本)
  • 别再到处找Modbus主机库了!一个头文件搞定STM32CubeMX下的RTU主站通信
  • 微信同款存储引擎MMKV实战:从mmap原理到Protobuf编码,一次搞懂高性能背后的秘密
  • 告别弹窗卡顿!Android BottomSheetBehavior 性能优化与避坑实战(附完整代码)
  • 长期使用Taotoken服务感受到的API调用稳定性与技术支持响应
  • 告别激活烦恼:KMS_VL_ALL_AIO如何用一行命令解决Windows和Office激活难题
  • python papermill
  • 3步让小爱音箱变身AI语音助手:MiGPT完整指南
  • 别再让小车跑偏了!手把手教你用STM32CubeMX和FreeRTOS实现PID差速循迹(附完整代码)
  • 通过Taotoken CLI工具一键生成Java项目所需的环境配置
  • DeepSeek V4 安全性与伦理:AI发展之路的思考