Skip to content

一个高自由度的端到端的可定制AI-VTuber。支持对接哔哩哔哩直播间,以智谱API作为语言基座模型,拥有意图识别、长短期记忆(直接记忆和联想记忆),支持搭建认知库、歌曲作品库,接入了当前热门的一些语音转换、语音合成、图像生成、数字人驱动项目,并提供了一个便于操作的客户端。

License

Notifications You must be signed in to change notification settings

whoiswennie/AI-Vtuber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8e3f857 · Sep 22, 2024

History

57 Commits
Jul 13, 2024
Jul 11, 2024
Jul 11, 2024
Jul 11, 2024
Jul 13, 2024
Jul 11, 2024
Feb 5, 2024
Jul 11, 2024
Jul 11, 2024
Feb 4, 2024
Sep 22, 2024
Jul 11, 2024
Jun 22, 2024
Jul 11, 2024
Jul 16, 2024
Feb 4, 2024
Jul 11, 2024
Jun 22, 2024

Repository files navigation

AI-VTUBER

GitHub stars GitHub issues GitHub forks python


项目简介(推荐优先看)

本项目旨在实现一个高自由度的可定制AI-VTuber。支持对接哔哩哔哩直播间,以智谱API作为语言基座模型,拥有意图识别、长短期记忆(直接记忆和联想记忆),支持搭建认知库、歌曲作品库,接入了当前热门的一些语音转换、语音合成、图像生成、数字人驱动项目,并提供了一个便于操作的客户端。

本项目特色:

  • 1.本项目对于本地显卡的要求并不高,能正常运行stable-diffusion的电脑基本都能安心食用本项目。
  • 2.本项目占地面积可能会比较大(完整部署后大约20多g,还不算第三方项目),主要是因为虚拟环境体积比较大,日后会着手解决该问题。
  • 3.本项目内置miniconda3管理虚拟环境,便于用户自行扩展第三方模块。
  • 4.本项目提供了一个可视化的客户端(基于streamlit框架构建),支持:环境管理、虚拟主播定制、扩展项目自启动、一些实用的小工具、直播后端监听、图数据库编辑等操作。
  • 5.本项目提供了对于so-vits-svc4.1项目的训练-推理一条龙服务。
  • 6.本项目提供了一个后端API服务器,支持通过get/post请求获得本项目绝大多数服务。
  • 7.本项目支持虚拟主播模板构建、多人设模板管理、实时切换虚拟主播模板等操作。
  • 8.当前版本中,本项目对接的开源项目包括:so-vits-svc4.1(语音转换)、GPT-Sovits(语音合成)、UVR5(人声分离)、fast-whisper(语音识别)、stable-diffusion-webui(图像生成)、stable-diffusion-comfyui、easyaivtuber(数字人驱动)、rembg(背景扣除)
  • 9.本项目提供的实用小工具包括:视频/音频爬虫、语音识别、人声分离、语音合成、语音转换、AI画画、图片去背景。
  • 10.本项目通过构建角色提示词模板、基于知识图谱查询的认知/作品知识库、基于向量数据库的知识库查询构建AI虚拟主播人设(技术实现可以去看作者的语雀文档或者博客)。

附件

文档教程(正在更新中)| 视频效果演示(这个是老版本的演示)|作者的相关作品集(新版)|夸克网盘【提供整合包、预训练模型的下载】

使用须知

本项目提供release版以及整合包版。


当前版本功能介绍

  • 当前版本功能:

    • 对接哔哩哔哩开放平台
    • 支持edge-tts+svc实现定制化的语音合成
    • 支持gpt-sovits
    • 支持智谱api
    • 通过图数据库实现本地歌库多元化搜索
    • 通过向量数据库和知识图谱搭建知识库
    • 自动化的知识图谱制作工具
    • 支持多模板AI虚拟主播定制
    • 具有短期/长期记忆
    • 支持情感聊天
    • 支持对话、唱歌、本地/网络搜索、画画四种意图的任务
    • 对接so-vits-svc并提供训练-推理的一条龙服务
    • 对接sd(webui和comfyui)
    • 对接EasyAiVtuber项目
    • streamlit客户端设计(主要是管理和定制你的ai-vtuber的)
  • 当前主要工作:

    • 完善项目文档(在语雀更新【附件中文档教程】)
    • 录制相关使用教程(在b站更新)
    • 发布与本项目相关联的第三方项目整合包(【附件中夸克网盘】)
  • **未来v2版本更新计划(本人大四生,这一年将会比较忙碌,所以v2更新会比较慢): **

  • 0、缩减项目体积和运行成本

  • 1、基于electron开发桌面应用(主要任务)

  • 2、主要基于国内性价比较高的LLM继续开发Agent模块

  • 3、完善一个作为AI主播该有的直播间交互功能

  • 4、尝试更多的数字人方案(目前正在考虑以生态较为成熟的live2d技术配合图像生成作为下一阶段的数字人方案), 例如:https://github.com/user-attachments/assets/9f699967-feb7-4dc8-9f38-b28a64d06c89

如何启动本项目

前置准备

release版需要提前下载预训练模型并将其放置于

runtime
├───miniconda3
└───pretrained_models
    ├───faster-whisper
    	└───large-v2
    		└───这里
    ├───gte-base-zh
    	└───这里
tools
├───uvr5
    └───uvr5_weights
        └───这里

在本项目根目录中,存在以下两个bat脚本

运行 condaenv.bat  #本项目主环境搭建(整合包可以忽略这步)
运行 start.bat  #启动客户端

国内镜像源

清华:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学:http://pypi.hustunique.com/simple/
上海交通大学:https://mirror.sjtu.edu.cn/pypi/web/simple/
豆瓣:http://pypi.douban.com/simple/

本项目的数字人效果演示(对接EasyAIVTuber数字人项目实现:以流萤为例)

[流萤:睡眠状态]

ly_sleep.mp4

[流萤:说话状态]

ly_talk.mp4

[流萤:点歌状态]

ly_search.mp4

[流萤:唱歌状态]

ly_sing.mp4

对接仓库

https://github.com/xfgryujk/blivedm

https://github.com/ycyy/faster-whisper-webui

https://github.com/svc-develop-team/so-vits-svc

https://github.com/RVC-Boss/GPT-SoVITS

https://github.com/Anjok07/ultimatevocalremovergui

https://github.com/Ksuriuri/EasyAIVtuber

https://github.com/fishaudio/Bert-VITS2

Star History

Star History Chart

About

一个高自由度的端到端的可定制AI-VTuber。支持对接哔哩哔哩直播间,以智谱API作为语言基座模型,拥有意图识别、长短期记忆(直接记忆和联想记忆),支持搭建认知库、歌曲作品库,接入了当前热门的一些语音转换、语音合成、图像生成、数字人驱动项目,并提供了一个便于操作的客户端。

Resources

License

Stars

Watchers

Forks

Packages

No packages published