音声 へ戻る
ステレオ幅 / M/S 解析 — 位相相関と mono 互換性チェック

ステレオ幅 / M/S 解析 — 位相相関と mono 互換性チェック

ステレオ音声ファイル (MP3 / WAV / M4A / FLAC / OGG / Opus) をドロップすると、ブラウザ内で M/S 解析 (Mid = (L+R)/2、Side = (L-R)/2) を行い、ステレオ幅 (%) / 位相相関係数 (-1 〜 +1) / Side エネルギー (dB) / Mid エネルギー (dB) / モノラル合成時のレベル低下 (dB) を表示します。Bluetooth スピーカーや Spotify Mobile の mono 縮退、ラジオ放送、テレビの中央ダウンミックスで音が痩せる / 消える問題を事前に検出。位相相関がマイナスに振れている場合は phase issue の警告を出します。音声はブラウザ内で完結。

使い方

ステレオ音声ファイル (MP3 / WAV / M4A 等) を 1 つ以上ドロップまたは選択します。 解析は自動。Mid (L+R)/2 と Side (L-R)/2 の RMS と位相相関を計算します。 ステレオ幅 / 位相相関係数 / Mid・Side エネルギー / Mono 合成時のレベル低下が結果カードに表示されます。 位相相関がマイナス、Mono 合成で 6 dB 以上低下する場合は警告色で表示。リスニング環境横断のチェックに。

詳細解説

ステレオ幅チェックが必要な音源は配信直前のマスター

ステレオ幅 (ステレオイメージ) の確認は、楽曲や音声コンテンツを配信・出版・提供する直前に行う最終チェックの一つです。位相相関がマイナスになっているマスターや、Mono 合成で音量が大きく落ちるミックスは、リスニング環境によっては意図した音像が崩れます。このチェックの対象となる素材は、まだ誰の耳にも届いていない未公開段階にあります。

ステレオ幅の計測結果 (Side RMS / Mid RMS の比、位相相関係数) は、楽曲のミックス特性を定量的に表す指標です。これらの値と元音源が一緒に外部サーバーに送られると、「この楽曲はこういうステレオ処理が施されている」という情報が第三者に渡ります。未発表の楽曲であればあるほど、この種の情報漏出は望ましくありません。

マスタリング素材をクラウドツールで解析するときの構造的リスク

ステレオ幅チェックを提供するオンラインサービスは、音声ファイルを受け取ってサーバー側で計算するモデルをとるものがあります。計算内容は RMS と相関係数という比較的軽い処理ですが、そのためにはファイル全体を受信する必要があります。「数値を出すだけ」という操作の感触と、「音源全体がサーバーへ届く」という事実のギャップがあります。

マスタリングエンジニアがクライアントから受け取った楽曲を解析する場合、NDA の対象になっていることがあります。クライアント側が把握していない外部サービスへの送信は、契約上の問題を生じさせる可能性があります。ステレオ幅解析という技術的に小さく見える操作が、業務上のリスクを持つ場合があります。

decodeAudioData + JavaScript の行列演算でブラウザ内チェック

このツールは Web Audio API の decodeAudioData で音声をデコードし、左右チャンネルのサンプル列から Mid = (L+R)/2 と Side = (L-R)/2 を JavaScript で計算します。それぞれの RMS を求めてステレオ幅 (Side RMS / Mid RMS × 100) を算出し、Pearson 相関係数で L/R の位相関係を数値化します。Mono 合成時のレベル低下 (相関損失) も同じサンプル列から計算します。計算処理全体がブラウザのメモリ内で完結します。

DevTools の Network タブを開いた状態でファイルをドロップしても、ページロード後の音声関連リクエストはゼロです。Mid/Side 計算式と Pearson 相関の実装を含めて、GitHub でソースコードを確認できます。

ステレオ幅チェックを配布フローの標準工程にする

配信前のチェックリストとして、ステレオ幅チェックを audio-loudness-lufsaudio-true-peak と並べる習慣をつけると効果的です。「Mono 互換性 (-3 dB 以内)、True Peak (-1 dBTP 以下)、Integrated LUFS (ターゲット ±1)」の 3 点をブラウザ内で確認してから配信する、というフローが音楽制作の標準的な最終チェックになりつつあります。

