AI Vtuber一款聚合了多种大模型技术的虚拟主播

大家好,笔者荒生,今天调研了一款比较不错的开源项目AI-Vtuber,和大家一起分享。

AI-Vtuber是一款数字人虚拟直播软件,聚合了多种多种市面主流大模型技术,可谓牛得一逼。包括:支持ChatGPTClaudeChatGLM智谱AI文心一言Google BardGoogle Gemini等等一系列的 Chat 技术;支持VITSBert-Vits2VALL-E-XOpenVoiceclone-voiceEdge-TTS等多种的语音技术;同时也支持So-Vits-SVCDDSP-SVC变声技术。

是不是感觉技术栈满当当的,这还没完。最让笔者感觉牛逼的还是对接了多种数字人平台,包含:Live2DVtube StudioUE5EasyAIVtuber。而且还支持一键接入多种国内外直播平台,像B站抖音快手小程序YouTube和近年来最火爆的TikTok

此时此刻,有没有一点懵逼的感觉,老实说,其实笔者第一反应就是如此。

项目框架

如果大胆的想象一下,不妨将其称之为互联网技术的终点就是 AI 数字人。好了,笔者先带大家看看项目的整体架构吧

有没有很惊讶,AI Vtuber几乎能够模拟出人类肢体主要的特征。当然,笔者尝试了这些技术。整体来看,厂商接口效果肯定更好,开源算法目前只能做验证替代。但是,笔者坚信不久的将来,AI 智能虚拟人一定会完美实现。

上面,看完这个比较宏大的架构,我们也来简单分析下作者是如何实现的。

代码剖析

  • config.json 配置文件
  • api.py 接口主程序
  • main.py GUI 界面主程序
  • webui.py WEBUI 界面主程序
  • utils 文件夹,Chat、T2ST、S2TT 和通用类相关功能的封装实现
  • data 文件夹,存储数据文件、违禁词、文案等
  • Live2D 文件夹,存储 Live2D 源码及模型

前端工程

整个项目以webui.py文件作为入口,使用NiceGUI这个 Python 框架为整个项目的编写 Web 前端。

后端工程

讲真,作者的后端工程整体就比较粗糙了,整个后端架构不是很合理。

后端工程主要包含:api.py接口代码、main.py界面代码、config.json全局配置代码。

整个项目都是基于各种算法接口直接的配合调用,代码相对简单。如果想自行尝试的同学,可以先本地部署需要的开源算法,然后通过127.0.0.1进行配置调用。针对厂商的商业 AI 服务,则需要先申请权限后才能使用。

针对对接第三方直播平台,作者主要采用了两种方式:第三方 SDK爬虫逆向,具体如下:

  • Bilibili:SDK(bilibili-api-python),具体地址:github.com/Nemo2011/bi...)
  • 抖音:websockets 接口 + protobuf2 协议方式
  • 快手:https + websockets 接口 + protobuf2 协议方式
  • 视频号:HTTP 回调方式
  • 斗鱼:websockets 接口方式
  • Youtube:SDK(pytchat),具体地址:github.com/EbenKouao/y...
  • twitch:HTTP 方式
  • Tiktok:SDK(TikTokLive),具体地址:github.com/isaackogan/...

做个小结

好了,以上就是整个技术就是介绍,笔者做个小结:

  • 作者以当前的主流AI技术为复合基础,搭建了一个技术全面,脉络清晰的数字人平台,梳理好了当前的技术栈。但是采用的技术较通用,相对比较简单。
  • 整个项目单点架构,用作本地验证可以,如果落地生产,则需要做一个较大的重构。比如:代码框架优化;内存队列改远程分布式队列;内存/文件存储改远程缓存/对象存储;算法使用懒加载机制;Chat 接口支持Stream机制。

以上就是本期的全部内容,笔者荒生,谢谢大家的观看,点赞评论加关注笔者也值得拥有。下面是一些项目链接,大家可以自行查阅,或者私信笔者留言询问。

相关推荐
2401_841495649 分钟前
【数据结构】基于BF算法的树种病毒检测
java·数据结构·c++·python·算法·字符串·模式匹配
图灵信徒27 分钟前
R语言绘图与可视化第六章总结
python·数据挖掘·数据分析·r语言
封奚泽优35 分钟前
使用Labelme进行图像标注
开发语言·python·labelme
檐下翻书17343 分钟前
智能医疗大模型在医生培训中的应用案例
python
码界筑梦坊1 小时前
243-基于Django与VUE的笔记本电脑数据可视化分析系统
vue.js·python·信息可视化·数据分析·django·毕业设计·echarts
蛋仔聊测试2 小时前
Playwright 中route 方法模拟测试数据(Mocking)详解
前端·python·测试
今天没有盐2 小时前
Pandas缺失值处理完全指南:从基础操作到高级技巧
python·pycharm·编程语言
程序员小远2 小时前
快速定位bug,编写测试用例
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·bug
B站_计算机毕业设计之家2 小时前
大数据YOLOv8无人机目标检测跟踪识别系统 深度学习 PySide界面设计 大数据 ✅
大数据·python·深度学习·信息可视化·数据挖掘·数据分析·flask
Mintopia2 小时前
🚀 共绩算力:3分钟拥有自己的文生图AI服务-容器化部署 StableDiffusion1.5-WebUI 应用
前端·人工智能·aigc