注意

Mixed Reality Academy チュートリアルは、HoloLens (第1世代) と Mixed Reality イマーシブヘッドセットを念頭に置いて設計されています。The Mixed Reality Academy tutorials were designed with HoloLens (1st gen) and Mixed Reality Immersive Headsets in mind. そのため、これらのデバイスの開発に関するガイダンスをまだ探している開発者には、これらのチュートリアルを残しておくことが重要です。As such, we feel it is important to leave these tutorials in place for developers who are still looking for guidance in developing for those devices. これらのチュートリアルは いない 最新のツールセットや相互作用が使用されている HoloLens 2 で更新されます。These tutorials will not be updated with the latest toolsets or interactions being used for HoloLens 2. サポートされているデバイスでの作業を続行するために管理されます。They will be maintained to continue working on the supported devices. 今後、HoloLens 2 向けの開発方法を示す新しい一連のチュートリアルが掲載されています。There will be a new series of tutorials that will be posted in the future that will demonstrate how to develop for HoloLens 2. この通知は、これらのチュートリアルが投稿されたときのリンクと共に更新されます。This notice will be updated with a link to those tutorials when they are posted.


MR 空間 220:立体音響MR Spatial 220: Spatial sound

空間サウンドはホログラムに breathes し、世界中に存在します。Spatial sound breathes life into holograms and gives them presence in our world. ホログラムは、ライトとサウンドの両方で構成されています。ホログラムが見えなくなった場合は、空間サウンドを使用して見つけることができます。Holograms are composed of both light and sound, and if you happen to lose sight of your holograms, spatial sound can help you find them. 空間サウンドは、無線で聞くことができる一般的なサウンドとは異なり、3D 空間に配置されています。Spatial sound is not like the typical sound that you would hear on the radio, it is sound that is positioned in 3D space. 空間サウンドを使用すると、ユーザーの背後、または自分の頭にいるかのように、ホログラムを鳴らすことができます。With spatial sound, you can make holograms sound like they're behind you, next to you, or even on your head! このコースでは、次のことを行います。In this course, you will:

  • Microsoft の空間サウンドを使用するように開発環境を構成します。Configure your development environment to use Microsoft Spatial Sound.
  • 相互作用を強化するには、空間サウンドを使用します。Use Spatial Sound to enhance interactions.
  • 空間のマッピングと共に空間サウンドを使用します。Use Spatial Sound in conjunction with Spatial Mapping.
  • サウンドのデザインとベストプラクティスの混在を理解します。Understand sound design and mixing best practices.
  • 音を使用して特殊効果を向上させ、ユーザーを混合現実の世界に持ち込むことができます。Use sound to enhance special effects and bring the user into the Mixed Reality world.

デバイスのサポートDevice support

までCourse HoloLensHoloLens イマーシブ ヘッドセットImmersive headsets
MR 空間 220:立体音響MR Spatial 220: Spatial sound ✔️✔️ ✔️✔️

開始前の準備Before you start

必須コンポーネントPrerequisites

プロジェクトファイルProject files

  • プロジェクトに必要なファイルをダウンロードします。Download the files required by the project. Unity 2017.2 以降が必要です。 Requires Unity 2017.2 or later.
    • 引き続き Unity 5.6 のサポートが必要な場合は、このリリースをご利用ください。If you still need Unity 5.6 support, please use this release. このリリースは最新ではなくなる可能性があります。This release may no longer be up-to-date.
    • 引き続き Unity 5.5 のサポートが必要な場合は、このリリースをご利用ください。If you still need Unity 5.5 support, please use this release. このリリースは最新ではなくなる可能性があります。 This release may no longer be up-to-date.
    • 引き続き Unity 5.4 のサポートが必要な場合は、このリリースをご利用ください。If you still need Unity 5.4 support, please use this release. このリリースは最新ではなくなる可能性があります。 This release may no longer be up-to-date.
  • ファイルをデスクトップまたはその他の簡単な場所に保管します。Un-archive the files to your desktop or other easy to reach location.

注意

ダウンロードする前にソースコードを確認する場合は、GitHub から入手できます。If you want to look through the source code before downloading, it's available on GitHub.

エラッタとメモErrata and Notes

  • コード内のブレークポイントにヒットするには、Visual Studio の ツール-> オプション-> デバッグ の下にある マイコードのみを有効にする を無効 (オフ) にする必要があります。"Enable Just My Code" needs to be disabled (unchecked) in Visual Studio under Tools->Options->Debugging in order to hit breakpoints in your code.

章 1-Unity のセットアップChapter 1 - Unity Setup

目的Objectives

  • Microsoft の空間サウンドを使用するように Unity のサウンド構成を変更します。Change Unity's sound configuration to use Microsoft Spatial Sound.
  • Unity のオブジェクトに3D サウンドを追加します。Add 3D sound to an object in Unity.

手順Instructions

  • Unity を起動します。Start Unity.
  • [開く] を選択します。Select Open.
  • デスクトップに移動し、以前にアーカイブしていないフォルダーを見つけます。Navigate to your Desktop and find the folder you previously un-archived.
  • Starting\Decibelフォルダーをクリックし、[フォルダーの選択] ボタンを押します。Click on the Starting\Decibel folder and then press the Select Folder button.
  • Unity にプロジェクトが読み込まれるのを待ちます。Wait for the project to load in Unity.
  • プロジェクト] パネルで、[ Scenes\Decibel.unity] を開きます。In the Project panel, open Scenes\Decibel.unity.
  • [階層] パネルで、[ HologramCollection ] を展開し、[ P0LY] を選択します。In the Hierarchy panel, expand HologramCollection and select P0LY.
  • インスペクターで、[ Audiosource ] を展開し、[ Spatialize ] チェックボックスが表示されないことを確認します。In the Inspector, expand AudioSource and notice that there is no Spatialize check box.

