# 🎵 True Peak Adjuster

Professional Audio True Peak Adjustment Tool

## 📋 概要

True Peak Adjusterは、オーディオファイルのTrue Peakを正確に-0.1 dBTPに調整する専門的なツールです。FFmpegのEBU R128フィルタを使用して、業界標準に準拠した正確なTrue Peak測定と調整を行います。

### 主な特徴

- FFmpeg EBU R128準拠の正確なTrue Peak測定
- WAV、FLAC、ALAC (M4A) フォーマットに対応
- メタデータとカバーアートの完全保持
- ドラッグ&ドロップで簡単操作
- 複数ファイル・フォルダの一括処理
- すべてのサンプリングレートとビット深度に対応

## 💻 動作環境

項目 | 要件
--- | ---
OS | Windows 10 / Windows 11
必須ソフトウェア | FFmpeg（システムPATHに追加済み）
対応フォーマット | WAV (.wav), FLAC (.flac), ALAC (.m4a)
サンプリングレート | 8kHz～384kHz（全対応）
ビット深度 | 16bit, 24bit, 32bit, 32bit float, 64bit float

## 🔧 インストール

### 1FFmpegのインストール

FFmpegが必要です。以下の手順でインストールしてください：

1. https://www.gyan.dev/ffmpeg/builds/ から「ffmpeg-release-essentials.zip」をダウンロード
2. ZIPファイルを展開（例：C:\ffmpeg）
3. システム環境変数のPATHに追加（例：C:\ffmpeg\bin）
4. コマンドプロンプトで `ffmpeg -version` を実行して確認

💡 ヒント： FFmpegのインストールが完了したら、コンピュータを再起動してPATH設定を反映させてください。

### 2True Peak Adjusterの配置

TruePeakAdjuster.exeを任意のフォルダに配置するだけで使用できます。

## 📖 使い方

### 基本的な使用方法

1. TruePeakAdjuster.exeをダブルクリックすると使用方法が表示されます
2. 処理したい音声ファイルまたはフォルダをTruePeakAdjuster.exeにドラッグ&ドロップ
3. 処理が完了するまで待機
4. 元のファイルと同じ場所に「_TP」サフィックス付きで出力されます

### 対応する操作

- 単一ファイルのドロップ → そのファイルを処理
- 複数ファイルのドロップ → すべてのファイルを処理
- フォルダのドロップ → フォルダ直下の対応ファイルをすべて処理

⚠️ 注意： フォルダをドロップした場合、サブフォルダ内のファイルは処理されません。フォルダ直下のファイルのみが対象です。

### 出力ファイル名

処理されたファイルは元のファイル名に「_TP」サフィックスが追加されます：

例：
song.wav → song_TP.wav
album.flac → album_TP.flac
track.m4a → track_TP.m4a

## 🎯 技術仕様

### True Peak測定

FFmpegのebur128フィルタを使用して、EBU R128標準に準拠した正確なTrue Peak測定を行います。サンプル間のピーク値も検出するため、従来のサンプルピーク測定よりも正確です。

### 目標True Peak値

デフォルト：-0.1 dBTP

この値は、デジタルクリッピングを防ぎながら、最大限の音量を確保するために設定されています。

### メタデータ保持

フォーマット | 保持されるメタデータ
--- | ---
WAV | ID3v2.3タグ + カバーアート
FLAC | Vorbis Commentタグ + カバーアート（Picture）
ALAC | MP4メタデータ + カバーアート

### 処理の流れ

1. FFmpeg ebur128フィルタで現在のTrue Peakを測定
2. 目標値（-0.1 dBTP）との差分からリニアゲインを計算
3. オーディオデータにゲインを適用
4. 処理後のTrue Peakを検証
5. メタデータとカバーアートを元のファイルからコピー
6. 出力ファイルを保存

## 📊 処理例

### ケース1：True Peakが高い場合

Current True Peak: 0.50 dBTP
Required Gain: -0.60 dB (Linear: 0.933254)
New True Peak: -0.10 dBTP

→ 音量を下げて-0.1 dBTPに調整

### ケース2：True Peakが低い場合

Current True Peak: -0.50 dBTP
Required Gain: 0.40 dB (Linear: 1.047129)
New True Peak: -0.10 dBTP

→ 音量を上げて-0.1 dBTPに調整

### ケース3：すでに目標値の場合

Current True Peak: -0.10 dBTP
Required Gain: 0.00 dB (Linear: 1.000000)
New True Peak: -0.10 dBTP

→ ゲイン調整なし（メタデータのみコピー）

## ❓ トラブルシューティング

### 「FFmpeg is not available」エラーが表示される

FFmpegがシステムのPATHに追加されていません。以下を確認してください：

1. FFmpegが正しくインストールされているか
2. システム環境変数のPATHにFFmpegのbinフォルダが追加されているか
3. コンピュータを再起動したか

### メタデータが保持されない

元のファイルにメタデータが存在しない可能性があります。処理後のファイルをメディアプレーヤーで確認してください。

### 処理が遅い

FFmpeg ebur128による測定は、ファイル全体を解析するため時間がかかります。特に長時間の音声ファイルやハイレゾ音源では処理時間が長くなります。

## ⚠️ 注意事項

- 元のファイルは変更されません（新しいファイルが作成されます）
- 既に「_TP」サフィックスのファイルが存在する場合は上書きされます
- True Peak調整は音質に影響しません（リニアゲインのみ）
- 極端に大きなゲイン変更が必要な場合は、元の音源を確認してください

## 📝 バージョン履歴

バージョン | 日付 | 変更内容
--- | --- | ---
1.0.0 | 2025-11-26 | 初回リリース

## 📄 ライセンス

このソフトウェアは個人利用・商用利用ともに自由に使用できます。

使用ライブラリ：

- Python 3.x
- NumPy
- soundfile
- mutagen
- FFmpeg