YouTube Volume Normalizer
YouTubeの動画ごとの音量差を解消し、放送業界標準のラウドネス基準値(-14 LUFS)に自動で統一するユーザースクリプトです。
v3.3 Update: 物理的な音響エネルギー(パワースペクトル密度)と、実際に人間が感じる音量のズレを補正する計算式に見直しました。特に低音域を含む動画での自然さが飛躍的に向上しています。
🚀 v3.3 の重要な変更点
🎧 聴覚特性フィルタの物理補正 (PSD Correction)
これまでのバージョンでは、人間の聴覚特性を模倣するフィルタ(K特性)の計算において、低音域のエネルギー評価に誤差がありました。
物理的には「パワースペクトル密度(PSD)が大きいほど人間には音量が大きく聴こえる」原則がありますが、従来の計算式(100Hzカットオフ)では低音のエネルギー密度を過小評価してしまい、ベース音の強い動画で「音が小さい」と誤判定して過剰に音量を上げてしまうケースがありました。
v3.3では、国際規格 ITU-R BS.1770-4 に完全準拠するようハイパスフィルタの遮断周波数を 38Hz に補正し、Q値(共振係数)を最適化しました。これにより、エネルギー密度の高い低音もしっかりと「音量」として計算に含まれるようになり、より人間の感覚に近い、歪みのない音量調整が可能になりました。
🎵 主な機能
プロ仕様のラウドネス測定 (BS.1770-4 / EBU R 128)
- 単なるピーク(最大音量)による調整ではなく、周波数ごとのエネルギー密度を考慮した「K特性フィルタ」と「ゲーティング(無音区間の除外)」を用いた本格的なアルゴリズムをブラウザ上で実行します。
ハイブリッド制御システム
- Staticモード (緑): YouTubeが持つメタデータ(
loudnessDb)が利用可能な場合、瞬時に正確な補正を行います。
- AGCモード (水色): ライブ配信、Shorts、またはメタデータが存在しない動画では、リアルタイムで音声を解析し、自動的に音量を調整します(Automatic Gain Control)。
音楽/ライブ配信の自動検出
- 音楽コンテンツと判定された場合、ダイナミックレンジを損なわないよう、目標値を -20 LUFS に自動で切り替えます。
- ライブ配信ではリアルタイム解析モードにシームレスに移行します。
YouTube標準「一定音量」機能との連携
- YouTubeネイティブの「一定音量(Stable Volume)」機能がONになっている場合、二重補正を防ぐためにスクリプトの動作を自動で制御します。
- ※設定メニューから強制的にスクリプト側を優先させることも可能です。
強力なリカバリー機能
- CORS(クロスオリジン)制限による音声データ取得エラーを検知し、自動的にストリームを再読み込みして復旧させる機能を搭載しています。
- 長時間のプレイリスト再生時でも、メタデータを見失わないようキャッシュシステム(Sticky Stats)を強化しています。
💡 インジケーターの見方
画面右上に表示されるドットの色で、現在の動作状況を確認できます。
(マウスオーバーで詳細なゲイン値とLUFS値を表示します)
- 🟢 緑 (Static): メタデータに基づいて正確に補正中。
- 🔵 水色 (AGC): リアルタイム解析により補正中(ライブ配信など)。
- 🟠 オレンジ (Native/Safe): YouTube本体の機能で制御中、または音量が十分大きいため補正なし。
- 🟣 紫 (Fix): 音声ストリームの再接続(リカバリー)中。
- 🔴 赤 (Error): エラー発生(自動でバイパスモードになります)。
⚙️ 設定メニュー
スクリプトマネージャー(Tampermonkey等)のアイコンをクリックし、以下のコマンドを実行できます。
-
インジケーター表示切替: 右上のドットの表示/非表示を切り替えます。
-
設定: 「一定音量」を強制的にOFFとみなす: YouTube標準の音量調整機能を無視し、常にこのスクリプトによるBS.1770準拠の補正を強制します。
📝 動作環境
- PC版 Chrome, Firefox, Edge 等のモダンブラウザ
- Tampermonkey などのユーザースクリプトマネージャー
- YouTube (通常動画, ライブ配信, Shorts, 埋め込み動画)