既定では、Unity は spatializer プラグインを読み込みません。By default, Unity does not load a spatializer plugin. 次の手順を実行すると、プロジェクトの空間サウンドが有効になります。The following steps will enable Spatial Sound in the project.

  • Unity のトップメニューで、[ Edit > Project Settings > Audio] を開きます。In Unity's top menu, go to Edit > Project Settings > Audio.
  • Spatializer プラグインのドロップダウンを見つけて、[ MS HRTF Spatializer] を選択します。Find the Spatializer Plugin dropdown, and select MS HRTF Spatializer.
  • [階層] パネルで、[ HologramCollection > P0LY] を選択します。In the Hierarchy panel, select HologramCollection > P0LY.
  • [インスペクター ] パネルで、[オーディオソース] コンポーネントを見つけます。In the Inspector panel, find the Audio Source component.
  • Spatializeチェックボックスをオンにします。Check the Spatialize checkbox.
  • [空間 Blend ] スライダーを3dにドラッグするか、編集ボックスに「 1 」と入力します。Drag the Spatial Blend slider all the way to 3D, or enter 1 in the edit box.

ここでは、Unity でプロジェクトをビルドし、Visual Studio でソリューションを構成します。We will now build the project in Unity and configure the solution in Visual Studio.

  1. Unity で、[ファイル > ビルド設定] を選択します。In Unity, select File > Build Settings.
  2. シーンを追加するには、[開いているシーンの追加] をクリックします。Click Add Open Scenes to add the scene.
  3. [プラットフォーム] ボックスの一覧の [ユニバーサル Windows プラットフォーム] を選択し、[プラットフォームの切り替え] をクリックします。Select Universal Windows Platform in the Platform list and click Switch Platform.
  4. HoloLens 向けに特に開発している場合は、ターゲットデバイスhololensに設定します。If you're specifically developing for HoloLens, set Target device to HoloLens. それ以外の場合は、任意のデバイスに残しておきます。Otherwise, leave it on Any device.
  5. ビルドの種類が [ D3D ] に設定され、[ sdk ] が [最新のインストール済み] に設定されていることを確認します (sdk 16299 以降である必要があります)。Ensure Build Type is set to D3D and SDK is set to Latest installed (which should be SDK 16299 or newer).
  6. [Build] をクリックします。Click Build.
  7. "App" という名前の新しいフォルダーを作成します。Create a New Folder named "App".
  8. アプリフォルダーをシングルクリックします。Single click the App folder.
  9. [フォルダーの選択] をクリックします。Press Select Folder.

Unity が完了すると、エクスプローラーウィンドウが表示されます。When Unity is done, a File Explorer window will appear.

  1. アプリフォルダーを開きます。Open the App folder.
  2. デシベル Visual Studio ソリューションを開きます。Open the Decibel Visual Studio Solution.

HoloLens に展開する場合:If deploying to HoloLens:

  1. Visual Studio の上部のツールバーを使用して、ターゲットをデバッグからリリースに変更し、ARM からx86に変更します。Using the top toolbar in Visual Studio, change the target from Debug to Release and from ARM to x86.
  2. [ローカルコンピューター] ボタンの横にあるドロップダウン矢印をクリックし、[リモートコンピューター] を選択します。Click on the drop down arrow next to the Local Machine button, and select Remote Machine.
  3. HoloLens デバイスの IP アドレスを入力し、[認証モード] を [ユニバーサル (暗号化されていないプロトコル)] に設定します。Enter your HoloLens device IP address and set Authentication Mode to Universal (Unencrypted Protocol). [選択] をクリックします。Click Select. デバイスの IP アドレスがわからない場合は、設定 Network & Internet > 詳細オプション > 確認してください。If you do not know your device IP address, look in Settings > Network & Internet > Advanced Options.
  4. 上部のメニューバーで、[デバッグ]、[デバッグなしで開始] の順にクリック >、Ctrl キーを押しながら F5キーを押します。In the top menu bar, click Debug -> Start Without debugging or press Ctrl + F5. 初めてデバイスをデプロイする場合は、 Visual Studio とペアリングする必要があります。If this is the first time deploying to your device, you will need to pair it with Visual Studio.

イマーシブヘッドセットに展開する場合:If deploying to an immersive headset:

  1. Visual Studio の上部のツールバーを使用して、ターゲットをデバッグからリリースに、ARM からx64に変更します。Using the top toolbar in Visual Studio, change the target from Debug to Release and from ARM to x64.
  2. 配置ターゲットがローカルコンピューターに設定されていることを確認します。Make sure the deployment target is set to Local Machine.
  3. 上部のメニューバーで、[デバッグ]、[デバッグなしで開始] の順にクリック >、Ctrl キーを押しながら F5キーを押します。In the top menu bar, click Debug -> Start Without debugging or press Ctrl + F5.

第2章: 空間サウンドと相互作用Chapter 2 - Spatial Sound and Interaction

目的Objectives

  • サウンドを使用して、ホログラムのリアリティを高めます。Enhance hologram realism using sound.
  • サウンドを使用して、ユーザーの宝石を誘導します。Direct the user's gaze using sound.
  • サウンドを使用してジェスチャに関するフィードバックを提供します。Provide gesture feedback using sound.

パート 1-リアリティの向上Part 1 - Enhancing Realism

主要概念Key Concepts

  • Spatialize ホログラムサウンド。Spatialize hologram sounds.
  • サウンドソースは、ホログラムの適切な場所に配置する必要があります。Sound sources should be placed at an appropriate location on the hologram.

サウンドの適切な場所は、ホログラムに依存します。The appropriate location for the sound is going to depend on the hologram. たとえば、ホログラムが人間の場合、サウンドソースは、脚ではなく口の近くに配置する必要があります。For example, if the hologram is of a human, the sound source should be located near the mouth and not the feet.

