<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Loudnorm on もざぶれなるままに</title><link>https://mitz17.com/tags/loudnorm/</link><description>Recent content in Loudnorm on もざぶれなるままに</description><generator>Hugo -- gohugo.io</generator><language>ja-JP</language><lastBuildDate>Sun, 08 Mar 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://mitz17.com/tags/loudnorm/index.xml" rel="self" type="application/rss+xml"/><item><title>ffmpeg loudnorm の使い方｜LUFS正規化と2pass設定をコマンド例で解説</title><link>https://mitz17.com/blog/ffmpeg-loudnorm-guide/</link><pubDate>Sun, 08 Mar 2026 00:00:00 +0900</pubDate><guid>https://mitz17.com/blog/ffmpeg-loudnorm-guide/</guid><description>&lt;h2 id="この記事でやること"&gt;この記事でやること
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ffmpeg&lt;/code&gt; の &lt;code&gt;loudnorm&lt;/code&gt; フィルタを使って、音声ファイルの音量を LUFS ベースで揃える方法をまとめます。&lt;/p&gt;
&lt;p&gt;「コマンドを貼って終わり」ではなく、次の点まで押さえます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;LUFS&lt;/code&gt; とは何か&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loudnorm&lt;/code&gt; の主要パラメータの意味&lt;/li&gt;
&lt;li&gt;&lt;code&gt;1pass&lt;/code&gt; と &lt;code&gt;2pass&lt;/code&gt; の使い分け&lt;/li&gt;
&lt;li&gt;正規化後に必要な再エンコードの考え方&lt;/li&gt;
&lt;li&gt;MP3 のタグやアートワークを落とさない方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Python から ffmpeg を呼び出してまとめて処理する実装については、&lt;a class="link" href="../../blog/mp3-lufs-normalizer-python/" &gt;音楽の音量を自動調整するツールをPythonで作る LUFS正規化開発ログ&lt;/a&gt; を参照してください。&lt;/p&gt;
&lt;h2 id="目次"&gt;目次
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="#%e5%89%8d%e6%8f%90" &gt;前提&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#lufs-%e3%81%a8%e3%81%af" &gt;LUFS とは&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#%e3%81%be%e3%81%9a%e8%a9%a6%e3%81%99%e5%9f%ba%e6%9c%ac%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%891pass" &gt;まず試す：基本コマンド（1pass）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#loudnorm-%e3%81%ae%e4%b8%bb%e8%a6%81%e3%83%91%e3%83%a9%e3%83%a1%e3%83%bc%e3%82%bf" &gt;loudnorm の主要パラメータ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#1pass-%e3%81%a8-2pass-%e3%81%ae%e4%bd%bf%e3%81%84%e5%88%86%e3%81%91" &gt;1pass と 2pass の使い分け&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#loudnorm-%e3%81%a7%e3%82%a4%e3%83%b3%e3%83%88%e3%83%ad%e3%81%8c%e5%a4%a7%e3%81%8d%e3%81%8f%e3%81%aa%e3%82%8b%e7%90%86%e7%94%b1" &gt;loudnorm でイントロが大きくなる理由&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#%e6%ad%a3%e8%a6%8f%e5%8c%96%e5%be%8c%e3%81%af%e5%86%8d%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc%e3%83%89%e3%81%8c%e5%bf%85%e8%a6%81" &gt;正規化後は再エンコードが必要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#%e3%82%bf%e3%82%b0%e3%81%a8%e3%82%a2%e3%83%bc%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e3%82%92%e4%bf%9d%e6%8c%81%e3%81%97%e3%82%84%e3%81%99%e3%81%8f%e3%81%99%e3%82%8b%e5%9f%ba%e6%9c%ac%e8%a8%ad%e5%ae%9a" &gt;タグとアートワークを保持しやすくする基本設定&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#%e3%83%95%e3%82%a3%e3%83%ab%e3%82%bf%e3%83%81%e3%82%a7%e3%83%bc%e3%83%b3%e3%81%ae%e8%80%83%e3%81%88%e6%96%b9" &gt;フィルタチェーンの考え方&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#%e5%ae%9f%e7%94%a8%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88" &gt;実用テンプレート&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#%e3%81%be%e3%81%a8%e3%82%81" &gt;まとめ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="前提"&gt;前提
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ffmpeg&lt;/code&gt; 6.x 系が利用できること（導入は &lt;a class="link" href="https://qiita.com/Tadataka_Takahashi/items/9dcb0cf308db6f5dc31b" target="_blank" rel="noopener"
 &gt;この Qiita 記事&lt;/a&gt; を参考）&lt;/li&gt;
