• 締切済み

音量(デシベル)の求め方

映画の作品ごとに、映画中に登場した音声発話の音量を求めたいのですが、DVDごとに音の基準も違い、求め方がわかりません。 20log10 |p/pmin| という式で行っていたのですが、少し違うようです。 どなたか教えてください。 注:pが映画中に登場した音声発話のデータでpminがその映画中に登場した最少音量の値です。

みんなの回答

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

DVDの場合、音声は、16ビットまたは24ビットで量子化されています。 16ビットの場合、音声データは、+のピーク値が32767、-のピーク値が-32768になります。 「最大音量の音声データ」は「32767から-32768まで、65536の幅を振れる波形」になります。 「無音の音声」は「ずっと0の波形」になります。 で「ソース音源」を量子化する場合、普通は「最も大きい音の部分で、ピーク値が上記を超えないように調整」して量子化します。じゃないと再生時に「音割れ」が起きてしまいます。 そして「最大音量はソース音源、つまり、作品ごとに違う」のですから「最大音量の部分がピーク値になるように量子化する」と「普通に会話している部分の音量が、作品ごとに違って来る」ことになります。 例えば、 ・最大音量は、大爆破シーンの100デシベル ・最大音量は、激突するシーンの94デシベル と言う2つの作品があったとします。 6デシベル違うと、音声の大きさは「2倍」も違います。 両方とも「最大音量の部分の音声データが、32000~-32000くらいになるように量子化した」としたら、会話部分はどうなるでしょう? 2倍も違う物を、どちらも同じ数値にしてしまえば、それ以外のシーンのすべてで、音量が2倍違ってしまいます。 両者を「同じ音量に設定した再生装置」で再生すると、会話シーンの音量は2倍も違って聞こえてしまいます。 これが「作品ごとに会話部分の音量が違う理由」です。 簡単に言えば「どの作品も、最大音量の部分を同じくらいの音量にしているため、会話部分の音量が相対的にバラバラになっている」のです。 で「会話部分の音量を、どの作品も同じくらいにする」と言う事をしてしまうと、最大音量部分の音声が量子化のピーク値を超えて激しく音割れする作品が出たり、逆に、ソース音源にあった筈の「小さな音」が量子化しきれずに聞こえなくなってしまったりと、色々と問題が出てしまいます。 音声データが24ビットの場合、音声データのピーク値が、+は8388607、-は-8388608になるだけで、原理は16ビットと同じです。 そういう訳で「どの作品も、最大音量部分のデータのピーク値は、だいたい同じような数値になっている筈」です。そういう意味では「どの作品も、音量は同じくらいのレベルで収録されている」と言えます。 会話部分の音量を求めたいなら、会話部分の音声を量子化したデータの「ピーク値」を探せばOKです(「DVDから音声の生データを吸い出す事が可能ならば簡単」ですが、普通はプロテクトされてて、しかも、音声データは圧縮されているので、音声の生データは普通は吸い出し出来ません)

hirodokapo
質問者

お礼

ありがとうございます。とても勉強になりました。

関連するQ&A