手順Instructions

次の手順では、spatialized サウンドをホログラムにアタッチします。The following instructions will attach a spatialized sound to a hologram.

  • [階層] パネルで、[ HologramCollection ] を展開し、[ P0LY] を選択します。In the Hierarchy panel, expand HologramCollection and select P0LY.
  • [インスペクター ] パネルの [ audiosource] で、[ audiosource ] の横にある円をクリックし、ポップアップから [ PolyHover ] を選択します。In the Inspector panel, in the AudioSource, click the circle next to AudioClip and select PolyHover from the pop-up.
  • [出力] の横にある円をクリックし、ポップアップから [ SoundEffects ] を選択します。Click the circle next to Output and select SoundEffects from the pop-up.

プロジェクトのデシベルは、Unity Audiomixerコンポーネントを使用して、サウンドグループのサウンドレベルを調整できるようにします。Project Decibel uses a Unity AudioMixer component to enable adjusting sound levels for groups of sounds. この方法でサウンドをグループ化することで、各サウンドの相対的なボリュームを維持しながら、全体的なボリュームを調整できます。By grouping sounds this way, the overall volume can be adjusted while maintaining the relative volume of each sound.

  • Audiosourceで、[ 3d サウンド設定] を展開します。In the AudioSource, expand 3D Sound Settings.
  • ドップラーレベル0に設定します。Set Doppler Level to 0.

ドップラーレベルを0に設定すると、モーション (ホログラムまたはユーザーのいずれか) によるピッチの変更が無効になります。Setting Doppler level to zero disables changes in pitch caused by motion (either of the hologram or the user). ドップラーの典型的な例は、高速移動車です。A classic example of Doppler is a fast-moving car. 車が静止リスナーに近づくにつれて、エンジンのピッチは上がります。As the car approaches a stationary listener, the pitch of the engine rises. リスナーがリスナーに渡されると、距離によってピッチが低下します。When it passes the listener, the pitch lowers with distance.

パート 2-ユーザーの宝石を誘導するPart 2 - Directing the User's Gaze

主要概念Key Concepts

  • サウンドを使用して、重要なホログラムに注意してください。Use sound to call attention to important holograms.
  • 耳は、目が見える場所に直接役立ちます。The ears help direct where the eyes should look.
  • 脳には、期待されることがあります。The brain has some learned expectations.

1つの例として、鳥は一般に人間の頭を超えています。One example of learned expectations is that birds are generally above the heads of humans. ユーザーが鳥のサウンドを聞くと、最初の反応が検索されます。If a user hears a bird sound, their initial reaction is to look up. ユーザーの下に鳥を配置すると、それらのユーザーが正しい方向のサウンドを使用することになりますが、検索が必要になると予想されるホログラムを見つけることができません。Placing a bird below the user can lead to them facing the correct direction of the sound, but being unable to find the hologram based on the expectation of needing to look up.

手順Instructions

次の手順を実行すると、P0LY を使用して、ホログラムを見つけることができるようになります。The following instructions enable P0LY to hide behind you, so that you can use sound to locate the hologram.

  • [階層] パネルで、[マネージャー] を選択します。In the Hierarchy panel, select Managers.
  • [インスペクター ] パネルで、[音声入力ハンドラー] を見つけます。In the Inspector panel, find Speech Input Handler.
  • 音声入力ハンドラーで、 [表示しない] を展開します。In Speech Input Handler, expand Go Hide.
  • 関数PolyActionsに変更します。Change No Function to PolyActions.GoHide.

キーワード[非表示にする]

パート 3-ジェスチャに関するフィードバックPart 3 - Gesture Feedback

主要概念Key Concepts

  • サウンドを使用してユーザーに正のジェスチャ確認を提供するProvide the user with positive gesture confirmation using sound
  • ユーザーに大きな音がかからないようにしてください。Do not overwhelm the user - overly loud sounds get in the way
  • 微妙なサウンドが最適であり、エクスペリエンスを過度に影にしないSubtle sounds work best - do not overshadow the experience

手順Instructions

  • [階層] パネルで、[ HologramCollection] を展開します。In the Hierarchy panel, expand HologramCollection.
  • [ EnergyHub ] を展開し、[ Base] を選択します。Expand EnergyHub and select Base.
  • [インスペクター ] パネルで、[コンポーネントの追加] をクリックし、[ジェスチャサウンドハンドラーの追加] をクリックします。In the Inspector panel, click Add Component and add Gesture Sound Handler.
  • [ジェスチャサウンドハンドラー] で、[ナビゲーションの開始] クリップナビゲーション更新クリップの横にある円をクリックし、両方のポップアップから [ RotateClick ] を選択します。In Gesture Sound Handler, click the circle next to Navigation Started Clip and Navigation Updated Clip and select RotateClick from the pop-up for both.
  • Visual Studio に読み込むには、"GestureSoundHandler" をダブルクリックします。Double click on "GestureSoundHandler" to load in Visual Studio.

ジェスチャサウンドハンドラーは、次のタスクを実行します。Gesture Sound Handler performs the following tasks:

  • Audiosourceを作成および構成します。Create and configure an AudioSource.
  • 適切なオブジェクトの場所にaudiosourceを配置します。Place the AudioSource at the location of the appropriate GameObject.
  • ジェスチャに関連付けられているAudioclipを再生します。Plays the AudioClip associated with the gesture.

ビルドと配置Build and Deploy

  1. Unity で、[ファイル > ビルド設定] を選択します。In Unity, select File > Build Settings.
  2. [Build] をクリックします。Click Build.
  3. アプリフォルダーをシングルクリックします。Single click the App folder.
  4. [フォルダーの選択] をクリックします。Press Select Folder.