&lt;li&gt;主な対象は MP3 だが、考え方は AAC / WAV / FLAC でもほぼ同じ&lt;/li&gt;
&lt;li&gt;コマンド例は PowerShell・bash どちらでも読み替えやすい形で記載&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="lufs-とは"&gt;LUFS とは
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;LUFS（Loudness Units relative to Full Scale）&lt;/code&gt; は、ITU-R BS.1770 をベースにした、人が感じる音の大きさ（ラウドネス）を表す単位です。値は通常負の数で表され、0 に近いほど音が大きいことを意味します。&lt;/p&gt;
&lt;p&gt;なお、デジタル音声の最大振幅の基準は &lt;code&gt;0 dBFS&lt;/code&gt; であり、LUFS はそれとは別の「知覚的なラウドネス」の指標です。&lt;code&gt;TP&lt;/code&gt;（True Peak）の上限として &lt;code&gt;0 dBFS&lt;/code&gt; を参照するのはそのためです。&lt;/p&gt;
&lt;p&gt;プラットフォーム別の配信実務における目安は次のとおりです。厳密な規格値ではなく、実運用上よく使われる参考値です。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;プラットフォーム&lt;/th&gt;
 &lt;th&gt;目安 LUFS&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;YouTube / Spotify&lt;/td&gt;
 &lt;td&gt;-14 LUFS 前後&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Podcast&lt;/td&gt;
 &lt;td&gt;-16 LUFS 前後&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;TV 放送（EBU R 128）&lt;/td&gt;
 &lt;td&gt;-23 LUFS&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;注記：&lt;/strong&gt; Spotify は再生時にラウドネス正規化を行いますが、設定によって基準値が異なる場合があります（Loud / Normal / Quiet モード）。YouTube も「-14 LUFS を目標に書き出すべき」と公式仕様として明示しているわけではありません。配信先の最新仕様は各プラットフォームの公式ドキュメントで確認してください。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;figure&gt;&lt;img src="../../blog/ffmpeg-loudnorm-guide/lufs-reference.png"
 alt="LUFS基準の目安。YouTube / Spotify は -14 LUFS 前後、Podcast は -16 LUFS 前後、TV放送は -23 LUFS を示すグラフ。"&gt;
&lt;/figure&gt;

&lt;h2 id="まず試す基本コマンド1pass"&gt;まず試す：基本コマンド（1pass）
&lt;/h2&gt;&lt;p&gt;細かい説明の前に、すぐ使える形を示します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -map &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -map_metadata &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -c:v copy &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;loudnorm=I=-14:TP=-1.5:LRA=11&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c:a libmp3lame -q:a &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; output.mp3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;各オプションの意味は以下のとおりです。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;オプション&lt;/th&gt;
 &lt;th&gt;意味&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-i input.mp3&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;入力ファイル&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-map 0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;全ストリーム（音声・アートワークなど）を出力に引き継ぐ&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-map_metadata 0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ID3 タグなどのメタデータをコピーする&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-c:v copy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;アルバムアートを再エンコードせずそのままコピーする&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-af &amp;quot;loudnorm=...&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ラウドネス正規化フィルタを適用する&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-c:a libmp3lame&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;MP3 として再エンコードする&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-q:a 2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;VBR 高品質（平均約 190 kbps）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;より正確に目標値へ合わせたいときは &lt;code&gt;2pass&lt;/code&gt; を使います。次のセクションから順に見ていきます。&lt;/p&gt;
