腾讯MuseTalk:实时音唇同步虚拟数字人模型
MuseTalk:实时高品质唇形同步与潜在空间修复
MuseTalk简介
腾讯音乐娱乐实验室最近开源了一个名为 MuseTalk 的模型,它主打实时、高品质的唇形同步。简单来说,它能根据输入音频,让视频中的人物口型精准匹配语音,并且可以和 MuseV 生成的视频无缝衔接,形成完整的虚拟数字人解决方案。
那么,这个模型到底有哪些硬核能力?
- 能够根据输入的音频修改未知的面部动作,面部区域大小为 256 x 256。
- 支持中文、英文和日文等多种语言的音频输入。
- 在 NVIDIA Tesla V100 上推理速度超过 30fps,做到实时。
- 支持修改面部区域中心点,这个参数对生成结果影响显著。
- 基于 HDTF 数据集训练,提供了预训练 checkpoint。
MuseV 和 MuseTalk 搭配使用,就是一套完整的虚拟人生成流程:先用 MuseV 生成视频(文本到视频、图像到视频或姿态到视频),建议用帧插值提高帧率,然后再用 MuseTalk 做音唇同步。
MuseTalk模型
MuseTalk 的训练方式很有意思。它是在潜在空间中进行的,图像由冻结的 VAE 编码,音频由冻结的 whisper-tiny 模型编码。生成网络借鉴了 stable-diffusion-v1-4 的 UNet 架构,音频嵌入通过交叉注意力与图像嵌入融合。
注意:虽然架构和 Stable Diffusion 很像,但 MuseTalk 并不是扩散模型。它的独特之处在于,通过单步修复在潜在空间中完成操作,而非多步去噪。
MuseTalk演示案例
MuseV + MuseTalk 让人物照片栩栩如生!
01. Sit
输入图像:

MuseV:
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3458017262458568705"></iframe>
MuseTalk:
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3458017618454315010"></iframe>
02. Sun
输入图像:
MuseV:
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3458017845651374081"></iframe>
MuseTalk:
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3458018203006074882"></iframe>
视频配音
对于视频配音,官方团队应用了一个自行开发的工具识别说话的人物完成配音。下面展示的视频原地址为:https://www.bilibili.com/video/BV1wT411b7HU
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3458018578496946177"></iframe>
MuseTalk模型ComfyUI体验
目前社区已经有对应的 ComfyUI 插件支持,插件地址为:https://github.com/chaojie/ComfyUI-MuseTalk。搭建流程稍微有点复杂,需要折腾一阵。如果想快速体验,建议直接参考下面的一键安装包(网上有热心大佬整理)。不过这里我们重点介绍标准的手动安装步骤:
ComfyUI 插件安装步骤如下:
- 通过 ComfyUI 插件管理器搜索 ComfyUI-MuseTalk,并点击安装插件。
- 下载模型 TMElyralab/MuseTalk,以及 sd-vae-ft-mse、whisper、dwpose、face-parse-bisent、resnet18 等多个模型。由于模型较多,建议将下载好的文件按照以下目录结构放置:
ComfyUI/models/diffusers/TMElyralab/MuseTalk/
├── musetalk
│ └── musetalk.json
│ └── pytorch_model.bin
├── dwpose
│ └── dw-ll_ucoco_384.pth
├── face-parse-bisent
│ ├── 79999_iter.pth
│ └── resnet18-5c106cde.pth
├── sd-vae-ft-mse
│ ├── config.json
│ └── diffusion_pytorch_model.bin
└── whisper
└── tiny.pt
另外,官方说默认会自动下载 s3fd.pth 文件,但实际测试下来似乎并不会。如果遇到以下报错,就需要手动将 s3fd.pth 文件放置在 /ComfyUI/custom_nodes/ComfyUI-MuseTalk/musetalk/utils/face_detection/detection/sfd 目录下。
RuntimeError: unexpected EOF, expected 15021382 more bytes. The file might be corrupted.
Cannot import MuseTalk module for custom nodes: unexpected EOF, expected 15021382 more bytes. The file might be corrupted.
除了模型下载外,还需要手动安装如下依赖:
pip install --no-cache-dir -U openmim
mim install mmengine
mim install "mmcv>=2.0.1"
mim install "mmdet>=3.1.0"
mim install "mmpose>=1.1.0"
最后,导入对应的工作流文件(可以从项目的 GitHub 页面或社区分享中获得),重启 ComfyUI 即可。
01.上春山
输入视频(MuseV):
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3463149723110801408"></iframe>
输出视频(MuseTalk)
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3463225545205153796"></iframe>
02.变换英文歌曲
由于微信文章视频数量限制,以下案例就仅放置输出视频效果展示。
输出视频(MuseTalk)
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3463149294889140226"></iframe>
03.不懂欣赏我
输出视频(MuseTalk)
<iframe allowfullscreen="" frameborder="0" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3463146202881785857"></iframe>
附录
- GitHub:https://github.com/TMElyralab/MuseTalk
- ComfyUI 插件:https://github.com/chaojie/ComfyUI-MuseTalk
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名