ツールバーに "Release"、"x86"、"x64"、および "Remote Device" と表示されていることを確認します。Check that the Toolbar says "Release", "x86" or "x64", and "Remote Device". それ以外の場合は、Visual Studio のコーディングインスタンスになります。If not, this is the coding instance of Visual Studio. 場合によっては、アプリフォルダーからソリューションを再度開く必要があります。You may need to re-open the solution from the App folder.

  • メッセージが表示されたら、プロジェクトファイルを再度読み込みます。If prompted, reload the project files.
  • 前と同様に、Visual Studio からデプロイします。As before, deploy from Visual Studio.

アプリケーションが展開された後:After the application is deployed:

  • P0LY の周りを移動すると、サウンドがどのように変化するかを観察します。Observe how the sound changes as you move around P0LY.
  • [非表示にする] を指定すると、P0LY が自分の位置に移動します。Say "Go Hide" to make P0LY move to a location behind you. サウンドで検索します。Find it by the sound.
  • エネルギーハブのベースを見つめます。Gaze at the base of the Energy Hub. 左または右にドラッグしてホログラムを回転させ、クリック音によってジェスチャが確認されることを確認します。Tap and drag left or right to rotate the hologram and notice how the clicking sound confirms the gesture.

注:テキストパネルにはタグが付けられます。Note: There is a text panel that will tag-along with you. これには、このコース全体で使用できる音声コマンドが含まれています。This will contain the available voice commands that you can use throughout this course.

第3章: 空間サウンドと空間マッピングChapter 3 - Spatial Sound and Spatial Mapping

目的Objectives

  • サウンドを使用して、ホログラムと実際の世界の間の相互作用を確認します。Confirm interaction between holograms and the real world using sound.
  • Occlude は、物理的な世界を使ってサウンドを再生します。Occlude sound using the physical world.

パート 1-物理的な世界の相互作用Part 1 - Physical World Interaction

主要概念Key Concepts

  • 通常、物理オブジェクトは、サーフェイスや別のオブジェクトが検出したときに音を鳴らします。Physical objects generally make a sound when encountering a surface or another object.
  • サウンドは、エクスペリエンスの中で適切なコンテキストである必要があります。Sounds should be context appropriate within the experience.

たとえば、テーブルのカップを設定すると、金属の一部で boulder を落とした場合よりも静かに聞こえます。For example, setting a cup on a table should make a quieter sound than dropping a boulder on a piece of metal.

手順Instructions

  • [階層] パネルで、[ HologramCollection] を展開します。In the Hierarchy panel, expand HologramCollection.
  • [ EnergyHub] を展開し、[ Base] を選択します。Expand EnergyHub, select Base.
  • [インスペクター ] パネルで [コンポーネントの追加] をクリックし、[再生] を追加してサウンドとアクションを設定します。In the Inspector panel, click Add Component and add Tap To Place With Sound and Action.
  • サウンドとアクションを使用して配置する場合:In Tap To Place With Sound and Action:
    • タップ時に親を確認します。Check Place Parent On Tap.
    • 配置のサウンド配置するように設定します。Set Placement Sound to Place.
    • ピックアップ音集配に設定します。Set Pickup Sound to Pickup.
    • Pickup アクション配置アクションの両方の下で、下の方の [+] を押します。Press the + in the bottom right under both On Pickup Action and On Placement Action. シーンから EnergyHub (オブジェクト) フィールドに [] をドラッグします。Drag EnergyHub from the scene into the None (Object) fields.
      • [ピックアップアクション] で、[ No Function -> EnergyHubBase -> resetanimation] をクリックします。Under On Pickup Action, click on No Function -> EnergyHubBase -> ResetAnimation.
      • [配置アクション] で、[ No Function -> EnergyHubBase -> onselect] をクリックします。Under On Placement Action, click on No Function -> EnergyHubBase -> OnSelect.

サウンドとアクションを使用して配置するには、タップしてください

パート 2-サウンドオクルージョンPart 2 - Sound Occlusion

主要概念Key Concepts

  • ライトのようなサウンドは、occluded にすることができます。Sound, like light, can be occluded.

従来の例としては、コンサートホールがあります。A classic example is a concert hall. リスナーがホールの外部にあり、ドアが閉じている場合、音楽サウンドは muffled ます。When a listener is standing outside of the hall and the door is closed, the music sounds muffled. また、通常はボリュームが減少しています。There is also typically a reduction in volume. ドアを開くと、実際のボリュームでサウンドの全範囲が聞こえます。When the door is opened, the full spectrum of the sound is heard at the actual volume. 高頻度のサウンドは、一般に低周波数よりも多く吸収されます。High frequency sounds are generally absorbed more than low frequencies.

手順Instructions

  • [階層] パネルで、[ HologramCollection ] を展開し、[ P0LY] を選択します。In the Hierarchy panel, expand HologramCollection and select P0LY.
  • [インスペクター ] パネルで、[コンポーネントの追加] をクリックし、オーディオエミッタを追加します。In the Inspector panel, click Add Component and add Audio Emitter.

オーディオエミッタクラスは、次の機能を提供します。The Audio Emitter class provides the following features:

  • Audiosourceのボリュームに対するすべての変更を復元します。Restores any changes to the volume of the AudioSource.
  • AudioEmitterがアタッチされている、ユーザーの位置から、 RaycastNonAllocを実行します。Performs a Physics.RaycastNonAlloc from the user's position in the direction of the GameObject to which the AudioEmitter is attached.

RaycastNonAlloc メソッドは、割り当てと返される結果の数を制限するために、パフォーマンスの最適化として使用されます。The RaycastNonAlloc method is used as a performance optimization to limit allocations as well as the number of results returned.

  • 検出された各Iaudioinfluencerついて、はapplyeffectメソッドを呼び出します。For each IAudioInfluencer encountered, calls the ApplyEffect method.
  • 以前に発生したすべてのIaudioinfluencerついて、 removeeffectメソッドを呼び出します。For each previous IAudioInfluencer that is no longer encountered, call the RemoveEffect method.

