基于开源ASR、LLM、TTS、THG的数字人对话demo,首包延迟3-5s。
在线demo:https://www.modelscope.cn/studios/AI-ModelScope/video_chat
详细的技术介绍请看这篇文章
中文简体 | English
- TTS模块添加音色克隆功能
- TTS模块添加edge-tts
- LLM模块添加qwen本地推理
- 链路优化:端到端语音
- ASR (Automatic Speech Recognition): FunASR
- LLM (Large Language Model): Qwen
- TTS (Text to speech): GPT-SoVITS, CosyVoice, edge-tts
- THG (Talking Head Generation): MuseTalk
- ubuntu 22.04
- python 3.10
- torch 2.1.2
$ git lfs install
$ git clone https://www.modelscope.cn/studios/AI-ModelScope/video_chat.git
$ conda create -n metahuman python=3.10
$ conda activate metahuman
$ cd video_chat
$ pip install -r requirement.txt
$ pip install --upgrade gradio # 安装Gradio 5
创空间仓库已设置git lfs
追踪权重文件,如果是通过git clone https://www.modelscope.cn/studios/AI-ModelScope/video_chat.git
克隆,则无需额外配置
参考这个链接
目录如下:
./weights/
├── dwpose
│ └── dw-ll_ucoco_384.pth
├── face-parse-bisent
│ ├── 79999_iter.pth
│ └── resnet18-5c106cde.pth
├── musetalk
│ ├── musetalk.json
│ └── pytorch_model.bin
├── sd-vae-ft-mse
│ ├── config.json
│ └── diffusion_pytorch_model.bin
└── whisper
└── tiny.pt
参考这个链接
LLM模块和TTS模块提供了多种方式,可自行选择推理方式
对于LLM模块和TTS模块,如果本地机器性能有限,可使用阿里云大模型服务平台百炼提供的Qwen API和CosyVoice API,请在app.py(line 14)中配置API-KEY。
参考这个链接完成API-KEY的获取与配置。
os.environ["DASHSCOPE_API_KEY"] = "INPUT YOUR API-KEY HERE"
如果不使用API-KEY,请参考以下说明修改相关代码。
src/llm.py
中提供了Qwen
和Qwen_API
两个类分别处理本地推理和调用API。若不使用API-KEY,有以下两种方式进行本地推理:
- 使用
Qwen
完成本地推理。 Qwen_API
默认调用API完成推理,若不使用API-KEY,还可以使用vLLM
在本地部署模型推理服务,参考这个链接完成部署后,使用Qwen_API(api_key="EMPTY",base_url="http://localhost:8000/v1")
初始化实例调用本地推理服务。
src/tts.py
中提供了GPT_SoVits_TTS
和CosyVoice_API
分别处理本地推理和调用API。若不使用API-KEY,可直接删除CosyVoice_API
相关的内容,使用Edge_TTS
调用Edge浏览器的免费TTS服务进行推理。
$ python app.py
- 在
/data/video/
中添加录制好的数字人形象视频 - 修改
/src/thg.py
中Muse_Talk
类的avatar_list
,加入(形象名, bbox_shfit)
,关于bbox_shift的说明参考这个链接 - 在
/app.py
中Gradio的avatar_name中加入数字人形象名后重新启动服务,等待完成初始化即可。