djay 音频延迟优化——WASAPI Exclusive、Core Audio 低延迟、缓冲区设置全解
什么是"音频延迟"
在 DJ 场景里,音频延迟指的是:
你在软件上按下 Play / 扭动旋钮 → 到主音箱或耳机里听到声音之间的毫秒差
延迟分两种:
- 输出延迟:按下 play → 主音箱出声的时间
- 控制器延迟:扭动 DJ 控制器旋钮 → 软件里的混音器同步变化的时间
DJ 对延迟的要求极其严苛:
| 延迟 | 感觉 | 适合场景 |
|---|---|---|
| < 10ms | 几乎零感知 | 现场打碟、Scratch |
| 10-20ms | 轻微但够精准 | 移动 DJ、现场表演 |
| 20-50ms | 明显感觉慢了半拍 | 练习、Automix、背景音 |
| > 50ms | 完全没法用 | — |
djay 在现代硬件 + 正确配置下可以做到 < 10ms 延迟——下面是各平台的具体设置方法。
Windows 延迟优化(最折腾)
Windows 的音频栈比 macOS / iOS 复杂——默认有多层混音器叠加延迟。
核心:开启 WASAPI Exclusive
WASAPI(Windows Audio Session API)是 Windows Vista+ 的低延迟音频 API:
- 打开 djay → 设置 → 音频 → 设备配置
- 找到当前音频设备(DJ 控制器内置声卡 / USB 外置声卡)
- 使用模式 → 切换到 WASAPI Exclusive
- 缓冲区大小 → 128 samples(64 samples 更极致但容易爆音)
- 应用 → 点"测试音频"确认没有爆音
WASAPI Exclusive 的效果:直接独占声卡,跳过 Windows 系统混音器 → 延迟从 30-100ms 降到 5-15ms。
副作用:开启 WASAPI Exclusive 后,Windows 其他程序的声音会被静音(声卡被 djay 独占)。关闭 djay 后自动恢复。
老驱动 / 非 class-compliant 设备
如果你的 DJ 控制器不是 class-compliant(老款 Pioneer、Denon DJ 等):
- 先去厂商官网下载最新 Windows 驱动
- 安装 → 重启电脑
- 打开 djay → 设置 → 音频 → 设备配置
- 驱动好的设备会出现"ASIO"或"WASAPI 支持"选项
ASIO 驱动延迟可能比 WASAPI Exclusive 还低(3-8ms)——如果厂商提供 ASIO 驱动优先用 ASIO。
禁用 Windows 音效增强
Windows 默认给所有音频设备加了一堆音效增强——全部关掉:
- 控制面板 → 声音 → 你的音频设备 → 属性
- 增强功能标签 → 勾选"禁用所有增强功能"
- 高级标签 → "默认格式"设为 24-bit 48000Hz(djay 采样率匹配)
macOS 延迟优化(最省心)
macOS 用 Core Audio——Apple 原生低延迟 API:
- djay 默认用 Core Audio 原生模式 → 自动走最低延迟路径
- 一般不需要手动调缓冲区
- 可以在设置 → 音频 → 缓冲区大小里调整:
- 默认 512 frames(~12ms 延迟,稳定)
- 256 frames(~6ms 延迟,性能好的 Mac)
- 128 frames(~3ms 延迟,M1/M2/M3 Mac 推荐)
- 如果调小后出现爆音 → 调回上一级
额外优化(Apple Silicon)
M1/M2/M3 Mac 有额外优势:
- Neural Engine 硬件加速 → Neural Mix Stem 分离调用专用算力,不占 CPU
- 统一内存架构 → 音频流在 CPU / GPU / Neural Engine 之间传输零拷贝
- AirPlay 2 支持 → HomePod / Apple TV 无线输出延迟 < 20ms
禁用系统其他音频处理
- Mac 系统设置 → 声音 → 输出 → "平衡"推到中间,不要加任何 EQ
- Mac 菜单栏 → 音量图标 → "输出设备"确认选对了(不要选 AirPods Pro 的空间音频模式,如果追求最低延迟)
- 系统偏好设置 → 辅助功能 → "语音控制" → 关掉(会占用音频栈资源)
iOS / iPadOS 延迟优化(自动最优)
iOS / iPadOS 用 Core Audio + AAudio 原生低延迟:
- djay 自动走最低延迟路径 → 10-20ms 延迟
- 一般不需要手动调整
- iPad Pro / iPhone 13+ 延迟更低(A15+ Bionic 有音频加速)
- iOS 15+ 支持 USB Audio Class 2.0 → 外接 USB 声卡延迟 < 10ms
iPhone / iPad 额外优化
- 关闭蓝牙 AirDrop 和 Handoff(减少无线干扰)
- 插上 USB-C 或 Lightning 适配器的 USB 声卡 → 延迟比蓝牙低
- 关闭 Spotify / Apple Music App 的后台刷新(减少内存占用)
- 用 5GHz Wi-Fi(如果你流媒体打碟)
Android 延迟优化(看芯片)
Android 10+ 用 AAudio 低延迟 API:
- Snapdragon 8 Gen 2+ / Tensor G3+ 芯片:AAudio 原生 → 延迟 < 15ms
- 老芯片(Snapdragon 600 系列、联发科 Helio):延迟 20-50ms → 不推荐现场打碟
Android 具体设置
- 开发者选项(打开:设置 → 关于手机 → 连续点版本号 7 次)
- 开发者选项 → 强制允许 USB 音频输出(开)
- 开发者选项 → 禁用 USB 路由音频到扬声器(开,某些机型)
- 蓝牙 MIDI 控制器:确保在 5GHz Wi-Fi 下操作(减少蓝牙 + Wi-Fi 干扰)
缓冲大小 vs 性能权衡
缓冲区越大 → 延迟越高 → 但越稳定(不容易爆音)缓冲区越小 → 延迟越低 → 但对 CPU / 音频栈稳定性要求越高
缓冲区大小 典型延迟 CPU 压力 适用场景
────────────────────────────────────────────────────────────
64 samples ~3ms 极高 高端 PC / Mac,现场精准打碟
128 samples ~6ms 高 主流 PC / Mac / iPhone 12+
256 samples ~12ms 中 笔记本、移动端、新手
512 samples ~24ms 低 Automix、背景音、稳定性优先
1024 samples ~48ms 极低 低端设备、爆音严重时使用
实用策略:
- 先设 256 samples → 测试有没有爆音
- 没有 → 调到 128 samples → 再测
- 还没有 → 调到 64 samples → 确定稳定就固定下来
- 出现爆音或卡顿 → 升回上一级缓冲区
Neural Mix 对延迟的影响
开启 Neural Mix 会增加延迟——因为 Stem 分离需要额外的 AI 推理时间:
| 场景 | 典型延迟 |
|---|---|
| 不开 Neural Mix | 5-15ms |
| 开 Neural Mix(Mac M 系列) | 10-20ms(Neural Engine 加速) |
| 开 Neural Mix(Intel Mac) | 20-30ms |
| 开 Neural Mix(iPhone 13+) | 15-25ms |
| 开 Neural Mix(老 Intel Mac / 老 iPhone) | 可能 > 50ms,会感觉卡顿 |
如果 Neural Mix 开启后延迟太高:
- 关掉 Neural Mix(临时应急)
- 关闭视频混音(省 CPU)
- 把缓冲区调大到 256-512 samples
- 换更好的硬件(Intel → Apple Silicon,老 iPhone → iPhone 13+)
测试你的延迟
你可以用敲击测试快速估算延迟:
- 开启节拍器(djay 设置 → 节拍器)
- 用 DJ 控制器敲一下 Pad → 同时看主音箱的节拍器
- 耳朵听 "敲 Pad" 和 "节拍器声" 的间隔
- 感觉几乎同时 → 延迟合格;明显感觉慢 → 需要调缓冲
精确测量需要用专业工具(如 LatencyMon / Loopback Test),但大多数场景下敲几下就能判断。
总结:各平台最佳配置
| 平台 | 最佳配置 | 预期延迟 |
|---|---|---|
| Windows(专业打碟) | WASAPI Exclusive + 128 samples + 关闭音效增强 | 5-10ms |
| Windows(笔记本入门) | WASAPI + 256 samples | 15-25ms |
| Mac M 系列 + Neural Mix | Core Audio + 128 frames | 10-20ms |
| Mac Intel | Core Audio + 256 frames + 关闭 Neural Mix | 10-20ms |
| iPhone 13+ | 原生 AAudio + 关闭 AirDrop | 10-20ms |
| iPhone 11 及以前 | 原生 AAudio + 256 samples + 关闭 Neural Mix | 20-40ms |
| Android 旗舰(Snapdragon 8 Gen 2+) | AAudio + USB 声卡 | 10-15ms |
| Android 中端 | AAudio + 512 samples + 关闭 Neural Mix | 30-50ms |