Skip to content

ダイナミックレンジ ​

ダイナミックレンジは、音声の小さい部分と大きい部分の差です。音楽では、演奏、アレンジ、感情の起伏そのものでもあります。

マスタリングでは、再生環境をまたいで聴きやすくするためにダイナミックレンジを少し抑えることがあります。ただし抑えすぎると、音は大きくても聴き疲れしやすく、こぢんまりとして生気のないマスターになります。

下のデモに出る LRA(ラウドネスレンジ)は、これを数値にした読み値です。クリップ全体でラウドネスがどれだけ動くかを測るので、平坦にしたマスターほど小さくなります。メーターの横の曲線はその動きを時間軸で見たものです。クレストファクターと相関値は別の読み値で、ここには表示されません。

METERS · LOUDNESSIDLE
ラウドネス計測 — LUFS・True Peak・レンジ

バーは再生中の瞬時ラウドネスを追い、パネルは時間ごとのラウドネスです。インテグレーテッド LUFS は全体を表す一つの数値、True Peak はサンプル間も含むピークの推定値、LRA はラウドネスの動く幅を表します。ウィンドウを切り替えると、速い瞬時メーターと滑らかな短時間メーターを比べられます。どちらもウィンドウが埋まってから値を出すため、短時間の曲線はクリップの 3 秒後から始まります。

ウィンドウ

どの数値がダイナミックレンジか ​

libsonare には、どこかで「ダイナミックレンジ」と呼ばれる読み値が 3 つあります。答える問いがそれぞれ違うので、別の読み値を期待して呼ぶと違う数値が返ります。

読み値測るもの呼び出し
LRA(ラウドネスレンジ)短時間ラウドネスの 10〜95 パーセンタイルの幅。小さい音や無音のブロックはゲートで除外。単位は LUlufs().loudnessRange
窓 RMS レンジゲートなしの 3 秒 RMS 窓に、同じパーセンタイルを適用した幅。単位は dBmeteringDynamicRange
クレストファクターバッファ全体のピークと平均レベルの差meteringCrestFactorDb

マクロダイナミクス(後述)は上の 2 行、ミクロダイナミクスはクレストファクターに対応します。最初の 2 つはゲートの有無で差が出ます。サイン波を 10 秒、続けて 20 dB 小さい同じサイン波を 10 秒鳴らすと、どちらの読み値も 20 になります。ここにピーク -66 dBFS の 10 秒を足すと、2 つの値が分かれます。

信号LRA窓 RMS レンジ
大きい音のあとに 20 dB 小さい音20.0 LU20.0 dB
同じ信号に -66 dBFS の末尾を追加20.1 LU60.0 dB

LRA は、ほぼ無音の末尾が相対ゲートを下回るため無視します。ゲートなしの窓レンジはその末尾も数えます。番組全体がどう動くかを表すなら LRA、静かな区間もすべて数えたいなら窓 RMS レンジを使います。

大きな起伏と短い動き ​

ダイナミクスは、次の 2 つに分けて考えると判断しやすくなります。

種類意味例
マクロダイナミクスセクション間の音量変化。A メロよりサビが大きい。
ミクロダイナミクス1 音の中の短い動き。ドラムのアタック、声の子音、ギターのピック感。

マクロダイナミクスを残しながらミクロピークを制御することもできますし、両方を平坦にしてしまうこともあります。正解はジャンルと狙いで変わります。

マスタリングで重要な理由 ​

配信プラットフォームでは、音量が大きいだけのマスターが有利になるわけではありません。再生ターゲットを大きく超えたマスターは単に下げられることがあり、その場合は同じ再生ラウドネスで比べると、動きを残したマスターよりパンチが弱く聞こえます。

ダイナミックレンジは再生環境にも関わります。動きが大きすぎるマスターは騒がしい環境で埋もれやすく、平坦すぎるマスターはヘッドホンで攻撃的に感じやすくなります。

判断方法 ​

ダイナミックレンジを 1 つのメーターだけで判断しないでください。重要な動きが残っているかを聴き分けます。

  • サビに入った瞬間の持ち上がりが残っているか。
  • ドラムのアタックが残っているか。
  • ボーカルが安定しつつ、押さえ込まれていないか。
  • 低域が制御されつつ、グルーヴが死んでいないか。

比較時は必ずラウドネスマッチを使います。そうしないと、密度の高い版が単に大きいだけで良く聞こえてしまいます。

ありがちな失敗 ​

処理後にサビの持ち上がりが小さくなった、キックが丸くなった、ボーカルの子音だけが前に飛び出した、静かな箇所の空気感が消えた。こうした変化は、ダイナミックレンジを削りすぎている印です。LUFS(フルスケール基準のラウドネス単位)が上がっただけで改善と判断せず、ラウドネスマッチした A/B で楽曲のうねりが残っているかを確認します。

逆に動きを残しすぎると、小型スピーカーやノイズの多い環境で聴こえにくくなります。マスタリングの狙いは「動きを消すこと」ではなく、意図した動きが過不足なく伝わるレンジに整えることです。

libsonare で測る ​

typescript
import { init, lufs, meteringDynamicRange, meteringCrestFactorDb } from '@libraz/libsonare';

await init();

const { loudnessRange } = lufs(samples, sampleRate);                    // LRA(LU)
const { dynamicRangeDb } = meteringDynamicRange(samples, sampleRate);   // 窓 RMS レンジ(dB)
const crest = meteringCrestFactorDb(samples, sampleRate);               // ピーク - RMS(dB)

// 窓の長さ、ホップ、パーセンタイルはオプションです。省略すると 3 秒、1 秒、0.10、0.95 になります。
const wide = meteringDynamicRange(samples, sampleRate, { windowSec: 1, hopSec: 0.5 });
python
import libsonare as sonare

audio = sonare.Audio.from_file("song.wav")
loudness_range = audio.lufs().loudness_range
report = sonare.metering_dynamic_range(audio.data, audio.sample_rate)
window_rms_range = report.dynamic_range_db
crest = audio.crest_factor_db()
bash
sonare lufs song.wav            # ラウドネスレンジ(LRA)を含む
sonare dynamic-range song.wav   # ネイティブ CLI のみ: 窓 RMS レンジ(--window-sec、--hop-sec、--low-percentile、--high-percentile)
sonare meter song.wav           # ネイティブ CLI のみ: クレストファクターを含む

libsonare デモでは、Quick タブの Dynamics マクロと Studio タブのコンプレッサーコントロールでダイナミクスを調整します。メーターパネルにはクレスト情報も表示され、ピークと平均の関係をひと目で確認できます。主要なコンプレッサーコントロールは ダイナミクスコントロール にまとめています。

実装メモ

デモのメーターに表示されるクレストは、ピークと RMS から求める軽量な目安値です。体感上のダイナミックレンジを完全に表すものではありません。

最終的なダイナミクス判断は、コンプレッサーのゲインリダクション量、リミッターが動く頻度、LUFS、True Peak、そして実音 A/B を組み合わせて行います。ラウドネスマッチをかけずに比較すると、ただ密度が上がっただけの処理を改善と取り違えやすいので注意してください。

関連: クレストファクター、ラウドネスマッチング、LUFS