&lt;h2 id="loudnorm-の主要パラメータ"&gt;loudnorm の主要パラメータ
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;loudnorm&lt;/code&gt; で押さえるべきパラメータは 5 系統です。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;パラメータ&lt;/th&gt;
 &lt;th&gt;意味&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;I&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;目標 LUFS（Integrated Loudness）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;TP&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;True Peak の上限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;LRA&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Loudness Range の目標値&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;linear&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;線形補正を使うかどうか&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;measured_*&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;2pass 用の測定結果を渡すパラメータ群&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="i目標-lufs"&gt;I（目標 LUFS）
&lt;/h3&gt;&lt;p&gt;「最終的にどの LUFS へ寄せたいか」を決める中心パラメータです。用途に合わせて次の値を基準にしてください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;I=-14&lt;/code&gt;：YouTube、Spotify&lt;/li&gt;
&lt;li&gt;&lt;code&gt;I=-16&lt;/code&gt;：Podcast&lt;/li&gt;
&lt;li&gt;&lt;code&gt;I=-23&lt;/code&gt;：TV など&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="tptrue-peak-の上限"&gt;TP（True Peak の上限）
&lt;/h3&gt;&lt;p&gt;サンプル間ピークまで含めた実効ピーク値の上限を設定します。波形上ではクリップしていなくても、再生・変換の過程でピークが 0 dBFS を超えてノイズが発生することがあります。これを防ぐため、少し余裕を持たせるのが一般的です。&lt;/p&gt;
&lt;p&gt;迷ったら &lt;code&gt;-1.5 dBTP&lt;/code&gt; 前後から始めるのが安全です。&lt;/p&gt;
&lt;h3 id="lraloudness-range"&gt;LRA（Loudness Range）
&lt;/h3&gt;&lt;p&gt;曲の中の音量変動の広さを示します。値が大きいほど静かな部分と大きい部分の差が大きく、クラシックや映画音声では高くなりやすい傾向があります。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;ジャンル / 用途&lt;/th&gt;
 &lt;th&gt;LRA の目安&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;ポップス / ロック&lt;/td&gt;
 &lt;td&gt;6〜10&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;EDM / ダンス&lt;/td&gt;
 &lt;td&gt;4〜8&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;一般的な音楽&lt;/td&gt;
 &lt;td&gt;6〜12&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;クラシック / 映画音声&lt;/td&gt;
 &lt;td&gt;12〜20&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;まずは &lt;code&gt;I&lt;/code&gt; と &lt;code&gt;TP&lt;/code&gt; を固めることを優先し、&lt;code&gt;LRA&lt;/code&gt; は素材のジャンルや用途が明確なときだけ調整するのが実務上の流れです。迷ったら &lt;code&gt;LRA=11&lt;/code&gt; のままにしておいて問題ありません。&lt;/p&gt;
&lt;h3 id="linear"&gt;linear
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;linear=true&lt;/code&gt; を指定すると、音声全体を同じ倍率で上げ下げする線形補正になります。曲の抑揚はそのままに、全体を一様にシフトするイメージです。&lt;/p&gt;
&lt;p&gt;2pass で測定結果を渡すときによく使われます。1pass では線形補正が完全には効かない場合があります。&lt;/p&gt;
&lt;h3 id="measured_"&gt;measured_*
&lt;/h3&gt;&lt;p&gt;1 回目の測定で得た値を 2 回目に引き渡すためのパラメータ群です。対応関係は次のとおりです。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;measured_*&lt;/th&gt;
 &lt;th&gt;1回目の出力値&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;measured_I&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;input_i&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;measured_TP&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;input_tp&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;measured_LRA&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;input_lra&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;measured_thresh&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;input_thresh&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;offset&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;target_offset&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="1pass-と-2pass-の使い分け"&gt;1pass と 2pass の使い分け
