動画音声の扱い方

忙しくて新しいノートが書けていませんでしたが、落ち着いたので更新します。
※ 追記: クオンタイゼーションノイズ(量子化誤差、量子化ノイズ)のことを誤ってエイリアシングノイズと記載していました。修正します。

大前提となるデジタル音声の基本

ビットデプスとサンプルレート

前にも 映像音声の制作の仕方 で少しだけ触れましたが、映像音声をスタンダードを把握することは非常に大切です。

今はまだ、映像音声は PCM 48000Hz/16-bit がスタンダードです。納品データは PCM 48kHz/16-bit の指定を受けると思います。ProRes とか DNx系。ただ、Web 上の動画で重宝される H264、H265 等は AAC です。最近は動画書き出しの時に AAC に設定している人多いんではないでしょうか。

もし、その音声ファイルを本チャンでも使う予定で、グレーディングしてエディットに ProRes 等で回すとき、AAC で書き出すのは 絶対にやめてください

ビットとサンプルレートと非可逆圧縮

とにかく証拠を見せつける

48kHz/24-bit の 1kHz サイン波音声

ここに、48kHz/24-bit の純粋なサイン波形があります。きれいですね。
そしてこちらが AAC で書き出した 画像 があります。

※ AAC はビット深度はサンプルごとに再計算しているので 32-bit Float と見えています。が、実際には 32-bit Float の恩恵は全くありません。

書き出し設定がステレオだったのでステレオ音声ですが、こちらもきれいな波形ですね。きれいに見えます。ノイズなんて見えません。
では、別の画面で波形を監視してみましょう。


これは純粋な 48kHz/24-bit のサイン波です。1k に音がアナライズされて見えています。

では、AAC の監視をしてみましょう。


汚ぇ… AAC のファイルは元々存在しなかった音が現れています。

これが、俗にいう、音質低下の現象です。AAC は非可逆圧縮ですのでこの程度当たり前なんですが、人に渡すデータを汚す輩は最低だと思いませんか?これがカフェでお客さんに渡す商品だったら返品対象ですよね。そういう認識を持つとなんだか急にとんでもないことを今までしていたんじゃないか…って思うかもしれません。

ちなみに Premiere Pro の初期設定をそのまま書き出しました。英語なのは私が OS を英語で動かしています。なぜかというと英語のほうが動作安定するからです。

そしてよくある 24-bit ファイルをそのまま 16-bit に変更しちゃう系のヤバいやつ。

音声さんからもらったファイルが 48kHz/24-bit でした!96kHz/24-bit でした!
よーし、リップシンクしてマルチカメラの同期もOK、音声と映像書き出そう!

非圧縮 (PCM) 48000Hz/16-bit で設定!

※ 16-bit で書き出したが 32-bit Float と見えるのはおそらく iZotope 側の認識問題

なんじゃこのノイズは…

これぞ、クオンタイゼーションノイズだ!
レコーディングエンジニアがこんな音声を見たら、泣きます。マジカヨ…ってなります。
「はぁ?音の違いなんてわかんなくね?」
なんて言う人いるかもしれませんがクリエイティビティにかけちゃいます。見えないところ、聞こえないところを頑張るのがエンジニアです。

じゃあどうすればいいんだよ(怒)

Dither を使うんじゃ!

Dither (ディザー) ってなんだよ、って話は結構長くなるのですが、簡単に言うと、ビット深度を変えること自体、ノイズが発生するのは避けられないので、そのノイズを最小限に抑えましょう、的な手法。画像のディザー処理と一緒です。限られた階調で色を表現するのと一緒で、24-bit 音声のディティールをなるべく崩さず、16-bit 音声へ変換する技術って感じです。


ここでは Dither の代名詞となった iZotope 製 MBIT+ を使った。


先程の 16-bit 音声に比べて、線上のノイズが消えて、圧縮音源では記録範囲外の 16kHz 以上に若干濃いノイズが溜まっている。

