コンテンツへスキップ

Qlipのオーディオ機能

動画ビューワQlipに、オーディオのレベルメータを実装しました。動画は映像だけではなく音声と合わせて完成するわけですから、音のモニタリングも重要なことは言うまでもありません。マルチチャンネルの際にどのトラックのどのチャンネルを表示するかの選択がうまくできていないのですが、一般的な完パケ素材の1トラックステレオの場合では問題なく使えています。今回のエントリーでは、そのあたりの仕組みについて紹介します。

動画ビューワQlipにオーディオのレベルメータを実装するにあたり、当初まったくどうやって実現できるかのアイディアがありませんでした。そんな中でみつけたのが、Appleが配布していたサンプルコードでした。その中にまさにドンピシャの事例があったので、それを使わせてもらっています。ただその事例では、RMSだけしか取り出せなかったので一部を改造してピークレベルも取り出せるようにしました。ソースコードがあればこの辺りの修正はハードルが高くないので、私のような初心者にもなんとかなる範囲です。

さてRMSですが、正直に申し上げると私はほとんど知識がありませんでした。なんのこっちゃ?というのが第一印象でした。ネットで調べるとRoot Mean Squareのことだとわかり、その先をたどるといわゆる実効値であることがわかりました。高校生の頃電気工学の授業で習ったアレです。今から振り返ると、当時もっと真面目に学んでいれば未来に苦労することはなかったのに、後悔先にたたずです(汗)。RMSは数式で表すとそれほど複雑ではなく、棒グラフの一本ずつを二乗して全部を足してから平均をとります。その答えのルートを取ればできあがりです。このRMS値は、聴感上の音圧に近いのでモニタリングの際にも役に立つと思い、Qlipで採用することにしました。

カラーバーに付いている1kHzのトーンを再生してみると、-23dBくらいを表示していました。普段見慣れている-20dBとは微妙に異なる値です。そこで登場するのが、ピークメータです。直近の時間の間における最もレベルの高い値を時間と共に表示するメータです。こちらで先ほどの1kHzを再生すると-19.999998dBと出ました。これが期待していた値です。これまで現場で見かけた-20dBという値はRMSではなくピークだったのですね。アナログ時代出身者の私としては、VUメーターというものもありますが、こちらはアナログの針を使ったメーターのためにできた背景があるのと、実装方法がみつかっていないので、今のところは避けています。

今回オーディオメーターを実装するにあたり、オーディオのサンプルやビットデプス。それにRMSやピークレベルなどを自分でハンドリングすることになり、これまでの丸暗記的な解釈がやっとここにきて理解できた気がしました。QlipではRMSとPeakの値がどうなっているかを数値で表示することができます。一般の方は混乱するだけなのでメニューには出していませんが、興味がある方はCommand+Option+Shift+Pを押していただければ、表示のOn/Offが切り替えられるようになっています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。