こんにちは、とらです。
副業でオーディオブックの音声編集をしています。先日、WAVとMP3をセットで納品したところ、ピークが-6dBを超えている、という指摘が返ってきました。
編集はWAVでやり、最後にMP3へ変換して両方を納品する。ずっとその流れでした。そして手元のWAVは、きちんと-6dBに収まっていました。
超えていたのは、MP3のほうでした。
MP3は変換の過程で波形が作り直されます。だから、WAVで基準を満たしていても、MP3が満たしている証明にはならない。基準は変換後のMP3で満たすものと考え直して、WAVの段階で余裕を取り、変換後のMP3を測って確認する。今はその運用です。
納品後に返ってきた指摘
指摘は2つでした。
- ピークが-6dBを超えている(特にMP3で目立つ)
- WAVとMP3で音量に差がある
最初に思ったのは「WAVは収まっているのに・・」でした。リミッターの上限は-6dBにしてあり、納品前に自分の目でも確認している。それでも超えている、と言われる。
つまずいたのは二か所でした。ひとつはMP3という形式への理解。もうひとつは、指摘を全部そのまま直そうとしたことです。
WAVで収まっていたのに、なぜMP3で超えるのか

MP3は「元と同じ波形」には戻らない
MP3は非可逆圧縮です。エンコードするときに、人間に聞こえにくい成分を削って容量を落とす。そして再生するときに、残った情報から波形を組み立て直します。
ここが要点です。組み立て直された波形は、元のWAVとは一致しません。
似た形にはなりますが、同じではない。サンプル1個ずつの値がずれていて、ピークの位置も高さも変わります。その結果、元より高いピークが出ることがあります。オーバーシュートと呼ばれる現象です。
高域のカットや、フレーム単位でデータを扱う構造が関係しています。ただ、エンコーダの中身まで追いかける必要はありません。必要なのは「MP3にすると上がることがある」という事実だけです。
私の場合、WAVからMP3(44.1kHz / 192kbps)にして最大0.6dB上がったファイルがありました。WAVで-8.1dBTPだったものが、MP3で-7.5dBTPです。
0.6dBというのは、ぎりぎりを狙っている人間にとっては致命的な幅です。
サンプルピークとTrue Peakは別物
もうひとつ、メーターの話です。
DAWのピークメーターが表示しているのは、多くの場合サンプルピークです。記録されたサンプル値の、いちばん大きいもの。
True Peakは違います。サンプルとサンプルの「間」で、実際の波形がどこまで振れるかを推定した値です(ITU-R BS.1770で定義されています)。デジタルの音は点の集まりですが、再生されるときには点と点の間がつながった波になる。その山の高さを測ったものだと思ってください。
だから、サンプルピークが-6.0dBちょうどでも、True Peakはそれより高いことがあります。
そしてMP3変換で、そこからさらに上がる。
私がやってしまったのは、Adobe Auditionのハードリミッターを「ピーク」モードのまま使っていたことでした。上限は-6dB。サンプルピークとしては守られている。ところがTrue Peakで測り直すと、最大0.8dB漏れていました。
リミッターは仕事をしていました。私が測っていた場所が違っただけです。
「ピーク」と「音量差」、どちらを優先するかを先に聞いた
原因が分かったので、次は直す作業です。
ここで一度手を止めました。指摘は2つありますが、この2つは同時に満たそうとすると衝突します。ピークを下げれば、その分だけ音量も下がる。逆に音量を揃えにいけば、ピーク側の余裕を削ることになる。
そこで、直しはじめる前にクライアントへ聞きました。「ピークと音量合わせ、どちらを優先しますか」と。
回答はピーク優先でした。配信先の入稿で、ピークが超過しているファイルは受け付けられないからです。音量差のほうは既知のものとして受け入れる、と。
この一往復に、たぶん3分かかっていません。
聞かずに作業していたら、全ファイルのピークを詰め直したうえで音量も揃え直して、その結果またピークが超えて、という往復をやっていたはずです。作業量が倍になったうえに、そもそも両立しないものを追いかけていた。
指摘が複数返ってきたとき、全部を潰しにいくのは誠実に見えます。ただ、指摘同士が衝突しているかどうかは、発注側も整理しきれていないことがあります。並んでいる順番が優先順位とはかぎらない。
だから、直す前に一行聞く。これは技術の問題ではなく、段取りの問題です。
対策はWAV側で余裕を取ること
方針が決まったので、基準を引き直しました。
基準:変換後のMP3で-6dBTP以内。
WAVではなく、MP3で満たす。これが出発点です。そのために、WAVの段階でTrue Peakを-7〜-7.5dBTPあたりに抑えておきます。
やり方はこうです。
- 編集がすべて終わった最後に、ラウドネスを一致させる処理をかける(リミッティングあり・トゥルーピーク指定で上限を設定)
- その状態でWAVを書き出す
- そのWAVからMP3を書き出す
- WAVとMP3の両方を測る
ポイントは1の「トゥルーピーク指定」です。ここをサンプルピークのままにしていると、さっきの0.8dB漏れが起きます。使っているリミッターがTrue Peak制限に対応しているか、設定画面を一度確認してください。
それと、リテイクを貼り込んだあとは、ファイル全体へ処理をかけ直します。貼り込んだ箇所だけ処理が当たらず、そこだけ-0.7dBTP出ていたことがありました。前後がデジタル無音だったので、聴いても気づけません。
余裕を1dB前後取る理由も書いておきます。私は一時期、上限を-6.5dBTPにしていました。基準が-6.0なので0.5dBの余裕がある、という計算です。ところがMP3変換で0.6dB上がった実例がある。つまり-6.5では足りない。実際、上限-6.5で書き出したMP3が-6.2〜-6.4に張り付いたこともありました。落ちてはいませんが、余裕ではありません。
上がり幅はファイルごとに違います。だからぎりぎりを狙わない。
そして、変換後に必ずMP3を測ります。WAVを測って安心しない。
WAVとMP3の音量差は直さない
もうひとつの指摘だった音量差については、直さないことにしました。
同じ素材でも、MP3にすると音量の測定値はわずかに変わります。コーデックの特性なので、完全には一致しません。近づけることはできますが、そのために処理を足すと今度はピーク側の余裕を食う。優先順位はピークだと決まっている。だから触りません。
ただし例外がひとつ。WAVとMP3で極端に差が出ているときは、特性ではなくMP3が古い版のままである可能性が高いです。私の場合、2本で約6dBの差が出ていました。WAVだけ作り直して、MP3の書き出しを忘れていた。
WAVを差し替えたら、MP3も必ず書き出し直す。 差が1dB前後なら特性、数dBなら事故。そこは切り分けて見ています。
全部作り直さず、測って落ちたものだけ出し直す
ここからは、すでに納品してしまったファイルの話です。
原因が分かった時点で、正直「全部作り直すか」と考えました。数十本あります。丸二日は消えます。
やめました。やったのは、納品済みのWAVとMP3をすべてTrue Peakで一括チェックして、基準を外れたものだけ出し直すことです。全部やり直すのは、測るのが面倒なときの逃げでもあります。
結果としては40本中35本が基準超えで、ほぼ全部作り直すことにはなりました。それでも、測ってから決めたのと測らずに全部やったのとでは次が変わります。どれがどれだけ超えていたかが残るので、設定を直したあとに「効いたかどうか」を同じ方法で確認できる。次の回は36本すべてOK、いちばん高いもので-6.4dBTPでした。
なお、聴いて直す必要のあるファイルは、測定結果とは関係なく出し直しています。編集の修正は別枠です。
ffmpegで一括チェックする
一括チェックはffmpegでやっています。フォルダ内のMP3を全部測って、-6dBTPを超えたものに「NG」と表示するコマンドです。
for f in *.mp3; do tp=$(ffmpeg -nostats -i "$f" -af ebur128=peak=true -f null - 2>&1 | awk '/True peak:/{getline; print $2}' | tail -1); if (( $(echo "$tp > -6" | bc -l) )); then mark="NG"; else mark="OK"; fi; echo "$mark $tp dBTP $f"; done
やっていることは3つ。ffmpegのebur128フィルタでTrue Peakを測り、awkで数値だけを抜き出し、bcで-6と比較する。音声を書き換える処理は入っていないので、納品済みのファイルにそのまま実行して大丈夫です。WAVを測るときは *.mp3 を *.wav に置き換えます。
出力はこうなります。
OK -7.2 dBTP 001.mp3
OK -6.8 dBTP 002.mp3
NG -5.4 dBTP 003.mp3
OK -7.0 dBTP 004.mp3
1行に「OK/NG・値・ファイル名」が並ぶので、NGだけ拾えば出し直すファイルが決まります。
前提として ffmpeg と bc が必要です。Macなら Homebrew の brew install ffmpeg / brew install bc で入ります。
Macで作業フォルダを指定するコツ
小ネタですが、地味に効きます。
ターミナルで cd するときのパスは、Finderでフォルダを選んで option + command + C を押すとコピーできます。cd と打ってからペーストすれば、日本語混じりの長いパスでも一発です。
もうひとつ。Cursorなどのエディタで納品フォルダそのものを開いてしまえば、内蔵ターミナルの現在地がそのフォルダになります。パスを指定する作業自体がなくなります。
運用ルールとして残したこと
今回決めたことを並べて終わりにします。
- 基準は変換後のファイルで満たす。WAVで測って安心しない
- WAVは-7〜-7.5dBTPで止める。リミッターは必ずトゥルーピーク指定
- リテイクを貼り込んだら、最後に全体へ処理をかけ直す
- WAVを差し替えたら、MP3も書き出し直す
- 指摘が衝突したら、直す前に優先順位を聞く
最後のひとつが、いちばん時間を節約してくれました。

コメント