从 Android 5.0 (Lollipop) 起,音频重采样器完全基于衍生自 Kaiser 加窗 sinc 函数的 FIR 滤波器。Kaiser 加窗 sinc 函数具有以下属性:可以轻松地计算其设计参数(阻带波纹、过渡带宽、截止频率和滤波器长度)。
相对于整体能量来说,此函数几乎是减弱阻带能量的最佳选择。
请参阅 P.P. Vaidyanathan 编写的 Multirate Systems and Filter Banks 第 50 页,了解 Kaiser 窗口、其最优性以及与椭圆球面窗口的关系。
设计参数将根据内部质量确定结果和所需的采样比自动计算。根据设计参数,将生成加窗 sinc 滤波器。对于音乐用途,44.1 kHz 至 48 kHz(反之亦然)重采样器的生成质量要比任意频率转换的质量高。
为了达到这一质量要求,音频重采样器提供更高的质量和速度。不过,重采样器可能会带来少量的通带波纹和混叠谐波噪声,并且它们会导致过渡带中出现一些高频丢失,因此请避免不必要地使用重采样器。
采样和重采样的最佳做法
本部分介绍了可以帮助您避免采样率问题的一些最佳做法。
选择适合设备的采样率
一般而言,最好选择适合设备的采样率,通常为 44.1 kHz 或 48 kHz。使用大于 48 kHz 的采样率一般会导致质量下降,因为必须使用重采样器回放文件。
使用简单的重采样比(固定与插值多相)
重采样器可以在下列几种模式下运行:
固定多相模式。每个多相的滤波器系数都预先计算。
插值多相模式。每个多相的滤波器系数必须从最接近的两个预计算多相插入。
重采样器在固定多相模式下最快,此时输入速率与输出速率之比 L/M(除去最大公约数)中的 M 小于 256。例如,对于