baby mynah 是一个为 Hugging Face Build Small Hackathon 做的小型 TTS 演示:基于 VoxCPM-0.5B,为每种英语口音训练一个 LoRA 专家,再通过权重空间插值,让声音在两种口音之间平滑“变形”。用作者的话说,这是一只陷入身份危机的小鸟。
一只认不准口音的八哥
八哥(mynah)是大自然里的模仿高手,收集声音就像别的鸟收集树枝。这只雏鸟听过九种英语口音(英格兰、印度、美国、苏格兰、南非、新西兰、威尔士、爱尔兰、北爱尔兰,全部来自 VCTK 的真实人声),却一直选不出一种。
给她一句台词,给左右两只“耳朵”各选一个声音,然后用滑块让她在两者之间滑动。
工作原理
- 基座模型:OpenBMB 的 VoxCPM-0.5B:一个无 tokenizer 的 TTS 模型。加载的参数总量约 0.73B(652M 基座 + 75M 音频 VAE),刻意做得很小。
- 每种口音一个 LoRA 专家,各自在单个 VCTK 说话人的数据上微调,每人约 8 分钟朗读语音。
- 变形滑块做的是权重空间手术,不是音频交叉淡化。对每个目标层,把两个专家的有效增量按
W = W_base + s·[α·(B_a@A_a) + (1−α)·(B_b@A_b)]混合,渲染时打补丁到基座权重上,渲染完再恢复。α=1 时完全是其中一种口音,α=0 时完全是另一种,中间每个值都是一个从未存在过的声音。 - 渲染用的随机种子由文本和口音对决定(不含 α),所以拖动滑块只改变口音混合,不会改变随机的演绎方式。
她只会说英语,变的是口音,不是语言。她不给任何口音排名,也不纠正谁;每一种声音都是完整的身份,她只是挨个试穿。
致谢
- VoxCPM-0.5B:OpenBMB(模型 · 代码,Apache-2.0)
- VCTK 语料库:爱丁堡大学 CSTR(CC BY 4.0)
- 为 Hugging Face Build Small Hackathon 而 作
相关链接
- Hugging Face Space:build-small-hackathon/baby-mynah
- 演示视频:YouTube
- 发布帖:X 上的发布帖
- 作者:@tanenyao