AudioEmitter は、フレームごとではなく、人間の時間単位で更新されることに注意してください。Note that AudioEmitter updates on human time scales, as opposed to on a per frame basis. この処理が行われるのは、一般に、影響をより頻繁に更新する必要があるほど高速ではないためです。This is done because humans generally do not move fast enough for the effect to need to be updated more frequently than every quarter or half of a second. ある場所から別の場所に急速にテレポートするホログラムは、錯覚を壊す可能性があります。Holograms that teleport rapidly from one location to another can break the illusion.

  • [階層] パネルで、[ HologramCollection] を展開します。In the Hierarchy panel, expand HologramCollection.
  • EnergyHubを展開し、[ bloboutside] を選択します。Expand EnergyHub and select BlobOutside.
  • [インスペクター ] パネルで、[コンポーネントの追加] をクリックし、 Audio Occluderを追加します。In the Inspector panel, click Add Component and add Audio Occluder.
  • Audio Occluderで、[カットオフの頻度] を1500に設定します。In Audio Occluder, set Cutoff Frequency to 1500.

この設定により、AudioSource の周波数が 1500 Hz 以下に制限されます。This setting limits the AudioSource frequencies to 1500 Hz and below.

  • ボリュームパススルー0.9に設定します。Set Volume Pass Through to 0.9.

この設定により、AudioSource の音量が現在のレベルの 90% に減少します。This setting reduces the volume of the AudioSource to 90% of it's current level.

Audio Occluder は、次のように IAudioInfluencer 有力企業を実装します。Audio Occluder implements IAudioInfluencer to:

  • Audiosource に接続されている Audiolowpass Filter を使用して、遮蔽効果を適用します。このフィルターは、 AudioEmitterを購入します。Apply an occlusion effect using an AudioLowPassFilter which gets attached to the AudioSource managed buy the AudioEmitter.
  • オーディオソースにボリュームの減衰を適用します。Applies volume attenuation to the AudioSource.
  • ニュートラルカットオフ周波数を設定し、フィルターを無効にすることで、効果を無効にします。Disables the effect by setting a neutral cutoff frequency and disabling the filter.

ニュートラルとして使用される頻度は 22 kHz (22000 Hz) です。The frequency used as neutral is 22 kHz (22000 Hz). この頻度が選択されたのは、人間の耳によって聞こえる可能性のある最大周波数を超えているためです。これにより、サウンドへのはっきりの影響はありません。This frequency was chosen due to it being above the nominal maximum frequency that can be heard by the human ear, this making no discernable impact to the sound.

  • [階層] パネルで、[ SpatialMapping] を選択します。In the Hierarchy panel, select SpatialMapping.
  • [インスペクター ] パネルで、[コンポーネントの追加] をクリックし、 Audio Occluderを追加します。In the Inspector panel, click Add Component and add Audio Occluder.
  • Audio Occluderで、[カットオフの頻度] を750に設定します。In Audio Occluder, set Cutoff Frequency to 750.

ユーザーとAudioEmitterの間のパスに複数の occluders がある場合、最も低い頻度がフィルターに適用されます。When multiple occluders are in the path between the user and the AudioEmitter, the lowest frequency is applied to the filter.

  • ボリュームパススルー0.75に設定します。Set Volume Pass Through to 0.75.

ユーザーとAudioEmitterの間のパスに複数の occluders がある場合、ボリュームパススルーが加算に適用されます。When multiple occluders are in the path between the user and the AudioEmitter, the volume pass through is applied additively.

  • [階層] パネルで、[マネージャー] を選択します。In the Hierarchy panel, select Managers.
  • [インスペクター ] パネルで、[音声入力ハンドラ] を展開します。In the Inspector panel, expand Speech Input Handler.
  • 音声入力ハンドラーで、 [充電] を展開します。In Speech Input Handler, expand Go Charge.
  • 関数PolyActionsに変更します。Change No Function to PolyActions.GoCharge.

キーワード課金

  • 展開ます。Expand Come Here.
  • 関数を PolyActions に変更します。カムバックです。Change No Function to PolyActions.ComeBack.

キーワードこちらへ来てください

ビルドと配置Build and Deploy

  • 前と同様に、Unity でプロジェクトをビルドし、Visual Studio に配置します。As before, build the project in Unity and deploy in Visual Studio.

アプリケーションが展開された後:After the application is deployed:

  • 「充電」 と入力して、P0LY にエネルギーハブを入力します。Say "Go Charge" to have P0LY enter the Energy Hub.

サウンドの変更点に注意してください。Note the change in the sound. Muffled と少し静かに聞こえます。It should sound muffled and a little quieter. 自分とエネルギーハブの間に壁やその他のオブジェクトを配置できる場合は、現実の世界によって遮蔽されているため、さらに消音の音が発生します。If you are able to position yourself with a wall or other object between you and the Energy Hub, you should notice a further muffling of the sound due to the occlusion by the real world.

  • 「ここに移動」と言うと、P0LY を使用してエネルギーハブを離れ、その前に配置します。Say "Come Here" to have P0LY leave the Energy Hub and position itself in front of you.

P0LY がエネルギーハブを終了すると、サウンドオクルージョンが削除されることに注意してください。Note that the sound occlusion is removed once P0LY exits the Energy Hub. 引き続き P0LY が聞こえる場合は、現実世界によって occluded されている可能性があります。If you are still hearing occlusion, P0LY may be occluded by the real world. P0LY を明確に理解できるように、移動してみてください。Try moving to ensure you have a clear line of sight to P0LY.

パート 3-部屋モデルPart 3 - Room Models