特に Bluetooth スピーカーや AM ラジオなど Mono 再生環境でのリスニングが想定される場合、位相相関が +0.3 以上あるかどうかの確認は欠かせません。位相異常を特定の chunk に追い込みたい場合は audio-channel-split で L/R を分離して個別に確認し、L/R を別の素材で再合成したい場合は audio-channel-merge を使う、という流れがブラウザ内で完結します。

Mid-Side エンコーディングと Pearson 相関の数理

Mid-Side (M/S) は古典的な行列変換で、L = (M+S)、R = (M-S) として元のステレオを完全に復元できる可逆な操作です。(L+R)/2 で中央定位の成分 (Mid)、(L-R)/2 で左右に散った成分 (Side) に分離できるという性質は、FM ステレオ放送のパイロット信号 (38 kHz サブキャリア) や MP3 / AAC の Joint Stereo モードでもエンコード効率向上のために使われています。Side の RMS が Mid を超えると、Mono 合成で本来あった成分が打ち消し合って消える「位相打ち消し」が起きます。

Pearson 相関係数 r = Σ((L-L̄)(R-R̄)) / √(Σ(L-L̄)² × Σ(R-R̄)²) は、L と R の波形がどれだけ同位相かを -1 〜 +1 の範囲で示します。r = +1 は完全に同相 (= 実質モノラル)、r = 0 は無相関 (極端に広いステレオ)、r = -1 は完全逆相 (Mono 合成で全消失)。実務的には r ≧ +0.5 を安全圏、+0.3 〜 +0.5 を要注意、+0.3 未満 を mono リスクと判断するのが一般的です。本ツールはフレーム単位の r を平均して全体スコアとし、瞬間値の負側ピーク (phase issue 警告) も同時に表示します。

ストリーミング配信時代のステレオ運用とラウドネス戦争後の傾向

2010 年代後半以降、Spotify / Apple Music / YouTube などストリーミングプラットフォームがラウドネスノーマライゼーション (-14 LUFS 前後) を導入したことで、「とにかく大きく」を狙ったマスタリングから「ダイナミクスとステレオ広がりを生かす」方向への揺り戻しが起きました。結果として Side エネルギーを多めに残すミックスが増え、Bluetooth スピーカー / 車載スピーカー / スマートフォン内蔵スピーカーといった事実上モノラル再生される環境での聴こえ方を事前検証する必要性が増しています。

EDM や Pop ジャンルでは意図的にステレオ幅を 110-130% に広げるプロダクションが増えていますが、その分 Mono 互換性のリスクも高まります。クラシック / ジャズ / ライブ録音では Mid-Side マイキング (M/S ステレオ録音、Side マイクに双指向性、Mid に単一指向性) が伝統的に使われ、収録時点で Side 成分を独立して操作できる利点があります。本ツールで Side RMS と Mid RMS を別々に確認できることは、収録時の M/S 比をミックス時に検証する用途にも適しています。

よくある質問

ステレオ幅 (%) はどう計算してる?
Side RMS と Mid RMS の比から算出します。具体的には `(Side RMS / Mid RMS) × 100`。0% = 完全 mono (L=R)、50〜80% = 一般的なステレオミックス、100% 超 = Side が Mid より大きい (極端な phase issue or 意図的な広げ)。
位相相関係数 (-1 〜 +1) の見方は?
L と R の Pearson 相関係数です。+1.0 = 完全 mono、+0.5 〜 +1.0 = 良好な mono 互換、0 付近 = 独立、マイナス = 逆位相成分が支配的で mono 合成すると音が消える / 痩せます。+0.3 以上を目安にすると Bluetooth スピーカーや AM ラジオでも安全。
Mono drop は何 dB までが許容?
目安は 3 dB 以下。-6 dB を超えると人の声や低音の重要な成分が mono 合成で消える兆候で、配信前のリミックス対象になります。Phase issue の検出指標として、相関と合わせて確認してください。
モノラルファイルを入れたらどうなる?
1 ch だと L=R を仮定して扱います。結果は Mid = 元信号、Side = 0、相関 +1.0、幅 0% です。意味のある解析にはステレオ (2 ch) ファイルを入れてください。
データはどこかに送信されますか?
いいえ。Web Audio API の decodeAudioData でブラウザ内処理し、メトリクス算出も自前 JavaScript です。

