2012年09月06日

民放テレビ局の音量均一化アルゴリズムを実装しての感想

http://www.nab.or.jp/loudness/
CMの音がうるさい、という事で均一化することを決めたらしい。
どの程度の効果があるのか知りたかったので、公開されているアルゴリズムを実装してみた。

実装したのは単一wavを適正音量に治すだけ。公開されている検査プログラムはパスする。
使い方は実行するとでるヘルプをみてください。python2.7系とnumpyとscipyが入ってればそれだけで動きます。

運用としては、ラウドネス計算の前に
・入稿する素材の中の各部分間の均一化は既に行われていると仮定
・CMとコンテンツは別素材として扱う
し、個々の素材毎に平均したラウドネス値を-24dB(フルスケール比)とする、と規定している。

このプログラムを使うには、
音量が大きな差がある部分を複数のwavに分けて、このプログラムを -n オプション付きで実行する。
拡張子の前に".norm"のついたファイルができるので、それを結合して結合部分付近を聴き比べる。

短い切った素材同士だと、だいぶ改善して聞こえる。(ラジオのエアチェックが元)
長い番組と長い番組をつなぐと、(当然だけれど)音量差はやはり感じられる。

この運用方針は、
・CMのような短い素材が極端に大きな音を利用しようとすること
・番組全体の平均音量を下げてCMを大きく見せること
を排除しようとしているのがわかる。

なぜかというと、アルゴリズムとして、

・まず無音部分を無視する。
・絶対的なラウドネスを計算する
・絶対的なラウドネスから-10dB以下の部分を全て無視する
・有効部分のみから最終的なラウドネスを算出する

というわけで、番組平均より-10dBいじょう小さな部分をつけて引き伸ばしても、平均ラウドネスを大きく見せかけることはできない。
逆に言えば、-5dBくらい音量を下げた部分で時間を稼げば、計算されるラウドネスと実際の音量に差をつけることは可能だ。
-10dBよりもっと差を小さくしたほうが良いと思うが、そうすると(放送全体にわたっての)平均ラウドネスが過大評価にすぎる、という問題も出るだろうから、どう決めたのか知りたいところだ。

posted by ko-zu at 01:12| Comment(0) | TrackBack(0) | Python | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック