Communitygithub.com

laoqinmml/video-dubbing

Konvertiert chinesische Talking-Head-Kurzvideos in fertige englische MP4s mit der klonierten Stimme des Originalsprechers: Volcengine-Wort-für-Wort-ASR-Zeitachse, DeepSeek-Umschreibung für Überseekäufer, MiniMax-Stimmklon, Satzgrenzen-Überblendungen, natürliches Tempo und lautstärkenormalisierte Hintergrundmusik.

Was ist video-dubbing?

Diese Fähigkeit wandelt chinesische Talking-Head-Kurzvideos vollautomatisch in englisch synchronisierte MP4-Dateien um, wobei die Stimme des Originalsprechers mittels MiniMax Voice Clone nachempfunden wird. Der Prozess durchläuft sechs Phasen: Extraktion und Trennung der Audiospur, Wort-für-Wort-ASR über Volcengine, Umschreibung des Skripts durch DeepSeek für ein internationales Publikum, optimierte Platzierung der Sprachsynthese mit natürlichem Timing und schließlich das Muxing mit normalisierter Hintergrundmusik. Die Fähigkeit unterstützt eine Checkpoint-basierte Wiederaufnahme, sodass fehlgeschlagene Durchläufe einfach erneut gestartet werden können, ohne abgeschlossene Schritte zu wiederholen. Sie ist besonders nützlich für Content-Ersteller, die ihre chinesischen Kurzvideos schnell und kostengünstig für englischsprachige Märkte lokalisieren möchten, und unterstützt Plattformen, die Python-Skripte mit CLI-Schnittstellen ausführen können (z. B. Claude Code, Cursor, Codex).

Funktioniert mit~Claude Code✓Codex CLI~Cursor
npx skills add laoqinmml/video-dubbing

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

中文视频转英文配音

把中文口播视频转成英文配音成片:克隆原说话人的音色,面向海外买家重写文案,输出单个 MP4。

一条命令

cd "<项目根>"
$env:MINIMAX_API_KEY = "<MiniMax 国内站 Key>"
$env:VOLC_API_KEY    = "<火山 API Key>"
.\venv\Scripts\python.exe scripts\dub.py --src "<视频路径>" --slug "<短名>"

产物:

位置内容
out/<短名>_EN_dubbed.mp4成片(唯一交付)
out/<短名>_EN.srt / _ZH.srt中英字幕
work/batch/<短名>/REPORT.md耗时、合成轮次、成本

常用参数:--until translate(只出文案,不合成)、--from fit(从某阶段开始)、--force(忽略已存状态)。

六个阶段

1 prep       提取音频 + demucs 人声分离 + 记录视频时长
2 asr        火山词级识别 → 中文分句时间轴
3 translate  DeepSeek → 英文文稿(受众切换 + 词数预算 + 数字写单词)
4 fit        跑 N 轮合成 → 各自实测 → 按"最多能填到多少"评分取最优
5 place      按时间轴铺设 + 句界插停顿 + 写字幕(真实词级时间戳)
6 mux        配背景音乐 + 响度归一 → MP4

失败后重跑同一条命令即可,已完成阶段自动跳过(含"产物必须比输入新"校验)。

前置条件

项说明
音色work/voice.json,跑一次 clone_voice.py 生成即可,所有视频共用,不需重复克隆
火山 Key录音文件识别(volc.seedasr.auc)
MiniMax Key国内站 api.minimaxi.com,需实名 + 余额(否则 2038 / 1008)
DeepSeek Key官方 api.deepseek.com
依赖demucs torch numpy requests openai soundfile
音乐一个放 .wav 的目录,见 config.py 的 BGM_DIR

所有服务直连,dub.py 会强制清掉代理变量。

必读:18 条实测经验

完整清单在 docs/LESSONS.md。最容易踩且代价最高的几条:

  1. 受众要切换,不只是翻译 —— 很多素材原本是对国内出口商说的("做外贸的朋友们"),英文必须直接对海外买家说话。规则在 translate.py 的 SYSTEM_FILL 里。
  2. 数字在翻译阶段就写成英文单词 —— 20,000 算 1 个词却读成 2 个词,会让所有长度计算偏掉;留着阿拉伯数字还可能被逐位读。
  3. atempo 已禁用 —— 不要为了铺满而让人说得更快,要把文案压短。
  4. 句界拼接必须加淡入淡出 —— 切点在非零波形处会产生咔哒声。
  5. 验收音频瑕疵不能只看全文件最大跳变 —— 会被源文件的更大跳变掩盖,要看跳变分布。
  6. 断点续跑必须校验产物比输入新 —— 否则会静默交付旧稿配音。

详细机制与踩坑过程见 docs/USAGE.md(原《使用说明》)与 docs/REPORT.md(实施报告)。

已知限制

  • 中文信息密度高于英文,极少数素材需要在保留卖点的前提下删句(工具会自动做,报告里会记录)。
  • 铺满度一般 93–100%,末尾由背景音乐补足。
  • Eva 之外念不对的专有名词,加进 synth_single.py 的 TTS_RESPELL 字典(只影响 TTS 输入,字幕不变)。

建议工作流

新素材先用一条跑完整流程给客户确认(音色/语速/音乐/停顿),确认后再批量。批量时逐条会写明成本。

Verwandte Skills