为什么 EQ 设置的更改生效之前会有延迟?

为什么 EQ 设置的更改生效之前会有延迟?

当我更改立体声音响上的物理 EQ 控件时,我会立即听到变化。但是,当我更改软件 EQ(例如在 Mac 的音乐应用中)时,我会在听到变化之前延迟约 4 秒。我注意到在我使用的所有软件 EQ 中都有这种情况。

什么不是立即生效?

重现此情况:

  1. 打开“音乐”应用程序(或任何具有内置均衡器的音频应用程序)
  2. 开始播放曲目
  3. 打开均衡器并开启
  4. 选择Flat预设,然后等待 5 秒钟以确保其已应用
  5. 选择Rock预设,然后聆听听到变化需要多长时间

答案1

播放音频时,音频会播放到缓冲区中。此缓冲区将流式传输到扬声器,但会产生延迟。如果缓冲区非常低,缓冲区用完时声音会发出噼啪声,例如因为 CPU 跟不上。

根据音频驱动程序,需要不同的缓冲区长度,因为有些音频驱动程序速度快,而有些则速度慢。对于简单的日常音频,使用速度慢且缓冲区较大的音频驱动程序。在音乐程序中,使用速度快且缓冲区较小的驱动程序(如 ASIO 或 WASAPI)。

您的缓冲区一开始就很大,因此您确实应用了 EQ,但听不到它,因为您仍然必须先听正在播放的其他声音。

为了证明确实发生了这种情况,请稍稍延迟地切换 EQ 设置两次,但要确保第二次切换发生在您听到第一次切换之前。如果我没记错的话,您仍然会听到正在应用第一个 EQ 预设。

在配备 M1 处理器并运行 x86 软件的 Mac 上,可能会出现额外的延迟,因为指令不是实时的,但需要处理。

相关内容