主要概念Key Concepts

  • 領域のサイズは、サウンドのローカライズに寄与する subliminal キューを提供します。The size of the space provides subliminal queues that contribute to sound localization.
  • Room モデルは、Audiosourceごとに設定されます。Room models are set per-AudioSource.
  • MixedRealityToolkit For Unityには、部屋モデルを設定するためのコードが用意されています。The MixedRealityToolkit for Unity provides code for setting the room model.
  • Mixed Reality エクスペリエンスの場合は、実際のワールド空間に最も適した部屋モデルを選択します。For Mixed Reality experiences, select the room model that best fits the real world space.

仮想現実のシナリオを作成する場合は、仮想環境に最も適した部屋モデルを選択します。If you are creating a Virtual Reality scenario, select the room model that best fits the virtual environment.

第4章-サウンドのデザインChapter 4 - Sound Design

目的Objectives

  • 効果的なサウンドデザインの考慮事項を理解します。Understand considerations for effective sound design.
  • さまざまな手法とガイドラインについて説明します。Learn mixing techniques and guidelines.

パート 1-サウンドとエクスペリエンスの設計Part 1 - Sound and Experience Design

このセクションでは、主要なサウンドとエクスペリエンスの設計に関する考慮事項とガイドラインについて説明します。This section discusses key sound and experience design considerations and guidelines.

すべてのサウンドを正規化するNormalize all sounds

これにより、サウンドごとにボリュームレベルを調整する特殊なケースコードが不要になるため、サウンドファイルを簡単に更新できるようになります。This avoids the need for special case code to adjust volume levels per sound, which can be time consuming and limits the ability to easily update sound files.

ならではエクスペリエンスの設計Design for an untethered experience

HoloLens は、完全に包含されたならでは holographic コンピューターです。HoloLens is a fully contained, untethered holographic computer. ユーザーは移動中にエクスペリエンスを使用できます。Your users can and will use your experiences while moving. オーディオミックスをテストしてください。Be sure to test your audio mix by walking around.

ホログラムの論理位置からサウンドを生成しますEmit sound from logical locations on your holograms

現実の世界では、犬は尾からほえていません。人間の声は彼の足から来ていません。In the real world, a dog does not bark from its tail and a human's voice does not come from his/her feet. ホログラムの予期しない部分からサウンドを生成しないようにします。Avoid having your sounds emit from unexpected portions of your holograms.

小さいホログラムの場合は、ジオメトリの中心からサウンドを出力するのが妥当です。For small holograms, it is reasonable to have sound emit from the center of the geometry.

使い慣れたサウンドが最もローカライズ可能Familiar sounds are most localizable

人間の声と音楽は、非常に簡単にローカライズできます。The human voice and music are very easy to localize. だれかがあなたの名前を呼び出すと、声が出た方向と、それまでの距離から、正確に判断できます。If someone calls your name, you are able to very accurately determine from what direction the voice came and from how far away. あまり知られていないサウンドをローカライズするのは困難です。Short, unfamiliar sounds are harder to localize.

ユーザーの期待に cognizantBe cognizant of user expectations

人生 experience は、サウンドの場所を特定する機能の一部を果たします。Life experience plays a part in our ability to identify the location of a sound. これは、人間の声が特に簡単にローカライズできる理由の1つです。This is one reason why the human voice is particularly easy to localize. サウンドを配置する際には、ユーザーが学習した期待を把握しておくことが重要です。It is important to be aware of your user's learned expectations when placing your sounds.

たとえば、他のユーザーが鳥の曲を聞いたときには、通常、鳥が見やすくなる傾向があります (飛行中またはツリー内)。For example, when someone hears a bird song they generally look up, as birds tend to be above the line of sight (flying or in a tree). ユーザーは、サウンドの正しい方向を変えることは珍しくありませんが、間違った垂直方向では、ホログラムが見つからないときに混乱や不満を感じます。It is not uncommon for a user to turn in the correct direction of a sound, but look in the wrong vertical direction and become confused or frustrated when they are unable to find the hologram.

非表示の発信器を回避するAvoid hidden emitters

現実には、サウンドを聞くと、通常、サウンドを発しているオブジェクトを特定できます。In the real world, if we hear a sound, we can generally identify the object that is emitting the sound. また、エクスペリエンスにも当てはまります。This should also hold true in your experiences. ユーザーがサウンドを聞いたときに、音が聞こえ、オブジェクトを表示できないことを混乱ことがあります。It can be very disconcerting for users to hear a sound, know from where the sound originates and be unable to see an object.

このガイドラインにはいくつかの例外があります。There are some exceptions to this guideline. たとえば、フィールドの crickets などのアンビエントサウンドが表示されないようにする必要があります。For example, ambient sounds such as crickets in a field need not be visible. 生命経験により、これらのサウンドのソースについての知識を得ることができます。Life experience gives us familiarity with the source of these sounds without the need to see it.

パート 2-サウンドの混合Part 2 - Sound Mixing

HoloLens で 70% のボリュームをターゲットにするTarget your mix for 70% volume on the HoloLens

Mixed Reality エクスペリエンスでは、ホログラムを現実世界で見ることができます。Mixed Reality experiences allow holograms to be seen in the real world. また、現実世界のサウンドを聞くこともできます。They should also allow real world sounds to be heard. 70% のボリュームターゲットを使用すると、ユーザーは自分の体験を楽しむことができます。A 70% volume target enables the user to hear the world around them along with the sound of your experience.

100% ボリュームの HoloLens は外部サウンドを drown 必要がありますHoloLens at 100% volume should drown out external sounds

ボリュームレベル 100% は、仮想現実のエクスペリエンスに似ています。A volume level of 100% is akin to a Virtual Reality experience. 視覚的には、ユーザーは別の世界に転送されます。Visually, the user is transported to a different world. 同じものが true 音声でを保持している必要があります。The same should hold true audibly.

