5

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

例如,如果您想创建一条自定义曲线以使用WaveShaperNode合适的Float32Array尺寸?

我见过开发人员使用 65536 来处理 16 位音频,但我在规范中找不到任何信息。

4

1 回答 1

8

实际上,系统内部使用的是 Float32,它的有效位为 23 位。使用浮点可以避免大多数裁剪问题,同时实现良好的精度。这意味着从技术上讲,尝试创建大于 8388608 (2^23) 个样本的波形曲线几乎没有意义;但实际上,16 位曲线的分辨率相当高(信噪比约为 96dB)。32 位音频处理的很多原因是为了避免削波问题,而不是提高输入/输出的 SNR;浮点的使用极大地帮助了这一点。顺便说一下,WaveShaperNode 专门剪辑到 [-1, +1](大多数节点不会)。

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

于 2013-09-19T15:52:57.340 回答