&lt;/h2&gt;&lt;h3 id="1pass"&gt;1pass
&lt;/h3&gt;&lt;p&gt;1 回の実行で解析と補正を同時に行います。シンプルで速いため、バッチ処理や手早い試行に向いています。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;loudnorm=I=-14:TP=-1.5:LRA=11&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c:a libmp3lame -q:a &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; output.mp3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ただし、厳密に目標値へ合わせたい場面では 2pass よりブレが出やすくなります。&lt;/p&gt;
&lt;h3 id="2pass"&gt;2pass
&lt;/h3&gt;&lt;p&gt;1 回目で測定し、その結果を 2 回目に渡して本番変換する方法です。目標ラウドネスへより安定して寄せられます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1 回目：測定のみ（ファイルを書き出さない）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;loudnorm=I=-14:TP=-1.5:LRA=11:print_format=json&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -f null -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;-f null -&lt;/code&gt; により出力ファイルを作らず、JSON だけを取得できます。出力から次の値を拾います。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;input_i&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;input_tp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;input_lra&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;input_thresh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;target_offset&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2 回目：測定値を渡して本番変換&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -map &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -map_metadata &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -c:v copy &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;loudnorm=I=-14:TP=-1.5:LRA=11:linear=true:measured_I=-18.3:measured_TP=-0.7:measured_LRA=9.5:measured_thresh=-29.2:offset=-0.1&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c:a libmp3lame -q:a &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; output.mp3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ツールとして実装する場合は、測定フェーズと本番フェーズを分けて設計しておくと扱いやすくなります。&lt;/p&gt;
&lt;h2 id="loudnorm-でイントロが大きくなる理由"&gt;loudnorm でイントロが大きくなる理由
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;loudnorm&lt;/code&gt; は&lt;strong&gt;曲全体の Integrated Loudness&lt;/strong&gt; を見て補正量を決めます。静かなイントロだけを個別に判定しているわけではないため、次のような曲ではイントロが想定以上に持ち上がって聞こえることがあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;イントロだけ極端に静かで、途中から急に音圧が上がる曲&lt;/li&gt;
&lt;li&gt;もともとダイナミクスが広い音源&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;特に &lt;code&gt;linear=true&lt;/code&gt; では全体を一様に上げ下げするため、サビに合わせて補正すると静かなイントロもまとめて大きくなります。&lt;code&gt;TP&lt;/code&gt; はピークの上限を抑えるもので、体感音量が上がること自体は防げません。&lt;/p&gt;
&lt;p&gt;対策として有効なのは次のとおりです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1pass より 2pass でより安定した補正をかける&lt;/li&gt;
&lt;li&gt;目標 LUFS を少し下げる&lt;/li&gt;
&lt;li&gt;素材によっては前段の編集や別のダイナミクス処理を組み合わせる&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="正規化後は再エンコードが必要"&gt;正規化後は再エンコードが必要
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;loudnorm&lt;/code&gt; のような音声フィルタを使う場合、音声はデコード → 処理 → エンコードの流れが必要になります。ストリームコピー（&lt;code&gt;-c:a copy&lt;/code&gt;）では済まないため、必ずコーデックを指定します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-c:a libmp3lame -q:a &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;よく使う指定の考え方は次のとおりです。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;オプション&lt;/th&gt;
 &lt;th&gt;説明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-c:a libmp3lame&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;MP3 として再エンコードする&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-q:a 2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;VBR 品質指定。数値が低いほど高音質（0〜9）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-b:a 192k&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;CBR や ABR でビットレートを明示したいときに使う&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;音質とサイズのバランスを取りたいなら、まずは &lt;code&gt;-q:a 2&lt;/code&gt; か &lt;code&gt;-q:a 3&lt;/code&gt; から始めるのが実用的です。&lt;/p&gt;
&lt;h2 id="タグとアートワークを保持しやすくする基本設定"&gt;タグとアートワークを保持しやすくする基本設定
&lt;/h2&gt;&lt;p&gt;MP3 には音声以外にも、メタデータ（ID3 タグ）とアルバムアート（画像ストリーム）が含まれています。オプションを省略すると「音は出るがジャケットが消えた」「タグが落ちた」という事故が起きやすくなります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-map &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -map_metadata &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -c:v copy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;オプション&lt;/th&gt;
 &lt;th&gt;意味&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-map 0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;入力の全ストリームを対象にする&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-map_metadata 0&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;メタデータを入力からコピーする&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;-c:v copy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;画像ストリームを再エンコードせずコピーする&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;MP3 の埋め込みジャケットは内部的に画像ストリームとして扱われます。音声だけを明示して出力すると、画像ストリームがマッピング対象から外れて消えます。アートワークを保持したいなら、この 3 つをセットで指定するのが基本です。&lt;/p&gt;