Unity AudioMixer を使用して、サウンドのカテゴリを調整するUse the Unity AudioMixer to adjust categories of sounds

ミックスを設計する場合、サウンドカテゴリを作成し、ボリュームを1つの単位として増減できることがよくあります。When designing your mix, it is often helpful to create sound categories and have the ability to increase or decrease their volume as a unit. これにより、各サウンドの相対レベルが維持され、全体的なミックスをすばやく簡単に変更できるようになります。This retains the relative levels of each sound while enabling quick and easy changes to the overall mix. 一般的なカテゴリは次のとおりです。サウンド効果、アンビエント、ボイスオーバー、およびバックグラウンドミュージック。Common categories include; sound effects, ambience, voice overs and background music.

ユーザーの宝石に基づいてサウンドをミキシングするMix sounds based on the user's gaze

多くの場合、ユーザーが見ている (またはそうでない) 場所に基づいて、エクスペリエンスのサウンドミックスを変更すると便利な場合があります。It can often be useful to change the sound mix in your experience based on where a user is (or is not) looking. この手法の一般的な用途の1つは、Holographic フレームの外側にあるホログラムのボリュームレベルを下げることです。これにより、ユーザーは前の情報に簡単に集中することができます。One common use for this technique are to reduce the volume level for holograms that are outside of the Holographic Frame to make it easier for the user to focus on the information in front of them. もう1つの用途は、ユーザーが重要なイベントに注意を向けるために、サウンドの音量を上げることです。Another use is to increase the volume of a sound to draw the user's attention to an important event.

ミックスの構築Building your mix

ミックスを構築するときは、エクスペリエンスのバックグラウンドオーディオから始め、重要度に基づいてレイヤーを追加することをお勧めします。When building your mix, it is recommended to start with your experience's background audio and add layers based on importance. 多くの場合、これにより、各レイヤーは前のレイヤーよりも大きくなります。Often, this results in each layer being louder than the previous.

ミックスを反転したじょうごとして練りし、一番下に最も重要ではない (一般的に quietest の) サウンドを使用して、次の図のようなミックスを構築することをお勧めします。Imagining your mix as an inverted funnel, with the least important (and generally quietest sounds) at the bottom, it is recommended to structure your mix similar to the following diagram.

サウンドミックスの構造

ボイスオーバーは興味深いシナリオです。Voice overs are an interesting scenario. 作成中のエクスペリエンスに基づいて、ステレオ (ローカライズされていない) サウンドを使用するか、またはボイスオーバーを spatialize することができます。Based on the experience you are creating you may wish to have a stereo (not localized) sound or to spatialize your voice overs. Microsoft が発行した2つのエクスペリエンスは、各シナリオの優れた例を示しています。Two Microsoft published experiences illustrate excellent examples of each scenario.

HoloTourは、ステレオ音声を使用します。HoloTour uses a stereo voice over. ナレーターが表示されている場所を記述する場合、サウンドは一貫しており、ユーザーの位置によって異なります。When the narrator is describing the location being viewed, the sound is consistent and does not vary based on the user's position. これにより、ナレーターは環境の spatialized 音から離れることなくシーンを記述できます。This enables the narrator to describe the scene without taking away from the spatialized sounds of the environment.

フラグメントは、検出の形式で spatialized ボイスオーバーを利用します。Fragments utilizes a spatialized voice over in the form of a detective. 検出の声は、実際の人間が部屋にいたかのように、ユーザーが重要な手掛かりに注意を向けるために使用されます。The detective's voice is used to help bring the user's attention to an important clue as if an actual human was in the room. これにより、謎を immersion ことができます。This enables an even greater sense of immersion into the experience of solving the mystery.

パート 3-パフォーマンスPart 3 -Performance

CPU 使用率CPU usage

空間サウンドを使用する場合、10-12 発信器は CPU の約 12% を消費します。When using Spatial Sound, 10 - 12 emitters will consume approximately 12% of the CPU.

長いオーディオファイルをストリーミングするStream long audio files

オーディオデータは、特に一般的なサンプルレート (44.1 と 48 kHz) で大きくなることがあります。Audio data can be large, especially at common sample rates (44.1 and 48 kHz). 一般的なルールとして、5-10 秒を超えるオーディオファイルは、アプリケーションのメモリ使用量を減らすためにストリーミングする必要があります。A general rule is that audio files longer than 5 - 10 seconds should be streamed to reduce application memory usage.

Unity では、ファイルのインポート設定でストリーミング用にオーディオファイルをマークできます。In Unity, you can mark an audio file for streaming in the file's import settings.

オーディオのインポート設定

Chapter 5-特殊効果Chapter 5 - Special Effects

目的Objectives

  • "マジックウィンドウ" に奥行を追加します。Add depth to "Magic Windows".
  • ユーザーを仮想環境に移します。Bring the user into the virtual world.

マジックウィンドウMagic Windows

主要概念Key Concepts

  • 非表示の世界にビューを作成することは、視覚的に説得力のあるものです。Creating views into a hidden world, is visually compelling.
  • ホログラムやユーザーが非表示の世界に近づいたときにオーディオ効果を追加して、リアリティを高めます。Enhance realism by adding audio effects when a hologram or the user is near the hidden world.

手順Instructions

  • [階層] パネルで、[ HologramCollection ] を展開し、[黄泉] を選択します。In the Hierarchy panel, expand HologramCollection and select Underworld.
  • [黄泉] を展開し、[ VoiceSource] を選択します。Expand Underworld and select VoiceSource.
  • [インスペクター ] パネルで、[コンポーネントの追加] をクリックし、ユーザーの音声効果を追加します。In the Inspector panel, click Add Component and add User Voice Effect.

