ボリューム定義の頻度が期待どおりでない理由がわかりません。
いくつかの指定された周波数で順番にマイクにサウンドを送信します。次に、マイクバッファーのFFTを実行します。FFTの終了時に、複素数の配列があります。定義された周波数での音量を知るために、配列を調べます。この配列の要素数は、次のように取得します。
MyFrequency = n*SamplingRate/SizeOfArray.
次に、複素数の大きさを取得します
(sqrt(Re^2+Im^2)
私が正しければ、これはこの周波数での音量を示しています。ただし、この値は周波数に応じて大きく変化します。私が間違っている場合は、間違いを訂正するために何をする必要があるかを説明してください。私が正しければ、なぜこの値が大きく変わるのか説明してください。