MuseTalk (GPU lip-sync)
使用 MuseTalk,重绘视频或静态图片中说话人的嘴部,使其跟随新的音轨。它需要支持 CUDA 的 NVIDIA 显卡。下载本身很小:首次使用时,它会安装自己的 PyTorch 运行时,并下载数 GB 的模型。
设置 插件 MuseTalk (GPU lip-sync) 安装
Subtitld 会下载它、校验其 SHA-256,并保持更新。
- 插件下载量
- 9–18 MB
功能说明
它可以从视频、单张静态图片或一个帧文件夹开始,并输出一个视频:H.264 编码,新声音为 AAC。
当音频比视频长时,画面会先正放、再倒放,如此往复,直到音频结束。
你下载的插件只是一个小型启动器。它的第一个任务会在一个私有的 Python 环境中安装 PyTorch 和 MuseTalk 的其余库,然后下载模型。之后的任务都会跳过这些步骤。
默认的 MuseTalk 1.5 嘴部更清晰;1.0 是最初的版本。两者都会在首次运行时下载,因此你切换时无需等待。
Subtitld 中目前还没有任何功能会运行它。 你可以安装它,但目前应用中没有任何命令会把视频发送给它进行口型同步。
模型
无需选择。第一个任务会一次性获取 MuseTalk 所需的全部内容:
- 一个私有的 Python 环境,包含用于 CUDA 的 PyTorch 以及 MuseTalk 的其他库:数 GB。整个安装过程显示为进度条的前 5%。
- MuseTalk 的源代码,通过
git克隆。 - 模型:MuseTalk 1.5 和 1.0、SD-VAE、Whisper tiny、DWPose、BiSeNet 人脸解析器和 SyncNet,另外还有数 GB。
CUDA 版本的 PyTorch 来自 https://download.pytorch.org/whl/cu121。若要使用其他 CUDA 版本,或使用镜像,请把 SUBTITLD_MUSETALK_TORCH_INDEX 设为其地址。插件的新版本会在同一个环境中再次运行一次安装。
首次运行需要什么
- 支持 CUDA 的 NVIDIA 显卡。 插件只会在安装好运行时之后才检查显卡,因此请在启动前确认你有这样一块显卡。
- Python 3.10 或更新版本,位于 PATH 中,并带有
venv模块;或者把SUBTITLD_MUSETALK_PYTHON设为这样一个 Python。插件会用它来构建环境。 git,位于 PATH 中,用于获取 MuseTalk 的源代码。- 网络连接以及数 GB 的可用磁盘空间。
- MuseTalk 的人脸和姿态库,即 mmcv、mmpose 和 mmdet。插件不会安装它们。在其环境中安装好与运行时的 PyTorch 和 CUDA 相匹配的一套之前,任务会以
internal错误结束,错误信息会指出导入失败的是哪一个库。
在 Windows 上,若在首次安装期间退出 Subtitld,下载可能会在后台继续,直到完成。
所有内容保存在哪里
其中包括 runtime(Python 环境)、models 和 MuseTalk(源代码)。卸载插件不会删除此文件夹;如需释放空间,请自己删除。
| 系统 | 文件夹 |
|---|---|
| Linux | ~/.cache/subtitld/musetalk |
| Windows | %USERPROFILE%\.cache\subtitld\musetalk |
选项
在 设置 › 插件 › MuseTalk (GPU lip-sync) › 配置 中。
v15MuseTalk model version. 1.5 gives sharper mouths; 1.0 is the original.
0Shifts the face crop vertically to tune mouth openness. Positive opens the mouth more, negative closes it. MuseTalk 1.0 only.
10Extra pixels added below the face crop (jaw region). MuseTalk 1.5 only.
8显卡一次处理多少帧。数值越高越快,但需要更多显存;若出现显存不足的错误,请调低。
25结果的帧率。MuseTalk 是按 25 fps 训练的,对 25 fps 的视频效果最好;请保持为 25。
半精度,占用的显存更少。只有在看到画面故障时才需要关闭。
平台
| 系统 | 下载 |
|---|---|
| Linux x86-64 | 17.7 MB |
| Windows x86-64 | 8.6 MB |
没有 macOS 版本:MuseTalk 需要 CUDA。两个构建版本都在 CI 中生成,但不会运行口型同步。
故障排除
gpu_unavailable找不到 CUDA 设备。MuseTalk 无法在 CPU 上运行;它需要一块驱动程序正常的 NVIDIA 显卡。oom显卡显存不足。请调低 Batch size,并保持 Use float16 开启。model_missing无法获取某个模型或 MuseTalk 的源代码。如果缺少git,请安装它。如果人脸解析权重无法从 Google Drive 下载,请自己下载79999_iter.pth,放到models/face-parse-bisent/中。network_unavailable下载、源代码克隆或运行时安装因网络原因失败。请重试:已下载的模型会保留,但中断的运行时安装会从头开始。internal错误信息会说明原因。最常见的是找不到 Python 3.10 或更新版本、运行时安装失败(错误信息末尾是 pip 的输出),或某个 MuseTalk 库导入失败,通常是 mmcv、mmpose 或 mmdet。如果运行时在任务中途停止,请调低 Batch size。bad_params缺少某个文件、找不到 ffmpeg,或无法从视频中读取任何帧。Subtitld 通常会自行提供 ffmpeg。
许可
插件和 MuseTalk 均为 MIT 许可,插件也称二者可用于商业用途。它下载的其他模型保留各自的许可,插件并未列出;在商业工作之前请先检查。
版本
- 0.2.0