5

Web Audio API のオーディオ コンテキストのビット深度は?

たとえば、カスタム カーブを作成して使用する場合WaveShaperNode、適切なFloat32Arrayサイズはどれくらいですか?

開発者が 16 ビット オーディオ用の 65536 を使用しているのを見たことがありますが、仕様に情報が見つかりません。

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 に答える