openutau 中文文档 下载 App

安装 DiffSinger AI 声库|拖拽导入 + vocoder + UTF-8 编码

DiffSinger 声库和 UTAU 声库的区别

对比项UTAU 经典声库DiffSinger AI 声库
大小50-300MB100-2000MB(模型权重占大部分)
组成WAV 音频 + oto.ini + character.txt模型权重 + character.yaml + 可选 vocoder
重采样器依赖需要 Classic 重采样管线DiffSinger 内置引擎,不依赖外部重采样器
音素器JA VCV / EN VCCV 等 Classic 音素器DIFFS ZH / EN / JP
vocoder不需要需要 nsf_hifigan vocoder(或其他 DiffSinger 兼容 vocoder)

DiffSinger 声库安装步骤

第一步:确认 DiffSinger 前置条件

Windows 用户:

macOS / Linux 用户:

第二步:vocoder 导入(macOS / Linux)

下载完 vocoder 的 .oudep 文件后:

  1. 启动 OpenUtau
  2. 把 .oudep 文件直接拖到 OpenUtau 主窗口

OpenUtau 会自动识别 .oudep 是 vocoder 包并导入。拖完不需要重启。

第三步:安装 DiffSinger 声库

和 vocoder 一样简单:

  1. 从 OpenVPI / DiffSinger 社区下载一个声库的 .zip
  2. 直接拖 zip 到 OpenUtau 主窗口

OpenUtau 会弹一个安装对话框:

安装完成后,声库出现在 Tools → Singers 列表里,轨道头 Singer 下拉里也能看到。

安装 DiffSinger 声库
Singer 下拉里的 DiffSinger 声库

DiffSinger 声库的 character.yaml

DiffSinger 声库的 character.yaml 比 UTAU 的 character.txt 信息丰富得多:

name: 声库名称
author: 作者
language: zh        # zh / en / ja / kr
singer_type: DiffSinger
phonemizer: DIFFS ZH   # 默认音素器
data_augmentation:
  genc: true       # 支持 GENC(性别曲线)
  velc: true       # 支持 VELC(速度曲线)
  ene: true        # 支持 ENE(能量曲线)
  ...

你不需要手动编辑这个文件——安装器会自动读取。但如果你发现某个 DiffSinger 专属曲线(GENC / VELC / ENE)不起作用,很可能是声库的 data_augmentation 里那个开关是 false——说明训练时没开这个,无法后加。

DiffSinger 声库的 vocoder 兼容性

DiffSinger 声库训练时可能用了特定的 vocoder:

如果导入 vocoder 后 DiffSinger 声库仍然不出声,检查是不是 vocoder 版本不对。安装 vocoder 的方法和装声库一样——拖 .oudep 文件到 OpenUtau 窗口。

DiffSinger 声库常见问题

问题:拖了 zip 但没反应

问题:安装完没声音

检查这几项:

  1. vocoder 是不是装上了?Tools → Singers 里看看有没有 vocoder 条目
  2. 轨道头 Singer 是不是选了那个 DiffSinger 声库
  3. 引擎是不是切到了 DiffSinger?Classic 引擎不能跑 DiffSinger 声库
  4. 音素器是不是选了 DIFFS 系列?别选 JA VCV / EN VCCV 这种 Classic 音素器
  5. .NET 8 Runtime 是不是装了?

问题:DiffSinger 渲染慢

CPU 渲染 DiffSinger 比 Classic 重采样器慢 10-20 倍。解决方案:

  1. Preferences → Machine Learning Runner → DirectML(Windows 带独显)→ 选独显 GPU → 重启 OpenUtau
  2. macOS 选 CoreML
  3. 偏好设置里的 "Diffsinger Rendering speedup" 可以调到 100 以上(值越大渲染越快但音质略降)

问题:一个 DiffSinger 声库可以用多种语言吗

通常不能——DiffSinger 声库训练时是按一种语言的音素表训练的。想用中文 + 英文两个 DiffSinger 声库,装两个不同语言的,分两条轨道。