14

WAV 形式 (すべて異なる楽器とピッチ) のさまざまなオーディオ録音がたくさんあり、それらを「正規化」して、再生時にほぼ同じ音量に聞こえるようにしたいと考えています。

平均サンプル マグニチュード (すべての絶対値の合計をサンプル数で割ったもの) を測定してみましたが、この測定による正規化はうまくいきません。この方法は、音の周波数を考慮していないため機能していないと思います。高周波数の録音は、同じ振幅の低周波数の音よりも大きく聞こえることがわかっています。

音の大きさを測定する良い方法を知っている人はいますか?

4

5 に答える 5

14

二乗平均平方根は、サウンド ファイルのラウドネスを推定するためによく使用されます。これは、非常に大きな音が非常に短い場合、そのように認識されない可能性があるためです。また、電力は振幅の 2 乗で指数関数的に増加することも覚えておいてください。

Hydrogen Audio のオーディオ オタクは、このことについてよく知っています...無料の Replay Gainソフトウェアをチェックしてください。プログラミングをまったく行う必要がない場合もあります。

編集: 電力対振幅に関するコメント フィードバックが含まれています。

于 2009-06-12T02:30:09.720 に答える
3

オーディオの専門家ではなく、前のコメントに追加すると、「ピーク電力の最短時間」として定義するものを把握し、波を生の浮動小数点に変換して、一定時間にわたって RMS を使用する必要があります。その長さのチャンクを継続的に取り、MAX を見つけます。そこに最高のピーク パワーがあります。

于 2009-06-12T02:33:41.160 に答える
3

PeterAllenWebb の応答に追加するには:

RMS を計算する前に、まずサンプルを「中央に配置」する必要があります (各サンプルが最大 + 振幅を持つ 5 分間の .wav を考えてください)。これを行う最善の方法は、サブソニック周波数でハイパス フィルターを使用することです。

それでも、人間が敏感な周波数はカウントされません。これを行うには、A 重み付けを使用できます。オンラインで計算できるページがあります: http://www.diracdelta.co.uk/science/source/a/w/aweighting/source.html

コードはここにあるようです: http://www.diracdelta.co.uk/science/source/a/w/aweighting/multicalc.js

于 2009-07-19T01:38:22.947 に答える
2

他の人が言ったことを繰り返しますが、RMS 値を使用して音の「ラウドネス」を推定します。

しかし、プラッキングやドラム ヒットなどの衝動的な音を扱っている場合は、RMS 値をスライドさせて、ピーク RMS 値のみを選択する必要があります。音を 100 ミリ秒測定し、ウィンドウをスライドさせ、再度測定するなどして、見つけた最大値に従って正規化します。

RMS を実行する前に DC 値を確実に削除してください。MATLAB/OctaveおよびPythonでの A 重み付けのコードを次に示します。

于 2010-03-02T15:13:28.700 に答える