Advanced LUFS Unifier
Version 1.0 | 2025年12月
Advanced LUFS Unifierは、オーディオファイルの音量を統一し、プロフェッショナルなマスタリング処理を行うツールです。True Peak制御、ダイナミクス圧縮、LUFS正規化を組み合わせた3段階処理により、高品質な音声出力を実現します。
目次
主な機能
オーディオ処理機能
- True Peak制御:デジタルクリッピングを防ぐため、True Peakを指定値(デフォルト -0.1 dB)に制御
- ダイナミクス圧縮:カスタマイズ可能なコンプレッサーでダイナミックレンジを調整
- LUFS統一化:2-pass loudnormによる高精度なラウドネス正規化(デフォルト -16.0 LUFS)
- 自動TP補正:処理後にTrue Peakが目標値を超えた場合、自動的に補正
メタデータ・品質保持
- 完全なメタデータ保持:タイトル、アーティスト、アルバム、カバーアートなど全てのメタデータを保持
- WAVファイル対応:ID3v2.3タグに対応(UTF-8対応で特殊文字も保存可能)
- サンプリングレート保持:元ファイルのサンプリングレートを維持(44.1kHz、48kHz、96kHz等)
- ビット深度保持:元ファイルのビット深度を維持(16-bit、24-bit等)
パフォーマンス
- マルチスレッド処理:複数ファイルの並列処理により高速化
- YAML設定ファイル:全パラメータをテキストファイルで簡単に調整可能
- 対応フォーマット:WAV、FLAC、ALAC (M4A)
動作環境
必須環境
- Windows 10/11 (64-bit)
- FFmpeg(システムにインストール済みであること)
重要:FFmpegがシステムのPATHに設定されている必要があります。コマンドプロンプトで ffmpeg -version が実行できることを確認してください。
使い方
基本的な使用方法
advanced_lufs_unifier.exe にオーディオファイルをドラッグ&ドロップ
- 処理が自動的に開始されます
- 処理完了後、元ファイルと同じフォルダ内に
compressed サブフォルダが作成され、その中に _compressed サフィックス付きファイルが出力されます
ショートカット使用時:EXEファイルのショートカットを作成してデスクトップに配置しても、同様に動作します。
出力ファイル名と保存場所
| 入力ファイル |
出力ファイル |
| C:\Music\01 夕暮れハート.wav |
C:\Music\compressed\01 夕暮れハート_compressed.wav |
| D:\Audio\song.flac |
D:\Audio\compressed\song_compressed.flac |
| E:\Files\track.m4a |
E:\Files\compressed\track_compressed.m4a |
注意:compressed フォルダが存在しない場合は自動的に作成されます。
処理の流れ
Advanced LUFS Unifierは、以下の3段階で音声を処理します:
第1段階:リニアゲイン調整
- 元ファイルのTrue Peakを測定
- 目標True Peak(デフォルト -0.1 dB)に到達するためのゲインを計算
- リニアゲインを適用
Linear Gain = Target TP - Original TP
第2段階:ダイナミクス圧縮
- FFmpegのacompressorフィルターを使用
- ダイナミックレンジを適度に圧縮
- デフォルト設定:threshold=-16dB, ratio=2.5:1
第3段階:LUFS正規化(2-pass、リニアゲイン)
- 1st pass:圧縮後の音声を測定し、最適なパラメータを取得
- 2nd pass:測定結果を元にリニアゲイン調整でLUFS正規化を実行(linear=trueモード)
- 目標LUFS:デフォルト -16.0
- 動的な処理は行わず、リニアゲインのみで調整
補正処理
- 最終的なTrue Peakが目標値を超えている場合、自動的に補正ゲインを適用
- LUFS目標を優先するため、一部のファイルでは意図的にTrue Peakを下げることがあります
設定ファイル
advanced_lufs_unifier.yaml ファイルで全てのパラメータを調整できます。
デフォルト設定
target:
true_peak: -0.1 # True Peak目標値(dB)
lufs: -16.0 # LUFS目標値
processing:
max_workers: 4 # 並列処理数(CPUコア数に応じて調整)
compressor:
threshold: -16 # コンプレッサー閾値(dB)
ratio: 2.5 # 圧縮比
attack: 20 # アタックタイム(ms)
release: 250 # リリースタイム(ms)
knee: 2 # ニー値(dB)
detection: rms # 検出方式(rms/peak)
loudnorm:
lra: 11 # ラウドネスレンジ目標値(参考値)
linear: true # リニアモード(true=リニアゲインのみ)
コンプレッサー設定の詳細
コンプレッサーは、ダイナミックレンジ(LRA)を調整する重要なパラメータです。
1. ratio(圧縮比)- LRA変化への影響が最も大きい
| 設定値 |
効果 |
LRA変化の目安 |
用途 |
| 1.0 |
圧縮なし |
ほぼ0 |
ダイナミクスを完全に保持したい場合 |
| 1.5 |
軽い圧縮 |
-0.5 〜 -1.0 |
クラシック音楽、アコースティック |
| 2.5(デフォルト) |
中程度の圧縮 |
-1.3 〜 -1.8 |
バランスの取れた一般的な設定 |
| 4.0 |
強い圧縮 |
-2.0 〜 -3.0 |
ポップス、ストリーミング向け |
| 10.0以上 |
リミッター的な圧縮 |
-3.0以上 |
最大音圧、ラウドネス重視 |
2. threshold(閾値)- どの音量から圧縮を開始するか
- -16 dB(デフォルト):LUFS目標値と同じ。中程度の音量から圧縮開始
- -20 dB:より低い音量から圧縮。全体的に穏やかな圧縮
- -12 dB:高い音量のみ圧縮。ピークを抑える用途
ヒント:threshold を下げると、より多くの音が圧縮対象になるため、全体的に穏やかな圧縮になります。逆に上げると、ピーク部分だけが強く圧縮されます。
3. attack / release(反応速度)
- attack(アタックタイム):音量が閾値を超えてから圧縮が始まるまでの時間
- 短い(5-10ms):速い音の立ち上がりも圧縮 → よりコントロールされた音
- 長い(50-100ms):遅い反応 → 自然なアタック感を保持
- release(リリースタイム):音量が閾値を下回ってから圧縮を解除するまでの時間
- 短い(50-100ms):素早く元に戻る → パンチのある音
- 長い(500-1000ms):ゆっくり戻る → 滑らかで自然な音
4. その他のパラメータ
- knee:圧縮の始まり方の滑らかさ(0=急激、10=滑らか)
- detection:音量の検出方式
- rms(デフォルト):平均的な音量で判定。より自然な圧縮
- peak:瞬間的なピークで判定。より積極的な圧縮
設定のカスタマイズ例
例1: クラシック音楽向け(ダイナミクス重視)
target:
true_peak: -0.5
lufs: -18.0 # 音圧を控えめに
compressor:
threshold: -18
ratio: 1.5 # 軽い圧縮
attack: 50 # ゆっくりした反応
release: 500 # 滑らかな解放
knee: 4 # 滑らかな圧縮開始
detection: rms
例2: ストリーミング配信向け(-14 LUFS、音圧重視)
target:
true_peak: -1.0
lufs: -14.0 # ストリーミング標準
compressor:
threshold: -14
ratio: 4.0 # 強めの圧縮
attack: 10 # 速い反応
release: 200
knee: 2
detection: rms
例3: ポッドキャスト向け(音声明瞭度重視)
target:
true_peak: -1.0
lufs: -16.0
compressor:
threshold: -18
ratio: 3.0
attack: 5 # 非常に速い反応
release: 150
knee: 1
detection: rms
例4: ダイナミクスを保持(圧縮最小限)
target:
true_peak: -0.1
lufs: -16.0
compressor:
threshold: -16
ratio: 1.0 # 圧縮無効
attack: 20
release: 250
knee: 2
detection: rms
注意:LRA(ラウドネスレンジ)の変化は、主に ratio と threshold によって決まります。元の曲のダイナミクス特性によって、実際のLRA変化は異なります。
| フォーマット |
拡張子 |
メタデータ |
カバーアート |
備考 |
| WAV |
.wav |
ID3v2.3 |
|
Windows日本語環境完全対応 |
| FLAC |
.flac |
Vorbis Comment |
|
可逆圧縮 |
| ALAC |
.m4a |
iTunes metadata |
|
Apple Lossless(可逆圧縮) |
サンプリングレート・ビット深度
- サンプリングレート:制限なし(44.1kHz、48kHz、96kHz、192kHzなど、全て元のレートを保持)
- ビット深度:16-bit、24-bit、32-bit floatに対応(元の深度を保持)
WAVファイルの特殊処理
WAVファイルには、ID3v2.3タグを使用してメタデータを保存します:
- ID3v2.3タグ(UTF-8対応):Mp3tag等の専門ソフトで表示・編集可能。特殊文字(例:BOWY)も正しく保存できます
ID3v2.3タグはMp3tag、foobar2000、iTunes等の音楽ソフトで表示・編集が可能です。UTF-8エンコードにより、特殊文字を含むアーティスト名も正しく保存できます。
保持されるメタデータ
- タイトル(Title)
- アーティスト(Artist)
- アルバム(Album)
- アルバムアーティスト(Album Artist)
- 作曲者(Composer)
- 日付(Date)
- ジャンル(Genre)
- トラック番号(Track Number)
- ディスク番号(Disc Number)
- カバーアート(Album Art)
技術仕様
オーディオエンジン
- 処理エンジン:FFmpeg + soundfile (Python)
- ラウドネス測定:EBU R128準拠(FFmpeg ebur128フィルター)
- True Peak測定:4倍オーバーサンプリングによる正確な測定
- メタデータライブラリ:Mutagen (Python)
処理精度
- 内部演算:Float64精度
- DC成分除去:書き込み前に実行し、True Peak測定精度を向上
- ビット深度保持:元ファイルと同じビット深度で出力(16/24/32-bit float)
パフォーマンス
- 並列処理:ThreadPoolExecutorによるマルチスレッド処理
- デフォルトワーカー数:4(設定ファイルで変更可能)
- メモリ使用:効率的なストリーム処理により最小化
トラブルシューティング
設定ファイルが読み込まれない
症状:YAMLファイルを編集しても設定が反映されない
解決方法:
advanced_lufs_unifier.yaml がEXEファイルと同じフォルダにあることを確認
- YAMLファイルの文法エラーをチェック(インデントは半角スペース2つ)
- ファイル名が正確に
advanced_lufs_unifier.yaml であることを確認
True Peakが目標値より低い
症状:一部ファイルのTrue Peakが -2.0 dBなど、目標値より低くなる
原因:これは正常な動作です。LUFS目標を達成するため、True Peakを意図的に下げています
対処:LUFS目標値よりTrue Peak制御を優先したい場合は、YAMLファイルでLUFS値を調整してください
日本語ファイル名が文字化けする
解決方法:
- Windowsの「システムロケール」が日本語に設定されていることを確認
- ファイル名に使用できない文字(\/:*?"<>|)が含まれていないか確認
メタデータが失われる
原因:元ファイルに異常なメタデータが含まれている可能性
対処:
- Mp3tag等で元ファイルのメタデータを確認
- 必要に応じて元ファイルのメタデータをクリーンアップ
ライセンス
このツールは個人使用・商用使用ともに自由に使用できます。
制作
Created with Claude (Anthropic) - 2025
サポート:問題が発生した場合や機能要望がある場合は、YAMLファイルのカスタマイズをお試しください。より詳細な技術情報が必要な場合は、FFmpegとMutagenの公式ドキュメントを参照してください。