🎤 声音克隆 — 修复前后对比

引擎: CosyVoice3-0.5B-2512 zero-shot cloning
修复: tts.py 传 reference_audio 时 prompt_text 不再硬编码为空,改为接受调用方传入
测试文本: "深夜的办公室里只剩下键盘的敲击声,变色龙小明盯着屏幕上不断跳动的KPI数字..."
日期: 2026-07-06

第一部:修复前 — 对照组

A. 修复前:zero_shot 克隆 静音 BUG
reference_audio=zero_shot_prompt.wav, prompt_text=空(EOP) → 模型困惑 → 静音
dur=0.08s vol=-90.3dB ❌
B. 修复前:默认音色(机器音来源) 机器音
无 reference_audio → CosyVoice 内置默认 prompt
dur=6.48s vol=-23.7dB

第二部:修复后 — 声音克隆成功 ✅

C. 修复后:zero_shot 克隆(女声) 修复成功
reference_audio=zero_shot_prompt.wav + prompt_text="希望你以后能够做的比我还好呦"
注意听音色差异 — 这段使用了 CosyVoice 自带女声样本的音色克隆,不再是默认机器音
dur=11.32s vol=-22.0dB ✅ 真实音频
D. 修复后:cross_lingual 克隆 修复成功
reference_audio=cross_lingual_prompt.wav(另一个音色样本)
不同参考音频 → 不同音色
dur=10.88s vol=-19.7dB ✅ 真实音频

第三部:不同引擎(非克隆,对照)

E. Chatterbox 英文 正常
tts_en → chatterbox-turbo
dur=6.08s vol=-24.2dB
F. 中英混合(默认音色) 正常
tts_bilingual → cosyvoice (默认)
dur=4.56s vol=-19.7dB

总结

✅ 声音克隆功能已修复并可用。

对比 A vs C: 同一段文本,同一个参考音频 — A 是修复前的静音(prompt_text 缺失),C 是修复后的真实克隆音频(11.32s,清晰语音)。

对比 B vs C: B 是默认机器音,C 是克隆了女声音色。差异明显。

下一步:给一段你想要的目标人声录音(5-10s 干净单人,附转录文本),就能让管线用这个音色生成所有旁白和对白。