MuseTalk (GPU lip-sync)

口型同步离线需要 GPU允许商用

使用 MuseTalk,重绘视频或静态图片中说话人的嘴部,使其跟随新的音轨。它需要支持 CUDA 的 NVIDIA 显卡。下载本身很小:首次使用时,它会安装自己的 PyTorch 运行时,并下载数 GB 的模型。

在 Subtitld 中安装

设置 插件 MuseTalk (GPU lip-sync) 安装

Subtitld 会下载它、校验其 SHA-256,并保持更新。

GitHub 上的源代码
插件下载量
9–18 MB

功能说明

视频、图片或帧

它可以从视频、单张静态图片或一个帧文件夹开始,并输出一个视频:H.264 编码,新声音为 AAC。

片段短、音频长

当音频比视频长时,画面会先正放、再倒放,如此往复,直到音频结束。

自动完成设置

你下载的插件只是一个小型启动器。它的第一个任务会在一个私有的 Python 环境中安装 PyTorch 和 MuseTalk 的其余库,然后下载模型。之后的任务都会跳过这些步骤。

两个版本

默认的 MuseTalk 1.5 嘴部更清晰;1.0 是最初的版本。两者都会在首次运行时下载,因此你切换时无需等待。

Subtitld 中目前还没有任何功能会运行它。 你可以安装它,但目前应用中没有任何命令会把视频发送给它进行口型同步。

模型

无需选择。第一个任务会一次性获取 MuseTalk 所需的全部内容:

  1. 一个私有的 Python 环境,包含用于 CUDA 的 PyTorch 以及 MuseTalk 的其他库:数 GB。整个安装过程显示为进度条的前 5%。
  2. MuseTalk 的源代码,通过 git 克隆。
  3. 模型: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) › 配置 中。

MuseTalk version
默认: v15

MuseTalk model version. 1.5 gives sharper mouths; 1.0 is the original.

Bbox shift
默认: 0

Shifts the face crop vertically to tune mouth openness. Positive opens the mouth more, negative closes it. MuseTalk 1.0 only.

Extra margin
默认: 10

Extra pixels added below the face crop (jaw region). MuseTalk 1.5 only.

Batch size
默认: 8

显卡一次处理多少帧。数值越高越快,但需要更多显存;若出现显存不足的错误,请调低。

Output FPS
默认: 25

结果的帧率。MuseTalk 是按 25 fps 训练的,对 25 fps 的视频效果最好;请保持为 25。

Use float16
默认: 开

半精度,占用的显存更少。只有在看到画面故障时才需要关闭。

平台

系统 下载
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。

许可

插件
MIT
引擎
MIT
MuseTalk
模型
各模型不同
SD-VAE、Whisper、DWPose、BiSeNet 和 SyncNet 各自保留其许可

插件和 MuseTalk 均为 MIT 许可,插件也称二者可用于商业用途。它下载的其他模型保留各自的许可,插件并未列出;在商业工作之前请先检查。

版本

  • 0.2.0

其他口型同步插件

更新于 · 来自插件目录 报告此插件的问题