openutau 中文文档 下载 App

导出 DiffSinger 脚本|喂给外部推理管线的 .ds 文件

什么时候用 .ds 导出

OpenUtau 内置的 DiffSinger 渲染对一般项目够用,但某些场景需要脱离 OpenUtau 独立渲染:

这些情况下,导出 .ds 文件比直接在 OpenUtau 里渲染更灵活。

导出步骤

OpenUtau → File → Export Project → Export DiffSinger Script

保存位置默认在工程旁边的 Export/ 文件夹,文件名 .ds。

导出前检查

  1. 确认引擎选了 DiffSinger(Classic / WORLDLINE-R / ENUNU / VOICEVOX 引擎导出的 .ds 可能不完整)
  2. 确认音素器选了 DIFFS 系列(DIFFS ZH / DIFFS EN / DIFFS JP)
  3. 确认歌词已经通过 DIFFS 音素器正确展开(包络编辑器里能看到展开的音素序列)
  4. 如果你想导出 GENC / VELC / ENE 等曲线,确认这些曲线已经画好并且声库的 data_augmentation 声明支持

导出后如果要分享给别人,分享 .ustx 源文件而不是 .ds 文件——.ds 是中间格式,OpenUtau 工程文件 .ustx 是唯一真相源。

.ds 文件是什么格式

.ds 文件是 DiffSinger 中间格式:

[version]          # DiffSinger 版本号
[metadata]         # 声库名、采样率、歌词语言等元信息
[phonemes]         # 展开后的音素序列(每个音素带时间戳)
[pitch]            # 音高曲线(F0 序列)
[curves]           # GENC / VELC / ENE 等曲线参数(如果声库支持)
[notes]            # 原始音符信息(音高、时值、歌词)

.ds 是文本格式(可直接用文本编辑器打开),不是二进制。这意味着:

在 DiffSinger 官方管线里用 .ds

. ds 文件是 DiffSinger 官方推理脚本 infer.py 的标准输入:

python infer.py --model <你的DiffSinger声库目录> --input script.ds --output output.wav

DiffSinger 官方管线比 OpenUtau 内置渲染支持更多高级选项(如 vocoder 选择、推理步数调整、批量处理等)。

常见问题

问题:导出 .ds 后某些信息丢失

问题:导出的 .ds 在 DiffSinger 官方管线里渲染不一样

OpenUtau 的 DiffSinger 渲染和 DiffSinger 官方管线可能有微小差异——OpenUtau 内置的是经过适配的版本。如果要严格和官方管线对齐:

  1. 确保两边用的是同一个声库
  2. 确保 vocoder 版本一致
  3. 确保 DiffSinger 版本一致(OpenUtau 内置的可能比官方管线更新或更旧)

问题:我要分享工程给别人,分享 .ds 还是 .ustx

分享 .ustx。.ds 是中间格式,只能在 DiffSinger 官方管线里用;.ustx 是 OpenUtau 原生格式,能打开、编辑、再次渲染。.ds 应该作为"给特定 DiffSinger 工具链用"的输出。