问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

测试采样率变化对音频的影响

创作时间:
作者:
@小白创作中心

测试采样率变化对音频的影响

引用
1
来源
1.
https://www.cnblogs.com/lilpig/p/18335384

采样率转换(SRC)是音频处理中的一个重要环节,特别是在多源音频输出时,操作系统需要将不同采样率的音频统一转换为同一采样率。本文通过理论分析和实测数据,探讨了采样率转换对音质的影响,特别是48kHz到44.1kHz之间的转换是否会产生人耳可闻的差异。

理论分析

先说一下什么是采样率。声音由振动产生,振动的幅度处于不断的连续变化之中。要将这种连续变化的信号转换到数字系统中,就必须进行离散化处理。例如,一秒钟之内对原始振幅采样48000次,来模拟这种现实世界中连续的变化。采样率就是一秒钟内有多少个采样点来描述音频的振幅。

再说采样率转换,理论上来说,采样率转换对音质的影响和转换算法有非常大的关系。先考虑整数倍向上转换,比如48kHz转换成96kHz,原来的两个频点中间会多出一个频点,该频点如何选择是采样率算法决定的,比如它可以选择两点之间的均值,也可以选择和上一个点完全一致。目前常见的插值算法有:一阶保持FOH、零阶保持ZOH、三次样条函数spline和sinc函数。

整数倍向上转换至少会保持转换前的采样点,非整数倍转换则会丢失这些原始采样点。下图示意了非整数倍转换的情况:

下面是同一个音乐经过采样率转换后(48000->44100)的波形对比,可以根据目前竖线的位置来判断,采样点之间已经发生变化。

这是从时域上的分析,我们知道时域的变化将直接影响频域,但这里的影响应该不会那么明显,采样点足够多,对振幅走势的模拟应该不会有很大变化。从频谱图上几乎也看不出啥,硬要说区别,可能就是极高频有些区别,毕竟48000kHz的截断频率是24kHz,44100则是22.05kHz,但这里的区别人耳不可闻。

理论上:

  • 无论是整数倍还是非整数倍,都和采样率转换算法有很大关系
  • 整数倍的向上转换,会保留原始采样点,插入新的采样点
  • 整数倍的向下转换,会保留部分原始采样点
  • 非整数倍的向上向下转换,会生成很多新的采样点

实践测试

48000->44100

在Reaper中将48kHz和44.1kHz的音频一起播放,并反相其中一个,可以看到在响度较大的部分总轨偶尔会有声音出现,这一部分是否是不可闻的极高频呢?

通过Pro-Q的波形展示,我们可以看到几乎是从10k之前一点都有很微弱的声音变化,小于-100dB,这块不用担心是否可闻,这和你回放设备的THD几乎在同一水平线。而20k这块一直都很高,这是理所应当的,因为44100高频的截止点更低,这是预期之中的。

这里可能会怀疑Pro-Q的示波是否准确,于是又打开了另一个频率图监测的插件,这次可以看到几乎是在全频段都有声音出现,但大部分小于-114dB,无需考虑它们会不会影响到声音,你的解码器、放大器、耳机等带来的失真可能都会比这个级别高。

48000->44100->48000

如果经过多次转换呢?我们担心若整个听音链路中经过多次采样率转换,会不会造成可闻的失真。我们把48000的音频转换为44100再转换回48000,然后和原始的48000音频对比,可以看到音频之间的差异更大了,但经过两次转换,除了截止频率之外,依然没有任何频率达到-100dB的声压级(中频高频部分偶尔有点危险了)

ABX双盲听测试

暂时没时间做,有时间开搞,从理论和实验结果来看,觉得不可能听出来。

测试流程

  1. 从网易云下载音频,得到48kHz/16bits的原始音频
  2. 导入到Reaper,以44.1kHz/16bits导出,得到转换后的音频
  3. 将转换后的音频导入,反相

结论

我们进行了48000到44100最终再转回48000的采样率转换,最终的结论是有差异,但微乎其微,人耳几乎不可闻。

但本次的实验充满了各种不严谨因素:

  • 采样率算法的不同,安卓或Windows平台的重采样算法可能不同
  • 测试软件Reaper是否可靠,比如它是否会将导入的音频直接进行二次重采样,这样实际上我们看到的结果就不仅仅经历了两次重采样了;再比如它两个轨道间的播放是否存在延时?这样的话我们看到的区别可能不完全是采样率转换带来的
  • 频谱图插件靠谱吗?

参考

  • 梳理一下各大平台使用的sample rate convert算法
  • 2021年Android设备SRC(采样率转换)现状观察
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号