PCMサンプルを1チャネルのストリーム(8000サンプル/秒)で受信しています。私は次の1000サンプルごとにabs値を追加して1000であるサンプル数で除算することにより信号の「力」を計算することでラウドネスを見つける方法を見つけました。サンプルの値は常に蓄積され、とんでもない値に到達するようです...だから私はそこで何か悪いことをしていると思います。面白いことに、計算が狂ってしまうと、手で「サウンド入力デバイス」を押すと、すべてが正常に戻ります;)
とにかく。私の質問は、PCMサンプルのセットのラウドネスを適切に計算する方法ですか?
合計を計算するときに、どの数値形式を使用していますか?オーバーフローが発生している可能性があります。
—
Jason R
2バイトの符号付き数値を使用しています。オーバーフローはありません。私はすべてのサンプルをtxt形式でファイルに出力しましたが、それらのサンプルは沈黙にもかかわらず、時間とともにどんどん増えていきました。それが「蓄積」し始めたとき、より奇妙な値でさえ何もゼロ以下になりませんでした。
—
solgar