为什么Web Audio Context默认采样率为48000Hz而非人耳可听上限?
Web Audio Context 默认采样率为48000Hz的原因
你给出的测试代码可正确获取当前AudioContext实例的采样率:
var a = new AudioContext(); var samplerate = a.sampleRate; alert(samplerate); // 48000
默认采用48000Hz采样率的核心原因如下:
- 满足奈奎斯特采样定理的工程实现余量
按照奈奎斯特采样定理,要完整还原人耳最高可听的20kHz频率信号,理论上仅需40kHz采样率即可,但现实中不存在理想的“砖墙滤波器”能完全过滤掉高于采样率一半的信号。48kHz采样率对应的奈奎斯特频率为24kHz,留出了20kHz到24kHz的过渡带供低通滤波器实现,不需要过高的滤波器阶数就能避免混叠失真,工程实现成本更低,音质表现更稳定。 - 适配硬件原生采样率,减少性能损耗
目前消费级音频硬件(板载声卡、USB声卡、HDMI输出设备、蓝牙音频模块、移动端Codec)的原生默认采样率基本都是48kHz。Web Audio默认采用48kHz可以直接和硬件采样率对齐,不需要额外做采样率转换(SRC),既避免了采样率转换带来的音质损失,也降低了CPU开销,减少了爆音、卡顿的出现概率。 - 兼容音视频行业通用标准
全球流媒体、广电、电影制作行业的音频默认标准采样率就是48kHz,Web端核心使用场景包含大量音视频播放需求,采用48kHz采样率可以直接和视频封装中的音轨采样率对齐,不需要额外做同步转换,有效降低了音画不同步的概率,也减少了播放端的运算开销。 - 覆盖专业音频场景需求
Web Audio的设计目标不止包含基础音频播放,还支持在线音频编辑、直播推流、云端音乐制作等专业场景,48kHz是专业音频领域的通用标准之一,采用该采样率可以减少专业用户处理音频时的格式转换步骤,提升工具兼容性。
内容的提问来源于stack exchange,提问作者AGamePlayer
相关产品推荐
相关产品推荐