クオンタイゼーションノイズは、ある一定の法則が生じるために非常にノイズとして人に認識されやすい。そこで ディザー は不規則なノイズを加えてそのノイズを人間が聞き取りにくい周波数に逃がす、ということをしている。

これくらいやってくれれば、サウンドエンジニアは「まぁ、これくらいならええか。」って感じで許してくれます。

本当は収録音声を 48kHz/16-bit で揃えてくれるとめっちゃ嬉しい。ついでにいうとディザーは最後にかけたいから「無加工音声をよこせ」って言うかもしれません。ソフトは PCM で書き出しできるので、Premiere Pro なら Waveform 選んで無圧縮を渡すほうがいいです。その時の音声ファイルのフォーマットは要確認です。たまに、44.1kHz/24-bit とか混じってます。

大検証 Davinci Resolve と Premiere Pro

個人的には Davinci Resolve を推奨します。

Davinci には Fairlight が統合されました。Fairlight は映像音響業界のスタンダードでした。NHK のベテラン MA ミキサーは現役で Fairlight 使ってます。最近は MA でも Pro Tools が標準ですね。


フォーマットが QuickTime で PCM を選択。ビット深度をまずは 16 にセットして書き出し。

当たり前ですが、ディザー処理等はされていません。
フォーマットの関係なのか、PCM、16-bit を選択したはずなのに、32-bit Float という形式になっています。


ただし、QuickTime の Inspector は 16-bit と表示している。このあたりは iZotope RX 側のコーデック認識問題かと。

24-bit を選択して書き出してみた。


素晴らしい。音声自体はなにも変化していない。さすが Davinci。


Inspector も 24-bit を表示しているので、こうやって音声ファイルを扱えればもうプロですね。

Premiere Pro の場合

ここで、サンプルレートも変えてみる。48kHz/24-bit → 44.1kHz/16-bit に変換してみた。
最悪な状況ですね。全体にノイズとクオンタイゼーションノイズが発生している状況です。

実際、面倒で何も考えずに変換したくなりますが、絶対に何も考えずに変換しない、ということを覚えてください。

QuickTime フォーマットで PCM 48kHz/24-bit つまり、なにも変換しない状態で書き出しをしてみる。

Uncompressed、つまり無圧縮


きれいな音声データを書き出すことができた。安心。

ついでに Re-sample、サンプルレートをきれいに変える。

iZotope に Resample のエンジンがあるので使う。
※ ただ、サンプルレートを変換するだけでもノイズが増えるので専用のソフトを使うことを進める。

ただ、44.1kHz に変換するだけだと、こちらもやはり再サンプル時に、存在しない音が混入する。
薄っすらノイズが加わっているのが見て取れる。

しかし、Resample を使えば。ノイズは混入しない!
32-bit Float という表示がされているがデータを確認したら 24-bit だった。iZotope 側の最適化が望まれる。

デジタルデータを扱う上でプロでも気をつけるべき点

ビットとサンプルレートの統一。変換を必要とする場合は最後に知識を持った人が行う。

プロの現場でもこのような現象を知らず、データを汚してしまう方は多いです。映像系の人はここまで考えてないのは至極当然かもしれませんが、音屋さんは、怒ります。だって自分の知らないところで音声データが汚くなって最終的に良い音に仕上げられなかったら悔しいですからね。

簡単に言うと大間のマグロみたいなもんですよ、新鮮な状態のデータの方が、食べるときより美味しくなる。そんな感じで覚えてください。

今まで割と口酸っぱく、音声もちゃんと知識をもって扱え、と言ってきましたが理解できたでしょうか?

今後は iZotope RX を使ったノートでも作ろうかと思います。

24クリップする
クリップしておくと
あとからいつでも
見返したりできます。

    コメント

    • ShotaC
      めちゃくちゃ参考になりました!!!!ありがとうございます!!!!