logo
0
0
WeChat Login
henrychi1123<chiweiheng.cwh@alibaba-inc.com>
switch to torch 2.3.0

数字人对话demo

基于开源技术的数字人对话demo,提供MLLM(GLM-4-Voice)-THG和ASR-LLM-TTS-THG两种数字人生成方式,首包延迟低至3s。

Github链接,欢迎star🌟

详细的技术介绍请看这篇文章

TODO

  • TTS模块添加音色克隆功能
  • TTS模块添加edge-tts
  • LLM模块添加qwen本地推理
  • 支持GLM-4-Voice,提供ASR-LLM-TTS-THG和MLLM-THG两种生成方式
  • 等待gradio-webrtc支持音视频同步传输后,提供webrtc选项

技术选型

本地部署

1. 环境配置

  • ubuntu 22.04
  • CUDA 12.1
  • python 3.10
  • torch 2.1.2 / torch 2.3.0
$ 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

2. 权重下载

2.1 创空间下载(推荐)

创空间仓库已设置git lfs追踪权重文件,如果是通过git clone https://www.modelscope.cn/studios/AI-ModelScope/video_chat.git克隆,则无需额外配置

2.2 手动下载

2.2.1 MuseTalk

参考这个链接

目录如下:

./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

2.2.2 GPT-SoVITS

参考这个链接

2.2.3 GLM-4-Voice

from modelscope import snapshot_download snapshot_download('ZhipuAI/glm-4-voice-tokenizer',cache_dir='./weights') snapshot_download('ZhipuAI/glm-4-voice-decoder',cache_dir='./weights') snapshot_download('ZhipuAI/glm-4-voice-9b',cache_dir='./weights')

3. API-KEY

如果需要使用阿里云大模型服务平台百炼提供的Qwen APICosyVoice API,请在app.py(line 14)中配置API-KEY。

参考这个链接完成API-KEY的获取与配置。

os.environ["DASHSCOPE_API_KEY"] = "INPUT YOUR API-KEY HERE"

4. 启动服务

$ python app.py

5. 使用自定义的数字人形象(可选)

  1. /data/video/中添加录制好的数字人形象视频
  2. 修改/src/thg.pyMuse_Talk类的avatar_list,加入(形象名, bbox_shfit),关于bbox_shift的说明参考这个链接
  3. /app.py中Gradio的avatar_name中加入数字人形象名后重新启动服务,等待完成初始化即可。