この記事でわかること
volumedetectフィルタで音量情報を取得するコマンドmax_volume(最大音量)とmean_volume(平均音量)の読み方- dBFS(デシベル・フル・スケール)の概念
- ラウドネス正規化の前処理として活用する方法
- 音量が小さすぎる・大きすぎる音声ファイルの診断手順
テスト済みバージョン: FFmpeg 6.1で確認済み(検証スクリプトで実 FFmpeg 実行確認) 対象 OS: Windows / macOS / Linux
基本コマンド
ffmpeg -i input.mp3 -af volumedetect -f null /dev/null
-f null /dev/null は出力ファイルを生成しません。音量情報は標準エラー出力に表示されます。
出力の読み方
コマンド実行後、以下のような出力が得られます:
[Parsed_volumedetect_0 @ 0x...] mean_volume: -23.1 dBFS
[Parsed_volumedetect_0 @ 0x...] max_volume: -0.5 dBFS
[Parsed_volumedetect_0 @ 0x...] histogram_0db: 12
[Parsed_volumedetect_0 @ 0x...] histogram_1db: 45
| フィールド | 説明 |
|---|---|
mean_volume | 音声全体の平均音量(dBFS) |
max_volume | 音声全体の最大ピーク音量(dBFS) |
histogram_Xdb | X dBFS以上のサンプル数(詳細分布) |
dBFSとは
dBFS(decibels relative to full scale) はデジタル音声の音量単位です。
0 dBFS= デジタルの最大値(クリッピングの限界)-6 dBFS= 最大値の約半分の振幅- 値が大きいほど(0に近いほど)大きな音
動画ファイルの音声を確認
ffmpeg -i input.mp4 -af volumedetect -f null /dev/null
動画ファイルでも同様に動作します。複数音声トラックがある場合は -map 0:a:1 で特定のトラックを指定できます。
ラウドネス正規化の前処理として使う
max_volume が -0.5 dBFS の場合、0 dBFSまで +0.5 dB 持ち上げられることがわかります。
1. volumedetectで現在の音量を確認
ffmpeg -i input.mp3 -af volumedetect -f null /dev/null
2. volumeフィルタで音量を調整
ffmpeg -i input.mp3 -af "volume=+0.5dB" output.mp3
ヒント: ITU-R BS.1770(ラウドネス測定)に基づく正確なノーマライズには
loudnormフィルタを使用してください。詳しくは「ラウドネス正規化」記事を参照。
よくある使い方
音量が小さすぎるか確認
mean_volume が -30 dBFS 以下なら録音レベルが低い可能性があります。
ffmpeg -i input.mp3 -af volumedetect -f null /dev/null 2>&1 | grep -E "mean_volume|max_volume"
2>&1 | grep で必要な行だけを抽出できます。
クリッピング(歪み)の確認
max_volume が 0.0 dBFS の場合はクリッピングが発生している可能性があります。histogram_0db の値が大きいほど問題が深刻です。
関連リソース
よく使うオプション・フィルタ・コーデック設定をまとめた PDF チートシートです。手元に置いておくと調べる時間を短縮できます。
関連記事
動作確認: ffmpeg 6.1 / Ubuntu 24.04 (検証スクリプトで実行確認) 一次ソース: ffmpeg.org/ffmpeg-filters.html#volumedetect / trac.ffmpeg.org/wiki/AudioVolume