「送らない」を確かめるには

このツールは入力データを外部に送信しません。仕組み・監査手順・運営方針は以下で詳しく説明しています。

類似のツール

音声チャンネル分離 — ステレオ L / R を 2 つのモノラルに分割

音声チャンネル分離 — ステレオ L / R を 2 つのモノラルに分割

ステレオ音声ファイル (MP3 / WAV / M4A / FLAC / OGG) を L (左) と R (右) の 2 つのモノラル WAV / MP3 として書き出します。社外録音 (インタビュー、口述記録、ZOOM 録音、ハンディレコーダー) で話者を L チャンネル / R チャンネルに分けて録ったときの分離編集、片チャンネルだけのノイズ除去、ステレオ素材から片側だけ DAW に取り込みたいときに最適。モノラル素材はそのまま 1 ファイル出力。音声はブラウザ内で完結します。

音声
音声チャンネル結合 — 2 つのモノラルを L + R のステレオに

音声チャンネル結合 — 2 つのモノラルを L + R のステレオに

2 つのモノラル音声ファイル (MP3 / WAV / M4A / FLAC / OGG) を 1 つのステレオ音声に結合します。L チャンネルと R チャンネルを別々に渡すと、内部で interleave して 1 つの stereo WAV / MP3 として出力。インタビューの A 話者 / B 話者を別収録 → L / R に振り分けたい、片チャンネル素材から擬似ステレオを作りたい、audio-channel-split の逆操作で再合成したいときに使えます。長さが違う場合は短い方に合わせる / 長い方に合わせる (無音パディング) を選択可能。音声はブラウザ内で完結します。

音声結合
LUFS ラウドネス測定 — 配信ターゲット (YouTube / Spotify / EBU) との差分

LUFS ラウドネス測定 — 配信ターゲット (YouTube / Spotify / EBU) との差分

音声ファイル (MP3 / WAV / M4A / FLAC / OGG / Opus) をドロップすると、ITU-R BS.1770-4 準拠の Integrated LUFS / Loudness Range (LRA) / Sample Peak (dBFS) をブラウザ内で測定します。配信プラットフォームのターゲットラウドネス (YouTube / Apple Music / Amazon Music: -14 LUFS, Spotify: -14 LUFS, Apple Podcasts: -16 LUFS, EBU R128 / 放送: -23 LUFS) を選ぶと、現状値とターゲットの差分 (LU) を表示。あといくつ ±dB で audio-volume を適用すれば良いかを直感的に把握できます。K-weighting フィルタ + 400 ms 矩形窓 + Absolute (-70 LUFS) + Relative (-10 LU) のゲーティングを自前 biquad で実装、ステレオは ITU 重み付け (L=R=C=1)。音声はブラウザ内で完結。

音声抽出
True Peak (dBTP) 測定 — 4x オーバーサンプリングで inter-sample peak を検出

True Peak (dBTP) 測定 — 4x オーバーサンプリングで inter-sample peak を検出

音声ファイル (MP3 / WAV / M4A / FLAC / OGG / Opus) をドロップすると、ITU-R BS.1770-4 Annex 2 準拠の 4 倍オーバーサンプリング (poly-phase FIR low-pass) で Inter-sample Peak を補間して True Peak (dBTP) を測定します。Sample Peak (dBFS) では検出できない MP3 / AAC エンコード後のクリッピングを事前に把握できます。ストリーミング配信のターゲット (Spotify / Apple Music / EBU R128 = -1.0 dBTP, YouTube = -1.0 dBTP, ラジオ = -2.0 dBTP) と比較して、リミッターの追い込み具合を可視化。L/R 別の値とどちらが上限を超えているかも一目で分かります。音声はブラウザ内で完結。

音声抽出