过采样技术在音频插件中的实现原理

话题来源: 母带处理限制器 Kazrog KClip 3.6.4 多频段饱和与精准响度监测于一体的专业削波插件

采样率这件事,说白了就是个时间尺度上的分辨率游戏。

44.1kHz采样率下,一个10kHz的正弦波每个周期只有4.41个采样点。这点信息量要精确描述波形已经捉襟见肘,更麻烦的事情在后面——当你在这个信号上加任何非线性处理,比如削波、饱和、压缩,数学上就会产生超出奈奎斯特频率(22.05kHz)的高频分量。这些分量并不会凭空消失,它们会以一种极其讨厌的方式“反射”回可听频段,变成与原信号毫无谐波关系的杂散频率。这就是混叠。

过采样技术在音频插件中的实现原理

混叠不是一种失真,是错误的信号。它让高频变得毛躁、颗粒感重,声场定位模糊,长时间听下来耳朵会累,但很多人说不清楚为什么累。

内部升频:让错误无路可走

过采样的解决思路异常直接:既然奈奎斯特频率以上会出问题,那就把奈奎斯特频率推高。

实现过程在概念上分四步。先把输入信号的采样率按整数倍提升,2倍、4倍、16倍,甚至32倍。这一步通过插值滤波器完成,在已有采样点之间插入计算出的中间值。别以为这就是简单的线性连线,实际用的是多相位FIR滤波器,保证插值后的波形在数学上与原连续信号高度一致。

然后在更高的采样率下执行非线性处理。以16倍过采样为例,44.1kHz变成705.6kHz,奈奎斯特频率拉到了352.8kHz。此时削波产生的谐波可以自由延伸到上百kHz,完全不用担心它们折叠回来。

接下来是低通滤波,把超出原始奈奎斯特频率(22.05kHz)的内容切掉。这一步在数字域完成,用的是陡峭的线性相位滤波器。

最后降采样回原始采样率。因为高频已被滤净,降采样时不会再发生混叠。

一句大实话:过采样没有让失真消失,它只是把失真产物赶出了可听范围,然后干净利落地切除。

整数倍与滤波器的代价

几乎所有音频插件都用整数倍过采样。2倍、4倍、8倍,简单高效。非整数倍涉及分数比率重采样,运算复杂度直接起飞,实时处理不划算。

滤波器的设计才是真正的技术分水岭。陡峭的截止特性意味着更长的滤波器冲激响应,更长的冲激响应意味着更高的延迟和更大的CPU消耗。KClip这类插件允许用户在实时监听时降低过采样倍数以控制延迟,离线导出时再拉满精度,这个设计很务实。

另外,线性相位滤波器在通带内没有相位失真,代价是预振铃——信号还没到,波纹先出现了。最小相位滤波器没有预振铃,但会改变信号中各频率的相对相位。两种方案的声音不一样,好的插件会让你选。

过采样的计算量随着倍数线性增长。16倍过采样意味着插件内部要处理16倍的数据量,同时在每个采样周期内完成插值、非线性处理、滤波、抽取这一整套流水线。现在的CPU扛得住,但十年前很吃力。这也是为什么早期母带级处理不得不依赖硬件DSP。

评论(2)

提示:请文明发言

  • 鸡蛋灌饼不加蛋

    那预振铃对打击乐影响大不大?

    3 小时前
  • 雾中回响

    之前拿个压缩器使劲调,高频还是毛躁,原来根源在混叠上。

    11 小时前