什么是Web Audio API的位深度?

时间:2013-09-18 14:35:17

标签: audio web-audio

Web Audio API音频上下文的位深度是多少?

例如,如果您想创建一个自定义曲线以与WaveShaperNode一起使用,那么Float32Array的大小是多少?

我见过使用65536的开发人员用于16位音频,但我无法在规范中找到任何信息。

1 个答案:

答案 0 :(得分:7)

实际上,系统内部使用Float32,其有效位为23位。使用浮点可以避免大多数剪切问题,同时实现良好的精度。这意味着技术上没有必要尝试创建大于8388608(2 ^ 23)个样本的波形整形曲线;但实际上,16位曲线的分辨率非常高(信噪比约为96dB)。 32位音频处理的很多原因是为了避免削波问题,而不是改善输入/输出的SNR;使用浮点有助于实现这一目标。偶然地,WaveShaperNode专门剪辑到[-1,+ 1](大多数节点没有)。

简而言之 - 只需使用16位(65535),但请确保您的信号在-1,+ 1范围内。