原题:VidDub: Replacement-Aware Distillation for Two-Step Video Dubbing
视频配音要让口型跟上新语音,同时保留人物身份、头部姿态和背景。作者指出现有编辑器大多用“原音频自重建”训练,可一旦换了语音,原视频的嘴型反而成了冲突的目标。VidDub 提出替换感知的跨音频监督:原音频样本照常整帧重建;换音频样本把原嘴部的重建损失遮掉,嘴部只用音画同步来监督,其余脸部区域和背景照常保留。离线配音时整段视频和目标语音事先都有,所以做成全上下文扩散编辑器,再用匹配轨迹回归加分布匹配蒸馏压到两步去噪(2 NFE)。基于 Wan2.1-VACE-1.3B,配 Whisper 音频编码,完整推理栈 2.81B 参数。
点赞 7 · 代码星数 7
理由
- 作者称三个训练种子下,遮掉冲突的原嘴部重建让跨音频 Sync-C 提高 0.833;最终的两步模型在四个基准上口型同步强,画质、身份保持和视觉语音识别更好。
- 能照做:训练代码、权重(抱脸 AIPeanutman/VidDub)和 VidDub-Bench 基准(256 个合成源片段,固定的同音频 / 换音频配对)都已放出;长视频按 81 帧窗口、64 帧步长、17 帧重叠滑动处理,输出保持原帧率和分辨率。
- 底模只有 1.3B,比动辄几十 B 的视频大模型轻得多;代码星数 7(只代表关注度)。
用法
- git clone https://github.com/LAW1223/VidDub 后 pip install -r requirements.txt(Linux、Python 3.10+、FFmpeg、NVIDIA 显卡);用 huggingface-cli download 把 Wan-AI/Wan2.1-VACE-1.3B、openai/whisper-small 和 AIPeanutman/VidDub 分别下载到 weights/ 下。
- python scripts/infer.py --model weights/VidDub --weight-root weights --video input.mp4 --audio replacement.wav --output output.mp4;源视频要有可检测、基本正面的人脸,至少 81 帧,音频会重采样到 16 kHz;更长的视频自动走窗口模式(也可写 --mode windowed)。
风险
- 不是开源许可:个人可商用(包括把成品变现),非商业学术研究可用;以公司名义使用,或做成 SaaS、API、网页应用、机器人等托管服务,需另行取得书面授权。
- 改口型属于深度伪造类能力,请只处理有权修改的视频并标明合成;作者也提醒训练数据只能用合法可处理的视频。README 没有给显存需求。