DiffSinger 系列音素器|DIFFS ZH / EN / JP 与 AI 声库的匹配
DiffSinger 音素器和 Classic 音素器的本质区别
Classic 重采样器(Worldline、moresampler 等)的工作流:
歌词 → 音素器展开 → 从 oto.ini 找音频片段 → 重采样 + 拼接 → 输出音频
DiffSinger 的工作流:
歌词 → DIFFS 音素器展开 → 神经网络推理 → vocoder → 输出音频
DiffSinger 不依赖 oto.ini——它用的是训练好的 AI 模型,整个声库就是一个 .yaml + 模型权重的文件。所以:
- DIFFS 音素器展开成的是音素符号序列(比如中文的音素表),不是 alias
- 音素器和声库模型强绑定——声库训练时用的音素表是什么,DIFFS 音素器就必须按那个表展开
- 不需要你手动调 alias、不需要重采样器、不需要手动调包络(DiffSinger 模型自己处理)
三个 DIFFS 音素器
| 音素器 | 对应声库语言 | 歌词输入格式 |
|---|---|---|
| DIFFS ZH | 中文 | 拼音 / 汉字(取决于声库训练用的输入) |
| DIFFS EN | 英文 | ARPAbet 音标(或自然单词,音素器自动转) |
| DIFFS JP | 日文 | 假名 / 罗马音 |
装一个 DiffSinger 中文声库后,轨道头的音素器下拉里会自动出现 DIFFS ZH 选项(如果声库训练时用了这套音素表)。
DIFFS 音素器的使用步骤
第一步:装 DiffSinger 声库
从 OpenVPI(DiffSinger 官方社区)下载一个声库的 .zip。OpenUtau → Tools → Install Singer... → 选 zip → 编码选 UTF-8 → 安装。
DiffSinger 声库的 zip 里通常有 character.yaml(声库元信息)、模型权重文件、可选的预训练 vocoder。
第二步:选 DIFFS 音素器
轨道头 Singer 选了 DiffSinger 声库后,音素器下拉里应该自动出现 DIFFS 系列选项。如果没有,说明:
- 声库可能不是 DiffSinger 格式(也许是 Classic UTAU 格式?去 Tools → Singers 里看声库类型)
- OpenUtau 版本太旧,不认识这套音素表——更新到最新版(Beta 版可能支持更多新声库)
第三步:写歌词
输入歌词(中文拼音、英文单词、日文假名),DIFFS 音素器自动展开。
关于中文:DiffSinger 中文声库的歌词输入方式有两种:
- 拼音模式:每个字写拼音(如
ni hao) - 汉字模式:直接写汉字(如
你好)——音素器会自动转拼音
看具体声库的 character.yaml 里的设置,或安装页面的说明。拿不准就先用拼音试。
第四步:渲染
DiffSinger 引擎渲染比 Classic 重采样器慢得多(尤其是 CPU),但声音自然度高几个档次。Preferences → DirectML / CoreML 打开 GPU 加速可以大幅提速。
DIFFS 音素器的特殊标记
滑音 +
和其他音素器一样,+ 续接前一个音节。
DIFFS 专属标记
某些 DIFFS 音素器支持额外的音素控制标记(取决于声库训练配置)。最常见的:
<sp>:插入一个静音间隙<br>:呼吸音(需要声库模型支持 Breathiness 曲线)
这些标记直接写在歌词里,DIFFS 音素器会识别并插入对应的控制符号。
DIFFS vs Classic 音素器的常见困惑
问题:同一个声库能不能用 Classic 音素器
不能——DiffSinger 声库没有 oto.ini,Classic 重采样器的音素器找不到 alias。必须用 DIFFS 系列音素器 + DiffSinger 引擎。
问题:能不能一条轨道混用 Classic 音素器和 DIFFS 音素器
不能——每条轨道只能选一个音素器。如果你想一段用 Classic VCV 声库、另一段用 DiffSinger AI 声库,需要分两条轨道,各自选 Singer 和音素器。
问题:DIFFS 音素器展开的音素不对
DiffSinger 音素表是声库训练时固定的,OpenUtau 无法修改。如果出现音素展开错误:
- 确认 DIFFS 音素器版本和 DiffSinger 声库版本匹配(DiffSinger v1.6 声库可能需要对应 v1.6 的 DIFFS 音素器)
- 检查歌词输入格式(中文声库用汉字 vs 拼音,英文声库用 ARPAbet vs 单词)
- 升级 OpenUtau 到最新版(DiffSinger 生态更新很快,旧版可能不认识新声库的音素表)