AudiosourceコンポーネントがVoiceSourceに追加されます。An AudioSource component will be added to VoiceSource.

  • Audiosourceで、[出力] をUserVoice (ミキサー) に設定します。In AudioSource, set Output to UserVoice (Mixer).
  • Spatializeチェックボックスをオンにします。Check the Spatialize checkbox.
  • [空間 Blend ] スライダーを3dにドラッグするか、編集ボックスに「 1 」と入力します。Drag the Spatial Blend slider all the way to 3D, or enter 1 in the edit box.
  • 3D サウンド設定を展開します。Expand 3D Sound Settings.
  • ドップラーレベル0に設定します。Set Doppler Level to 0.
  • [ユーザーの声の効果] で、[親オブジェクト] をシーンから黄泉に設定します。In User Voice Effect, set Parent Object to the Underworld from the scene.
  • Max Distance1に設定します。Set Max Distance to 1.

[最大距離の設定] を使用すると、ユーザーの音声効果は、ユーザーが親オブジェクトに対して、効果を有効にする前にどのように閉じる必要があるかを示します。Setting Max Distance tells User Voice Effect how close the user must be to the parent object before the effect is enabled.

  • [ユーザーの音声効果] で、[コーラスパラメーター] を展開します。In User Voice Effect, expand Chorus Parameters.
  • 深さ0.1に設定します。Set Depth to 0.1.
  • タップ1ボリュームを設定し、 2 つのボリュームをタップして、 3 つのボリューム0.8にタップします。Set Tap 1 Volume, Tap 2 Volume and Tap 3 Volume to 0.8.
  • 元のサウンドボリューム0.5に設定します。Set Original Sound Volume to 0.5.

前の設定では、ユーザーの声に豊富な部分を追加するために使用される Unity AudioChorusFilterのパラメーターを構成しています。The previous settings configure the parameters of the Unity AudioChorusFilter used to add richness to the user's voice.

  • [ユーザーの音声効果] で、[エコーパラメーター] を展開します。In User Voice Effect, expand Echo Parameters.
  • Delay300に設定します。Set Delay to 300
  • 減衰率0.2に設定します。Set Decay Ratio to 0.2.
  • 元のサウンドボリューム0に設定します。Set Original Sound Volume to 0.

前の設定では、ユーザーの音声をエコーするために使用する Unity AudioEchoFilterのパラメーターを構成しています。The previous settings configure the parameters of the Unity AudioEchoFilter used to cause the user's voice to echo.

ユーザーの声効果スクリプトは、次のことを担当します。The User Voice Effect script is responsible for:

  • ユーザーと、スクリプトがアタッチされているユーザーオブジェクトとの距離を測定します。Measuring the distance between the user and the GameObject to which the script is attached.
  • ユーザーが接続オブジェクトを接続しているかどうかを判断します。Determining whether or not the user is facing the GameObject.

ユーザーは、効果を有効にするために、距離に関係なく、接続オブジェクトに接続する必要があります。The user must be facing the GameObject, regardless of distance, for the effect to be enabled.

  • AudioChorusFilterAudioEchoFilteraudiosourceに適用して構成します。Applying and configuring an AudioChorusFilter and an AudioEchoFilter to the AudioSource.
  • フィルターを無効にして効果を無効にする。Disabling the effect by disabling the filters.

ユーザーの音声効果では、 MixedRealityToolkit For Unityの Mic ストリームセレクターコンポーネントを使用して、高品質の音声ストリームを選択し、unity のオーディオシステムにルーティングします。User Voice Effect uses the Mic Stream Selector component, from the MixedRealityToolkit for Unity, to select the high quality voice stream and route it into Unity's audio system.

  • [階層] パネルで、[マネージャー] を選択します。In the Hierarchy panel, select Managers.
  • [インスペクター ] パネルで、[音声入力ハンドラ] を展開します。In the Inspector panel, expand Speech Input Handler.
  • 音声入力ハンドラーで、[黄泉を表示する] を展開します。In Speech Input Handler, expand Show Underworld.
  • 関数UnderworldBaseに変更します。Change No Function to UnderworldBase.OnEnable.

キーワード黄泉のショー

  • [黄泉の非表示] を展開します。Expand Hide Underworld.
  • 関数UnderworldBaseに変更します。Change No Function to UnderworldBase.OnDisable.

キーワード黄泉の非表示

ビルドと配置Build and Deploy

  • 前と同様に、Unity でプロジェクトをビルドし、Visual Studio に配置します。As before, build the project in Unity and deploy in Visual Studio.

アプリケーションが展開された後:After the application is deployed:

  • 表面 (壁面、床、テーブル) に顔を置いて、"黄泉の顔を表示する" と言います。Face a surface (wall, floor, table) and say "Show Underworld".

黄泉のものが表示され、他のすべてのホログラムは非表示になります。The underworld will be shown and all other holograms will be hidden. 黄泉の場所にいない場合は、実際の画面に接続していることを確認します。If you do not see the underworld, ensure that you are facing a real-world surface.

  • 黄泉のホログラムの1メートル以内にアプローチし、話し始めます。Approach within 1 meter of the underworld hologram and start talking.

音声にオーディオ効果が適用されました。There are now audio effects applied to your voice!

  • 黄泉の場所から離れると、効果がどのように適用されるかがわかります。Turn away from the underworld and notice how the effect is no longer applied.
  • "黄泉の非表示" を " 黄泉の人に隠す" と言います。Say "Hide Underworld" to hide the underworld.

黄泉の場合は非表示になり、以前に非表示になったホログラムは再び表示されます。The underworld will be hidden and the previously hidden holograms will reappear.

最後ですThe End

おめでとうございます!Congratulations! これで MR 空間220 が完成しました。空間サウンドYou have now completed MR Spatial 220: Spatial sound.

世界を聞いて、ご意見をお待ちしております。Listen to the world and bring your experiences to life with sound!