Skip to content

True Peak ​

True Peak は、信号を再生したときに実際に到達する最大レベルを推定する考え方です。デジタル音声は離散したサンプル点の連なりとして記録され、再生時にはその点をなめらかにつないで連続した波形へ戻します。こうして再構成された波形は、隣り合う 2 つのサンプルのどちらよりも、その間で高くなることがあります。True Peak はこの「点と点の間の最大値」を推定します。

サンプルピークが 0 dBFS 未満でも、変換や再生時の再構成でクリップすることがあります。これがサンプル間ピーク(ISP: inter-sample peak)と呼ばれる問題です。波形の点だけを見ると安全に見えても、その点をつないでアナログ信号として再生したときに、点と点の間で上限を超えることがあります。

LOUDNESS · TRUE PEAKIDLE
サンプル間ピーク — マスターが再生時にクリップする理由

ドットは正弦波のサンプル、曲線はその解析的な波形です。山の頂点がサンプル間に来ると、保存された値より高いピークが生じます。その差は周波数と位相で変わり、ナイキスト周波数に近づくほど単調に増えるわけではありません。解析的なピークと、オーバーサンプリングしたメーターの推定値を比較してください。サンプルピークを 0 dBFS に近づけると、サンプル間の超過が生じ、ヘッドルームの足りないコンバーターや後段の処理でクリップする可能性があります。

サンプルピーク
-0.3 dBFS
周波数(×ナイキスト)
0.4

実用的な出発点 ​

一般的なリリース時のシーリングは -1 dBTP 前後です。dBTP はサンプルピークと同じ dB のスケールを、再構成後の波形に対して測ったものです。libsonare デモでは True Peak リミッターのステージを使い、Studio モードでシーリングとルックアヘッドを調整できます。

配信安全性の観点は True Peak 安全性 で詳しく説明しています。

-1 dBTP は万能の正解ではありませんが、配信エンコードや再生側の再構成で起きる余白を残す実用的な出発点です。より攻めたマスターではシーリングを上げたくなりますが、変換後の歪みや刺さる高域が増えるならラウドネスより安全性を優先します。

関連コントロール ​

コントロール意味既定値
シーリング許容する最大の再構成ピークレベル。-1 dBTP
ルックアヘッドピーク到達前にどれくらい先読みできるか。1 ms
リリースピーク抑制後にどれくらい速く戻るか。50 ms

libsonare で測る ​

True Peak メーターは既定で 4 倍オーバーサンプリングし、1・2・4・8・16 を指定できます。シーリングを守るリミッターは、チェーンのステージ maximizer.truePeakLimiter です。使い方は True Peak 安全性にあります。

typescript
import { init, meteringPeakDb, meteringTruePeakDb } from '@libraz/libsonare';

await init();

const samplePeak = meteringPeakDb(samples, sampleRate);        // dBFS
const truePeak = meteringTruePeakDb(samples, sampleRate);      // dBTP、4 倍オーバーサンプリング
python
import libsonare as sonare

audio = sonare.Audio.from_file("song.wav")
sample_peak = audio.peak_db()
true_peak = audio.true_peak_db()
bash
sonare meter song.wav   # ネイティブ CLI のみ: サンプルピークと True Peak を含む(--oversample で倍率を指定)

聴いて確認すること ​

True Peak の問題は、メーターだけでなく音でも確認します。歪みやすいのは、キックとベースが同時に鳴る瞬間、シンバルが大きいサビ、強いサチュレーション後のピークです。

シーリングを下げても音がほとんど変わらないなら、安全側の設定を選ぶのが得策です。シーリングを下げた途端にパンチが消える場合は、リミッターだけで解決しようとせず、前段のダイナミクス・サチュレーション・入力レベルを見直します。

メーターでサンプルピークが安全に見える素材でも、コーデック変換やデバイス側の再構成でピークは浮き上がります。

一般的な素材でおおよそ +0.5〜+1 dB、低域と高域が同時に走るような厳しい素材では +2 dB 近くまで上がることもあります。

リリース直前の検聴では、書き出した WAV だけでなく、想定する配信形式(MP3/AAC/Opus など)への一時変換版でもピーク挙動を確認します。

LUFS との関係 ​

