コンテンツにスキップ

Spatial Binaural Mixer

Spatial Binaural Mixer は、複数の独立した音声トラックを、頭部伝達関数 (HRTF / SOFAファイル) を用いて仮想の3D空間に配置し、高品質なミックスとレンダリングを行うためのオフライン空間オーディオ生成モジュールです。

リアルタイムプレイヤとは異なり、このモジュールはマルチトラック(Stem音源など)のミックス生成に特化しています。ブロック分割を使用しない一括FFT畳み込みと、高精度な空間補間を用いることで、空間オーディオの書き出しにおいて最高レベルの音質を確保します。

☕ コーヒーブレイク:立体音響(バイノーラル)の魔法

暗闇の中で蚊が「プ〜ン」と飛んできたとき、私たちは「あ、右の後ろにいる!」と目を閉じていてもわかりますよね。でも、人間には右と左に1つずつ、たった2つの耳(マイク)しかありません。たった2つのマイクで、どうして「後ろ」や「上下」まで分かるのでしょうか?

その秘密は、私たちの「耳たぶの形」や「頭の丸み」にあります! 音が後ろから来る時と、前から来る時では、耳たぶに反射する様子がわずかに変わり、音の「色合い(周波数特性)」や「届くタイミング」に複雑な変化が起きます。脳はこの変化を瞬時に計算して、音の場所を特定しているのです。 この「頭や耳が音に与える変化のパターン」をまるごと録音・データ化したものが「HRTF(頭部伝達関数)」です。

この Spatial Binaural Mixer は、ただの音にこの HRTF データ(SOFAファイル)という「耳たぶの魔法」を掛け合わせる(畳み込む)ツールです。これを使えば、普通のヘッドホンで聴くだけで、まるで魔法のように音が頭の外の3D空間から聞こえてくるようになります!


🌟 主な機能

  • マルチトラック対応: 複数の音声ファイル (WAV, FLAC, MP3 など) をロードし、それぞれの空間位置(方位角、仰角)、音量(ゲイン)、およびミュート/ソロ状態を独立して制御できます。
  • IDW空間補間: SOFAファイル内の最も近い測定点データから「逆距離加重 (Inverse Distance Weighting)」補間を行い、測定点のない任意の角度でも滑らかでリアルなHRIRを合成します。
  • オフライン一括FFT畳み込み: リアルタイム処理のバッファ(Overlap-Add法)に起因するアーティファクトや窓関数の影響を排除するため、トラック全体の波形を一括で完全に畳み込み (scipy.signal.fftconvolve) ます。
  • Float64 内部処理: 内部のミキシングバスは 64ビット浮動小数点数 で処理されるため、加算時のクリッピングの心配がなく、絶対的なヘッドルームとダイナミックレンジを確保します。
  • 最高品質のリサンプリング: 音源とSOFAのサンプリングレートが異なる場合、遅延を考慮しない高品質な多相SinC補間フィルタ (resample_poly) を用いて完璧に同期させます。

🎛️ 使用方法

1. 空間設定 (SOFA)

音響空間の基準となるHRTFフィルターデータセットを設定します。

  • Load SOFA をクリックし、.sofa または .nc 形式のファイルを選択します。

2. トラックの設定

空間に配置したい音源素材(ボーカル、ドラム、ベースなど)を追加します。

  1. Add Track (トラック追加) をクリックします。
  2. 追加された各トラック行で以下の設定を行います:
  3. Load Audio: 元となる音声ファイルを選択します。ステレオファイルを選択した場合は一時的にモノラルにミックスされ、空間内の「点音源」として扱われます。
  4. 方位角 (Azimuth): 水平方向の角度 (度)。
    • : 正面
    • +90°: 真右
    • -90°: 真左
    • 180° / -180°: 真後ろ
  5. 仰角 (Elevation): 垂直方向の角度 (度)。
    • : 目の高さ (水平面)
    • +90°: 頭上の真上 (天頂)
    • -90°: 真下
  6. Gain: 最終ミックス内でのそのトラックの相対的な音量を調整します。
  7. Mute / Solo: モニター時に特定のトラックだけをミュートしたり、単独再生したりできます。
  8. X ボタン: そのトラックを削除します。

3. プレビュー設定 (Preview Settings)

トラックの特定の部分だけをレンダリングしてモニターするための設定です。

  • Preview Mode: トラック全体ではなく、一部分のみを処理する場合に有効にします。
  • Start: プレビュー部分の開始位置(秒)。
  • Duration: 処理するプレビュー部分の長さ(秒)。
  • ◀ / ▶ ボタン: 設定した長さ分だけ開始位置を前後に移動し、素早く別の箇所をプレビューできます。

4. レンダリングとエクスポート

このモジュールはリアルタイムなレスポンスよりも「音質」を最優先とするため、再生や保存を行う前にすべてのオーディオ処理が完了する仕組みになっています。

  • ▶ レンダー&モニター (Render & Monitor): トラック全体をオンメモリにミックス・レンダリングし、そのまま MeasureLab のオーディオデバイスから再生します。完了まではプログレスバーが表示され、途中でキャンセルすることも可能です。
  • ⏸ モニター停止 (Stop Monitor): 再生中のメモリバッファを直ちに停止します。
  • WAVへレンダリング (Render to WAV): ミックス処理を行い、直接ディスクに 32ビットFloat のWAVファイルとして保存します。ピーク音量によるクリッピングを防ぐため、全体が 0.99 FS に収まるように自動的にレベル最適化が行われます。

💡 活用例

  • Stem音源の再構成: ボーカル、ベース、シンセ、ドラムを別々に読み込みます。ボーカルを正面 (Az 0, El 10) に、ドラムをすこし後部下方に、シンセを両サイドに配置し、Render to WAVで書き出すことで、臨場感あふれる三次元楽曲を簡単に制作できます。
  • ASMR / ドラマ制作: 複数の環境音やセリフの音声を球面の様々な位置に散りばめて配置し、立体的なサウンドスケープシーンとして高音質で書き出すことができます。