1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[MR Dev Tips #8] HoloLens 2 の空間オーディオ (Spatial Audio) を有効にする

Last updated at Posted at 2023-08-08

はじめに

今回は HoloLens 2 アプリケーションで Spatial Audio (空間音響) を有効にする方法についてご紹介したいと思います。詳しい手順は、MS Learn - HoloLens 2 アプリケーションの空間オーディオをアクティブ化する でまとめられているので、本記事では要点のみをご紹介いたします。

検証環境

  • Unity 2020.3.48f1
  • MRTK v2.8.2

基礎知識

空間オーディオ ( Spatial Audio ) とは

空間オーディオとは、複数の特定のスピーカーを設定しなくても、音を周囲全体で知覚できるようにする、さまざまなオーディオ再生技術を指しています。( 空間オーディオ より引用 )

HRTF (Head-Relation Transfer Function)

人間は音源から左右の耳に入る音の強弱と時間の微妙なズレによって、一種の三角測量によりその音の発生源を認識することができます。この音源から両耳までの特性を 頭部伝達関数 (HRTF: Head Related Transfer Function) と呼びます。( Sony Japan | 技術解説 より引用 )

HRTF ベースアルゴリズムを使用したオーディオ処理には、大量の特殊の計算が必要となります。HoloLens 2 には、アプリケーションプロセッサへの負荷を回避するために活用できる専用のハードウェアが含まれているため、HRTFベースアルゴリズムの処理をオフロードできる。Microsoft Spatializer プラグインを使用すると、アプリケーションから簡単にHRTF専用ハードウェアを活用できるようになるため、アプリケーションプロセッサの大部分を空間オーディオではなく、アプリケーション操作のために使用できます。

Microsoft Spatializer

Microsoft Spatializer は、Unity の空間オーディオ用 Audio Source コンポーネントにアタッチされたプロパティを上書きします。HoloLens での空間音響は、Audio Spatializer プラグインを使用して、有効化することができます。プラグインのファイルは Unity にバンドルされており、編集タブから Microsoft HRTF 拡張機能を有効にするだけで空間音響を有効化することができます。Microsoft Spatial Sound は現在48kHz のサンプリングレートのみをサポートしています。

手順

Microsoft Spatializer をダウンロードして、プロジェクトにインポートします。Microsoft Spatializer パッケージは GitHub もしくは、Mixed Reality Feature Tool からインポートすることができます。

image.png

Edit > Project Settings > Audio を開いて、Spatializer Plugin を Microsoft Spatializer に変更します。

image.png

MRTK初期セットアップ済みの空のシーンに PressableButtonHoloLens2 (prefab) を追加します。

Transform を以下の値に修正します。

  • Position (0, -0.4, 2)
  • Rotation (0, 0, 0)
  • Scale (1, 1, 1)

image.png

Audio Mixer ウィンドウを開きます。Window > Audio > Audio Mixer を選択します。

image.png

Mixer の隣にある + ボタンをクリックして新しいミキサーを作成します。新しいミキサーには、Master という名前の標準グループが含まれています。

image.png

ヒエラルキーウィンドウで PressableButtonHoloLens2 を選択して、インスペクターウィンドウで Audio Source コンポーネントの設定を追加します。必要な設定項目は以下の通りです。

  1. 出力プロパティに作成したミキサーを選択する
  2. Spatialize (空間化) チェックボックスにチェックを入れる
  3. Spatial Blend (空間比率) スライダーを 3D (1) に変更する

image.png

Unity の既定の設定では、聞き手が遠ざかるにつれて空間オーディオを減衰させます。この減衰が対話操作のフィードバック音に適用されている場合、インターフェースが使いづらくなります。この減衰設定を無効にするためには、Audio Source コンポーネントの Volume (音量) 曲線を調整する必要があります。

  1. [Volume Rolloff] プロパティを [線形ロールオフ] に設定します
  2. [Volume] 曲線 (赤い曲線) のエンドポイントを、y 軸の '0' から '1' にドラッグします
  3. [Volume] 曲線の形をフラットに調整するには、白の曲線コントロールを、X 軸に平行になるようにドラッグします。

image.png

これで作業は終了です。後は HoloLens 2 へデプロイして試してみると、空間オーディオ ( Spatial Audio ) が実現されていました。

Refs

公式ドキュメント

補足情報等

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?