openutau 中文文档 下载 App

DirectML GPU 加速|Windows 独显渲染 DiffSinger 快几倍

为什么需要 GPU 加速

DiffSinger 是神经网络推理——CPU 上推理一个声库的音频片段需要每秒几十到几百毫秒。CPU 渲染一首 3 分钟的歌可能需要 10-30 分钟。

GPU(通过 DirectML / CoreML)把同样的推理时间压到每秒几毫秒——快一个数量级以上。

OpenUtau 支持两种 GPU 加速后端:

后端适用平台依赖
DirectMLWindows(带独显)微软 DirectML(OpenUtau 内置)
CoreMLmacOS(Apple Silicon 推荐,Intel 也支持)macOS 12+ 自带

Linux 暂不支持 GPU 加速。

Windows DirectML 设置步骤

第一步:确认显卡可用

确保你的 Windows 上:

  1. 有独立显卡(NVIDIA GeForce / AMD Radeon / Intel Arc 都可以)
  2. 显卡驱动是最新版(老驱动可能不兼容 DirectML)
  3. Windows 10 或 11(Windows 8.1 不行)

纯核显(Intel UHD Graphics)也能跑 DirectML,但提升有限。独显是必须的。

第二步:OpenUtau 偏好设置

OpenUtau → Tools → Preferences → 找到 Machine Learning 相关设置:

  1. Machine Learning Runner → 选 DirectML
  2. GPU → 下拉里选你的独显(别选核显)
  3. DiffSinger Rendering speedup → 默认 50 倍(值越大越快,但音质略降)
DirectML 设置界面
Preferences → Machine Learning → DirectML

第三步:重启 OpenUtau

必须重启——GPU 加速初始化在启动时做,运行中改完不会立刻生效。

第四步:验证

重启后,打开一个 DiffSinger 工程,点播放或点渲染。如果 GPU 加速正常:

macOS CoreML 设置步骤

第一步:确认 macOS 版本

CoreML 需要 macOS 11 Big Sur 或更新(DiffSinger 本身也要求 11+)。Apple Silicon Mac(M1/M2/M3/M4)CoreML 加速效果最好。Intel Mac 也能跑,但提升有限。

第二步:偏好设置

OpenUtau → Tools → Preferences → Machine Learning:

  1. Machine Learning Runner → 选 CoreML
  2. 重启 OpenUtau

CoreML 在 macOS 上是系统内置能力,不需要额外装驱动或库。

第三步:验证

重启后 DiffSinger 渲染正常 = CoreML 已生效。

DiffSinger Rendering Speedup 参数详解

偏好设置里的这个值控制的是 DiffSinger 内部推理的"加速倍率":

倍率效果
25x音质最好,最慢
50x(默认)平衡
100x快,音质略有损失
200x最快,音质损失明显

这个值GPU 加速时也生效——开了 DirectML / CoreML 后可以把这个倍率调高到 100x 甚至 200x,因为 GPU 本来就快,再提高倍率也能出不错的音质。

性能参考

配置渲染一个 3 分钟 DiffSinger 工程
Windows 11 + i5-12400(CPU only)10-20 分钟
Windows 11 + i5-12400 + RTX 3060(DirectML)1-3 分钟
macOS M1 Pro(CoreML)2-5 分钟
macOS Intel i7(CoreML)15-30 分钟

实际时间取决于声库大小、歌词复杂度、DiffSinger Rendering Speedup 倍率。

常见坑

坑一:选了核显而不是独显

笔记本电脑可能有两个 GPU——核显(Intel UHD)和独显(NVIDIA/AMD)。GPU 下拉里选独显才能获得最大加速。核显的 DirectML 能力有限,快不了多少。

坑二:设置没保存

改完 DirectML 后没重启 OpenUtau——OpenUtau 在启动时初始化 DirectML,运行中改完不会切过去。必须完全关掉再开。

坑三:DirectML 选了但渲染还是 CPU 速度

大概率是:

  1. 显卡驱动太老 → 升级
  2. Windows 版本太旧 → 至少 Windows 10
  3. 显卡本身不支持 DirectML(极老的卡)

坑四:CoreML 在 Intel Mac 上效果不明显

Intel Mac 的 CoreML 性能远不如 Apple Silicon。如果你的 Intel Mac 渲染 DiffSinger 很慢,可以考虑: