DirectML GPU 加速|Windows 独显渲染 DiffSinger 快几倍
为什么需要 GPU 加速
DiffSinger 是神经网络推理——CPU 上推理一个声库的音频片段需要每秒几十到几百毫秒。CPU 渲染一首 3 分钟的歌可能需要 10-30 分钟。
GPU(通过 DirectML / CoreML)把同样的推理时间压到每秒几毫秒——快一个数量级以上。
OpenUtau 支持两种 GPU 加速后端:
| 后端 | 适用平台 | 依赖 |
|---|---|---|
| DirectML | Windows(带独显) | 微软 DirectML(OpenUtau 内置) |
| CoreML | macOS(Apple Silicon 推荐,Intel 也支持) | macOS 12+ 自带 |
Linux 暂不支持 GPU 加速。
Windows DirectML 设置步骤
第一步:确认显卡可用
确保你的 Windows 上:
- 有独立显卡(NVIDIA GeForce / AMD Radeon / Intel Arc 都可以)
- 显卡驱动是最新版(老驱动可能不兼容 DirectML)
- Windows 10 或 11(Windows 8.1 不行)
纯核显(Intel UHD Graphics)也能跑 DirectML,但提升有限。独显是必须的。
第二步:OpenUtau 偏好设置
OpenUtau → Tools → Preferences → 找到 Machine Learning 相关设置:
- Machine Learning Runner → 选 DirectML
- GPU → 下拉里选你的独显(别选核显)
- DiffSinger Rendering speedup → 默认 50 倍(值越大越快,但音质略降)

第三步:重启 OpenUtau
必须重启——GPU 加速初始化在启动时做,运行中改完不会立刻生效。
第四步:验证
重启后,打开一个 DiffSinger 工程,点播放或点渲染。如果 GPU 加速正常:
- 偏好设置里 GPU 名称仍然是你选的独显
- 渲染速度明显加快(和之前 CPU 版本对比)
- 没有报错弹窗
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:
- Machine Learning Runner → 选 CoreML
- 重启 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 速度
大概率是:
- 显卡驱动太老 → 升级
- Windows 版本太旧 → 至少 Windows 10
- 显卡本身不支持 DirectML(极老的卡)
坑四:CoreML 在 Intel Mac 上效果不明显
Intel Mac 的 CoreML 性能远不如 Apple Silicon。如果你的 Intel Mac 渲染 DiffSinger 很慢,可以考虑:
- 提高 DiffSinger Rendering Speedup 倍率到 100x
- 或者用 ENUNU 引擎(同样是 AI 但模型更轻量)
- 或者上 Classic / WORLDLINE-R 引擎(完全不依赖 GPU)