True Peak シーリングはラウドネス目標とは別の制約です。LUFS を上げたいからシーリングを上げる、という判断は危険です。シーリングを上げると一時的に大きくできても、コーデック変換や再生側の再構成でクリップしやすくなります。

ラウドネス目標に届かない場合は、まずリミッターがどれくらいゲインリダクションしているかを確認します。リミッターが常に深く動いているなら、シーリングではなく前段のインプットゲイン・コンプレッション・低域バランスを見直した方が自然に到達できることがあります。ラウドネスステージがリミッターをどう駆動し、どこまで駆動を許されるかは ステレオ、リミッター、ラウドネスコントロール で説明しています。

サンプル精度のリミッティング ​

libsonare の True Peak リミッターは、オーバーサンプリング後のレートで 1 サンプルごとにシーリングを適用します。内部のどの段も、ルックアヘッドもゲインの平滑化もデシメーション後のガードも、サンプル単位で直列に動き、呼び出しをまたいで状態を持ち越します。出力のどこにもブロック全体の統計量から導いた値はありません。ここで言うサンプル精度とはそのことで、バウンスにとって決定的な帰結が 1 つあります。ホストが音声をどう区切って渡すかに出力が依存しないことです。同じ素材を 256 サンプルのコールバックで処理しても、16384 サンプルのブロックで処理しても、オフラインで一括処理しても、トランジェントの途中で切れる不揃いな分割で処理しても、結果はサンプル単位で完全に一致します。

これが重要な性質である理由は、ホストのバッファサイズが出力音に影響しない場合にだけレンダリングが再現可能になるからです。ストリーミングチェーンとオフラインチェーンは同じリミッターを駆動するので、この段に関しては 512 サンプルブロックのストリーミングプレビューと同じファイルのオフラインレンダリングは一致し、バッファ設定を変えて書き出し直した WAV も同じ WAV になります。ブロックごとにそのブロック自身の最大値でスケールし直すリミッターでは、リンギングした 1 サンプルのためにブロック内の全サンプルが引き下げられ、レベルがブロックサイズによって変わってしまいます。ブロックに依存しない設計なら、それは起きません。

設定したシーリングを外部の True Peak メーターが上回って読むことがあります。推定値は再構成フィルターとオーバーサンプリング倍率に依存するためです。4 倍のリミッターと 8 倍のメーターを使った 1 つのテスト素材では約 +0.02 dB でしたが、これはすべての音源に共通する上限でも、ドライブを増やしても超過量が変わらないという保証でもありません。チェーンの outputTruePeakDbtp はリミッターの倍率で測定します。メーターを比較するときは倍率と補間方式を記録し、書き出した音源を納品先のメーターで確認して必要な余裕を確保してください。

実装メモ

True Peak 検出は、入力サンプルをそのまま見るサンプルピーク検出とは違い、信号をオーバーサンプリングして再構成後の波形の最大値を取ります。libsonare はこのオーバーサンプリングをポリフェーズ補間フィルターで行い、サンプル間の各位相での値を評価します。ポリフェーズフィルターはオーバーサンプリングの代替手段ではなく、その実現方法そのものです。倍率は 1/2/4/8/16 倍に対応し、デモの既定は 4 倍です。

デモのリミッターはルックアヘッドを持つため、ピークが出てから潰すのではなく、到達前にゲインリダクションを準備できます。ルックアヘッドを長くすると安全側になりますが、過度に長い値はトランジェントの印象を丸めることがあります。

シーリングの保証は既定のポリフェーズ経路のものです。この経路はオーバーサンプリングした信号を制限してからデシメーションします。applyGainAtInputRate オプションはゲインエンベロープをオーバーサンプリング後のレートで計算しつつ、元のレートの信号に適用します。制限後の信号をオーバーサンプリング後のレートで再合成しないため、ベストエフォートであり、サンプル間のシーリングは保証されません。オフのままにしてください。シーリングを保証するのは既定の経路です。

実装上は、シーリング・ルックアヘッド・リリースを独立した見た目のコントロールとして出していても、体感上は相互作用します。シーリングが低いほどリミッターは働きやすく、ルックアヘッドが短いほど速いピークに弱く、リリースが不適切だとポンピング感やトランジェントの丸まりにつながります。

関連: True Peak 安全性、マスタリングチェーン、LUFS