VideoChat

Henry-23MIT更新放缓

开箱即用的实时交互数字人,支持自定义形象和音色克隆,端到端对话延迟低至3秒,适合快速搭建虚拟主播或客服场景。

实时交互数字人,可自定义形象与音色,支持音色克隆,对话延迟低至3s。Real-time voice interactive digital human, customizable appearance and voice, supporting voice cloning, with initial package delay as low as 3s.

暂无版本1,331star175fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
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 requirements.txt
python app.py
硬件要求按 README 说明

级联方案约需 8G 显存,首包约 3s;端到端 MLLM 方案约需 20G 显存,首包约 7s,均以单张 A100 测得。README 未说明是否支持 CPU 运行及其他 GPU 型号。

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

实时语音交互数字人,可自定义形象与音色,支持音色克隆,首包延迟低至3秒

开箱即用的实时交互数字人,支持自定义形象和音色克隆,端到端对话延迟低至3秒,适合快速搭建虚拟主播或客服场景。

核心能力

  • 支持端到端 MLLM-THG 与 ASR-LLM-TTS-THG 级联两种方案
  • 集成 FunASR、Qwen、GPT-SoVITS、CosyVoice、MuseTalk 等模块
  • 上传参考音频即可克隆音色,也可永久添加自定义音色
  • 在 /data/video 添加视频并改 avatar_list 即可换数字人形象
  • LLM 与 TTS 可走百炼 API 或本地推理,按显存灵活选择

容易踩的坑

需先安装 git lfs 克隆创空间仓库,否则权重文件不完整;默认走百炼 API,需在 app.py 第 14 行配置 DASHSCOPE_API_KEY,不用 API 则要改代码切本地推理;端到端方案需额外下载 GLM-4-Voice 权重,不用时建议切到 cascade_only 分支以降低显存。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    数字人对话demo

    实时语音交互数字人,支持端到端(MLLM - THG)和级联(ASR-LLM-TTS-THG)。可自定义形象与音色,支持音色克隆,首包延迟低至3s。

    技术介绍:量子位推文

    中文简体 | English

    Star History

    Star History Chart

    技术选型

    本地部署

    0. 显存需求

    • 级联方案(ASR-LLM-TTS-THG):约8G,首包约3s(单张A100)。

    • 端到端语音方案(MLLM-THG):约20G,首包约7s(单张A100)。

    如果不需要使用端到端 MLLM,请选择仅包含级联方案的cascade_only分支。

    $ git checkout cascade_only
    

    1. 环境配置

    • ubuntu 22.04
    • python 3.10
    • CUDA 12.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 requirements.txt
    

    requirements中的版本仅供参考,最新依赖请查看对应模块的Repo说明

    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

    在app.py中添加如下代码即可完成下载。

    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. 其他配置

    LLM模块和TTS模块提供了多种方式,可自行选择推理方式

    3.1 使用API-KEY(默认)

    对于LLM模块和TTS模块,如果本地机器性能有限,可使用阿里云大模型服务平台百炼提供的Qwen API和CosyVoice API,请在app.py(line 14)中配置API-KEY。

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

    os.environ["DASHSCOPE_API_KEY"] = "INPUT YOUR API-KEY HERE"
    
    3.2 不使用API-KEY

    如果不使用API-KEY,请参考以下说明修改相关代码。

    3.2.1 LLM模块

    src/llm.py中提供了Qwen和Qwen_API两个类分别处理本地推理和调用API。若不使用API-KEY,有以下两种方式进行本地推理:

    1. 使用Qwen完成本地推理。
    2. Qwen_API默认调用API完成推理,若不使用API-KEY,还可以使用vLLM加速LLM推理。可参考如下方式安装vLLM:
      $ git clone https://github.com/vllm-project/vllm.git
      $ cd vllm
      $ python use_existing_torch.py
      $ pip install -r requirements-build.txt
      $ pip install -e . --no-build-isolation
      
      安装完成后,参考这个链接进行部署,使用Qwen_API(api_key="EMPTY",base_url="http://localhost:8000/v1")初始化实例调用本地推理服务。
    3.2.2 TTS模块

    src/tts.py中提供了GPT_SoVits_TTS和CosyVoice_API分别处理本地推理和调用API。若不使用API-KEY,可直接删除CosyVoice_API相关的内容,使用Edge_TTS调用Edge浏览器的免费TTS服务进行推理。

    4. 启动服务

    $ python app.py
    

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

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

    GPT-SoVits支持自定义音色。demo中可使用音色克隆功能,上传任意语音内容的参考音频后开始对话,或将音色永久添加到demo中:

    1. 在/data/audio中添加音色参考音频,音频长度3-10s,命名格式为x.wav
    2. 在/app.py中Gradio的avatar_voice中加入音色名(命名格式为x (GPT-SoVits))后重新启动服务。
    3. TTS选型选择GPT-SoVits,开始对话

    6. 已知问题

    1. 报错无法找到某资源:按照报错提示下载对应的资源即可 alt text

    2. 右侧视频流播放卡顿:需等待Gradio优化Video Streaming效果

    3. 与模型加载相关:检查权重是否下载完整