WebAudio API を使用すると、AnalyserNode を作成して、一連のオーディオ サンプルの FFT 計算スペクトルにアクセスできます (符号なしバイト配列または float 配列-1
から へ1
)。これらの値を使用して、同じサンプル セットの全体的な電力 (RMS) を計算できることを願っています。
32 個のウィンドウ値を取得し、それらを加算して 32 で割るという単純な方法ではないと思います (0dB の正弦波は 1 つのウィンドウのみを満たし、隣接するウィンドウの一部がわずかに点灯しますが、 0dB はすべてのウィンドウを埋めます。) FFT/DFT 出力から RMS 値を計算することは可能ですか?
これを行う理由は、効率的な RMS メーターを構築する必要があるためです。生のサンプルにアクセスできますが、サンプルを処理してすべてのバッファでピークを見つけることは、オーバーヘッドが大きすぎます。ブラウザーはネイティブ コードで FFT を実行し、これらすべての計算を JavaScript で実行しようとするよりもはるかに効率的です。32 個の FFT ウィンドウから RMS を計算できれば、はるかに効率的です。