目录
一、简介
MuseTalk 是腾讯音乐娱乐集团 Lyra 实验室推出的开源技术项目,聚焦于实时高质量唇同步(Lip Synchronization)技术研发,旨在为数字人视频生成提供端到端的完整解决方案。该项目于 2024 年 4 月正式对外发布,凭借在多语言支持、实时性能与生成质量上的创新突破,成为数字人交互领域的关键技术基础设施。
二、环境要求
Python 版本:>=3.10
CUDA 版本:11.7 (可根据环境调整)
nvcc --version #查看下载的CUDA版本号
输出应显示:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99 #这个就是其CUDA版本号
Build cuda_11.7.r11.7/compiler.31442593_0
三、安装部署
1. 创建虚拟环境和克隆仓库
(推荐使用 Python 3.10 和 CUDA 11.7)
# 使用Anaconda创建并激活 Python 虚拟环境(推荐 Python 3.10)
conda create -n musetalk python=3.10 -y
conda activate musetalk
# 克隆GitHub官方项目(使用官方仓库或镜像)
git clone https://github.com/TMElyralab/MuseTalk.git
cd MuseTalk
2.依赖安装
安装 PyTorch(匹配 CUDA 11.7)
# 安装PyTorch(CUDA 11.7)
pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117--extra-index-url https://download.pytorch.org/whl/cu117
安装 FFmpeg关键依赖
sudo apt update && sudo apt install ffmpeg
验证安装
ffmpeg -version
安装项目依赖
pip install -r requirements.txt #MuseTalk官方仓库的requirements.txt文件
安装OpenMMLab packages
(MMLab 生态系统提供了许多计算机视觉相关的工具包)
pip install --no-cache-dir -U openmim
mim install mmengine
mim install mmcv==2.0.1
mim install mmdet==3.2.0
mim install mmpose==1.3.2
常见依赖冲突处理
(1) 版本冲突
如果安装过程中出现版本冲突,可以尝试以下方法: 使用虚拟环境:确保每个项目使用独立的虚拟环境。 手动降级:根据错误提示,手动安装兼容版本的依赖包。
(2)CUDA 版本不匹配
确保 PyTorch 的 CUDA 版本与本地 CUDA 版本一致。
3.下载预训练模型权重
下载以下各个预训练模型权重并且将其组织进./models目录中
musetalk:MuseTalk 模型权重,下载链接:https://hf-mirror.com/TMElyralab/MuseTalk/tree/main/musetalk
dwpose:姿态估计模型,下载链接:yzd-v/DWPose at main
face-parse-bisent:面部解析模型,下载链接:https://hf-mirror.com/ManyOtherFunctions/face-parse-bisent/tree/main
sd-vae-ft-mse:VAE 模型,下载链接:https://hf-mirror.com/stabilityai/sd-vae-ft-mse/tree/main
whisper:音频编码模型,下载链接:https://openaipublic.azureedge.net/main/whisper/models/65147644a518d12f04e32d6f3b26facc3f8dd46e5390956a9424a650c0ce22b9/tiny.pt
模型权重路径结构为:
4.代码运行
因为MuseTalk经过官方更新后,所依赖的模型权重也会有所增加和变化
第一步:修复模型权重
!!!注意:官方项目中已给出所对应的模型权重文件下载命令
cd MuseTalk
sh download_weights.sh #下载和修复缺失的预训练模型权重文件
第二步:运行推理
普通推理
python -m scripts.inference \
--inference_config configs/inference/test.yaml \
--result_dir results/test \
--unet_model_path models/musetalkV15/unet.pth \
--unet_config models/musetalkV15/musetalk.json \
--version v15 \
--whisper_dir models/whisper
让我详细解释推理命令中每个参数的作用:
参数 | 作用 | 为什么需要 |
---|---|---|
--inference_config | 指定配置文件路径 | 告诉程序在哪里找到视频和音频文件路径 |
--result_dir | 指定输出目录 | 告诉程序把生成的结果保存在哪里 |
--unet_model_path | 指定UNet模型权重 | 程序需要知道从哪里加载训练好的神经网络权重 |
--unet_config | 指定UNet配置 | 程序需要知道神经网络的架构参数 |
--version | 指定模型版本 | 程序需要知道使用哪个版本的模型(v15或v1) |
--whisper_dir | 指定Whisper模型目录 | 程序需要知道从哪里加载音频处理模型 |
实时推理
python -m scripts.realtime_inference \
--inference_config configs/inference/realtime.yaml \
--result_dir results/realtime \
--unet_model_path models/musetalkV15/unet.pth \
--unet_config models/musetalkV15/musetalk.json \
--version v15 \
--whisper_dir models/whisper
四、结语
MuseTalk 作为一款高效、高质量的唇同步模型,为虚拟人制作和视频配音等领域提供了强大的技术支持。其开源特性也为开发者提供了广阔的探索和改进空间。欢迎广大开发者加入 MuseTalk 社区,共同推动虚拟人技术的进步!若要了解更多信息,请访问 MuseTalk GitHub 仓库。