&lt;p&gt;ただし、独自の ID3 フレームや埋め込み歌詞など、入力ファイルの構造によってはこの設定だけでは完全に保持されないケースもあります。変換後にタグの欠損が気になる場合は &lt;code&gt;id3v2&lt;/code&gt; や &lt;code&gt;eyeD3&lt;/code&gt; などの専用ツールで確認・修正するのが安全です。&lt;/p&gt;
&lt;h2 id="フィルタチェーンの考え方"&gt;フィルタチェーンの考え方
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;-af&lt;/code&gt; を使うと、複数のフィルタをカンマでつないで順番に適用できます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;afftdn,agate,loudnorm=I=-14:TP=-1.5:LRA=11&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c:a libmp3lame -q:a &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; output.mp3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;よく使われるフィルタの役割は次のとおりです。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;フィルタ&lt;/th&gt;
 &lt;th&gt;用途&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;loudnorm&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ラウドネス正規化&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;afftdn&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ノイズ除去&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;agate&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ノイズゲート&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;ただし、ノイズ除去やゲートは素材によって効きすぎることがあります。まずは &lt;code&gt;loudnorm&lt;/code&gt; 単独で正規化を安定させてから、必要であれば前処理を足すほうが安全です。&lt;/p&gt;
&lt;h2 id="実用テンプレート"&gt;実用テンプレート
&lt;/h2&gt;&lt;h3 id="まず試す1pass"&gt;まず試す：1pass
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -map &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -map_metadata &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -c:v copy &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;loudnorm=I=-14:TP=-1.5:LRA=11&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c:a libmp3lame -q:a &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; output.mp3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="精度を上げる2pass"&gt;精度を上げる：2pass
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;1 回目（測定）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -hide_banner -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;loudnorm=I=-14:TP=-1.5:LRA=11:print_format=json&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -f null -
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2 回目（本番変換）&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp3 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -map &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -map_metadata &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; -c:v copy &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -af &lt;span style="color:#e6db74"&gt;&amp;#34;loudnorm=I=-14:TP=-1.5:LRA=11:linear=true:measured_I=...:measured_TP=...:measured_LRA=...:measured_thresh=...:offset=...&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c:a libmp3lame -q:a &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; output.mp3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;...&lt;/code&gt; の部分に 1 回目の JSON から拾った値を入れます。&lt;/p&gt;
&lt;h2 id="まとめ"&gt;まとめ
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;ポイント&lt;/th&gt;
 &lt;th&gt;内容&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;目標値の決め方&lt;/td&gt;
 &lt;td&gt;まず &lt;code&gt;I&lt;/code&gt; を決め、&lt;code&gt;TP=-1.5&lt;/code&gt;、&lt;code&gt;LRA=11&lt;/code&gt; を基準に調整&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1pass vs 2pass&lt;/td&gt;
 &lt;td&gt;手軽さなら 1pass、精度重視なら 2pass&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;再エンコード&lt;/td&gt;
 &lt;td&gt;フィルタ使用時は &lt;code&gt;-c:a libmp3lame -q:a 2&lt;/code&gt; が必須&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;タグ・アートワーク保持&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;-map 0 -map_metadata 0 -c:v copy&lt;/code&gt; をセットで指定&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ツール化するなら&lt;/td&gt;
 &lt;td&gt;測定フェーズ（&lt;code&gt;-f null -&lt;/code&gt;）と本番フェーズを分けて設計&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Python からまとめて処理したい場合や、CLI で自動化したい場合は &lt;a class="link" href="../../blog/mp3-lufs-normalizer-python/" &gt;音楽の音量を自動調整するツールをPythonで作る LUFS正規化開発ログ&lt;/a&gt; を参照してください。&lt;/p&gt;
&lt;h2 id="関連記事"&gt;関連記事
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="../../blog/mp3-lufs-normalizer-python/" &gt;Pythonとffmpegで音量自動調整ツールを作る｜LUFS正規化の開発ログ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="../../blog/dev-pc-build-ryzen7600-rtx4070s/" &gt;Ryzen 7600＋RTX 4070 Superの自作PC構成例｜購入価格16.3万円の実例紹介&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>