我已经获得了一些音频剪辑的许可,但其中一些带有我所学到的“DC 偏移”,通常应该在制作过程中删除。
Audacity 的“归一化”过滤器能够修复静态 DC 偏移,但在将其应用到我的音频剪辑后,我注意到它们的 DC 偏移会发生变化(在 0.5 秒内,它可以在归一化幅度范围内从 0.05 变为 0.03)。例如:
左边,静音是 0.02,右边是 0.00 - 这是在 Audacity 标准化之后。
由于我不是音频工程师,也没有任何专业工具,有没有办法解决这个问题?
我已经获得了一些音频剪辑的许可,但其中一些带有我所学到的“DC 偏移”,通常应该在制作过程中删除。
Audacity 的“归一化”过滤器能够修复静态 DC 偏移,但在将其应用到我的音频剪辑后,我注意到它们的 DC 偏移会发生变化(在 0.5 秒内,它可以在归一化幅度范围内从 0.05 变为 0.03)。例如:
左边,静音是 0.02,右边是 0.00 - 这是在 Audacity 标准化之后。
由于我不是音频工程师,也没有任何专业工具,有没有办法解决这个问题?
DC 偏移是 0 Hz 处的频率分量。“漂移直流偏移”将由非常低的频率分量组成,因此您应该能够通过使用截止频率约为 15 Hz 的高通滤波器来消除它。这样,您将在不改变可听频率范围的情况下移除任何与亚音速 DC 相关的东西。
使用具有陡峭滚降的滤波器。当您离线执行此操作时,您可以使用简单的 IIR 类型并在正向和反向方向上对信号进行滤波,以消除任何可能由滤波施加的相位失真。
如果你使用 matlab,操作看起来像这样。.
[x, fs] = wavread('myfile.wav');
[b,a] = butter(8, 15/(fs/2), 'highpass');
y = filtfilt(b,a,x);
在命令行中,您可以尝试使用 sox。
sox fileIn.wav fileOut.wav highpass 10
这将应用频率为 10 Hz 的高通滤波器。这应该删除 DC 偏移量(但可能不在文件的开头)。
有关更多信息(但不是那么多),请参阅 sox 手册。
正如@learnvst 在他的回答中解释的那样,看起来“漂移的直流偏移”实际上只是非常低频率的内容。您可以使用高通滤波器删除此 LF 内容。由于低于 20 Hz 的频率通常是听不见的,因此您应该能够在不实际更改文件声音的情况下取出“徘徊的 DC”。
最新版本的 Audacity (2.0.5) 包括一个高通滤波器。选择Effect > High pass filter ...
和调整截止频率和滚降参数。大约 15 Hz 的截止频率和 6 dB/oct 的滚降应该可以解决问题。