音量調整
音量調整には大きく3つのアプローチがあります。単純に上げ下げする(volume)、 配信基準に揃える(loudnorm)、音量差を自動でならす(dynaudnorm)です。
1. 単純に上げ下げする(volume)
# 全体音量を2倍(+6dB相当)
ffmpeg -i input.wav -af "volume=2.0" out.wav
# デシベル指定で +3dB
ffmpeg -i input.wav -af "volume=3dB" out.wav注意
倍率(2.0)でもデシベル(3dB)でも指定できます。上げすぎると音割れ(クリッピング)するので注意。
今の音量を測る(volumedetect)
どれだけ上げ下げすべきか迷ったら、まず測定します。max_volume が0dBに近いほど余裕がありません。
# 現在のピーク・平均音量を測定(変換はしない)
ffmpeg -i input.wav -af volumedetect -f null -
2. 配信基準に揃える(loudnorm)
YouTube・Podcastなどはラウドネス(LUFS)で音量を管理します。-16 LUFS が標準的な目安です。
ffmpeg -i input.wav -af loudnorm=I=-16:TP=-1.5:LRA=11 out.wav
高精度に揃える(2パス)
1回測定してから適用すると、より正確に目標値へ揃います。
# 2パス: 1回目で測定 → 値を2回目に渡して高精度に正規化
# (1) 測定(出力は捨てる。表示されたJSONの測定値を控える)
ffmpeg -i input.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:print_format=json -f null -
# (2) 適用(measured_* に1回目の値を入れる)
ffmpeg -i input.wav -af loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-23.5:measured_TP=-5.2:measured_LRA=7.0:measured_thresh=-34.1:linear=true out.wav
3. 音量差を自動でならす(dynaudnorm)
小さい声と大きい声の差を縮め、全体を聞き取りやすくします。会話・配信向きです。
# 音量差をなめらかに自動調整(会話向け)
ffmpeg -i input.wav -af dynaudnorm out.wavメモ
Podcast向けの一連の流れはPodcast音声を整える、強く音量差を圧縮したいときはコンプレッサーへ。