Réalité mixte - Fonctionnalités spatiales - Cours 220 : Son spatialMR Spatial 220: Spatial sound

Notes

Les tutoriels Mixed Reality Academy ont été conçus pour les appareils HoloLens (1re génération) et les casques immersifs de réalité mixte.The Mixed Reality Academy tutorials were designed with HoloLens (1st gen) and Mixed Reality Immersive Headsets in mind. Nous estimons qu’il est important de laisser ces tutoriels à la disposition des développeurs qui recherchent encore des conseils pour développer des applications sur ces appareils.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. Notez que ces tutoriels ne sont pas mis à jour avec les derniers ensembles d’outils ou interactions utilisés pour HoloLens 2.These tutorials will not be updated with the latest toolsets or interactions being used for HoloLens 2. Ils sont fournis dans le but de fonctionner sur les appareils pris en charge.They will be maintained to continue working on the supported devices. Une nouvelle série de tutoriels a été publiée pour HoloLens 2.A new series of tutorials has been posted for HoloLens 2.

Le son spatial passe par des hologrammes et leur donne la présence dans notre monde.Spatial sound breathes life into holograms and gives them presence in our world. Les hologrammes sont composés de la lumière et du son, et si vous perdez la vision de vos hologrammes, le son spatial peut vous aider à les trouver.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. Le son spatial n’est pas comme le son classique que vous entendez sur la radio, il s’agit d’un son positionné dans l’espace 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. Avec un son spatial, vous pouvez faire en sorte que les hologrammes s’affichent derrière vous, en regard de vous ou même en tête.With spatial sound, you can make holograms sound like they're behind you, next to you, or even on your head! Dans ce cours, vous allez :In this course, you will:

  • Configurez votre environnement de développement pour utiliser le son spatial Microsoft.Configure your development environment to use Microsoft Spatial Sound.
  • Utilisez le son spatial pour améliorer les interactions.Use Spatial Sound to enhance interactions.
  • Utilisez le son spatial conjointement avec le mappage spatial.Use Spatial Sound in conjunction with Spatial Mapping.
  • Comprendre la conception et la combinaison des meilleures pratiques.Understand sound design and mixing best practices.
  • Utilisez le son pour améliorer les effets spéciaux et amener l’utilisateur dans le monde de la réalité mixte.Use sound to enhance special effects and bring the user into the Mixed Reality world.

Prise en charge des appareilsDevice support

CoursCourse HoloLensHoloLens Casques immersifsImmersive headsets
Réalité mixte - Fonctionnalités spatiales - Cours 220 : Son spatialMR Spatial 220: Spatial sound ✔️✔️ ✔️✔️

Avant de commencerBefore you start

PrérequisPrerequisites

Fichiers projetProject files

  • Téléchargez les fichiers requis par le projet.Download the files required by the project. Requiert Unity 2017,2 ou une version ultérieure.Requires Unity 2017.2 or later.
    • Si vous avez encore besoin de la prise en charge d’Unity 5,6, utilisez cette version.If you still need Unity 5.6 support, please use this release. Cette version n’est peut-être plus à jour.This release may no longer be up-to-date.
    • Si vous avez encore besoin de la prise en charge d’Unity 5,5, utilisez cette version.If you still need Unity 5.5 support, please use this release. Cette version n’est peut-être plus à jour.This release may no longer be up-to-date.
    • Si vous avez encore besoin de la prise en charge d’Unity 5,4, utilisez cette version.If you still need Unity 5.4 support, please use this release. Cette version n’est peut-être plus à jour.This release may no longer be up-to-date.
  • Désarchivez les fichiers sur votre bureau ou un autre emplacement facile à atteindre.Un-archive the files to your desktop or other easy to reach location.

Notes

Si vous souhaitez examiner le code source avant le téléchargement, il est disponible sur GitHub.If you want to look through the source code before downloading, it's available on GitHub.

Errata et notesErrata and Notes

  • L’option « Activer Uniquement mon code » doit être désactivée (décochée) dans Visual Studio sous outils->Options->le débogage pour atteindre les points d’arrêt dans votre code."Enable Just My Code" needs to be disabled (unchecked) in Visual Studio under Tools->Options->Debugging in order to hit breakpoints in your code.

Chapitre 1-Configuration UnityChapter 1 - Unity Setup

ObjectifsObjectives

  • Modifiez la configuration du son de l’unité pour utiliser un son spatial Microsoft.Change Unity's sound configuration to use Microsoft Spatial Sound.
  • Ajoutez du son 3D à un objet dans Unity.Add 3D sound to an object in Unity.

InstructionsInstructions

  • Démarrez Unity.Start Unity.
  • Sélectionnez Ouvrir.Select Open.
  • Accédez à votre bureau et recherchez le dossier que vous avez précédemment désinstallé.Navigate to your Desktop and find the folder you previously un-archived.
  • Cliquez sur le dossier Starting\Decibel , puis appuyez sur le bouton Sélectionner un dossier .Click on the Starting\Decibel folder and then press the Select Folder button.
  • Attendez que le projet se charge dans Unity.Wait for the project to load in Unity.
  • Dans le panneau projet , ouvrez Scenes\Decibel.Unity.In the Project panel, open Scenes\Decibel.unity.
  • Dans le volet hiérarchie , développez HologramCollection , puis sélectionnez P0LY.In the Hierarchy panel, expand HologramCollection and select P0LY.
  • Dans l’inspecteur, développez audiosource et Notez qu’il n’y a pas de case à cocher spatialiser .In the Inspector, expand AudioSource and notice that there is no Spatialize check box.

Par défaut, Unity ne charge pas de plug-in Spatializer.By default, Unity does not load a spatializer plugin. Les étapes suivantes permettent d’activer le son spatial dans le projet.The following steps will enable Spatial Sound in the project.

  • Dans le menu supérieur de Unity, accédez à modifier > paramètres du projet > audio.In Unity's top menu, go to Edit > Project Settings > Audio.
  • Recherchez la liste déroulante du plug-in Spatializer , puis sélectionnez MS HRTF Spatializer.Find the Spatializer Plugin dropdown, and select MS HRTF Spatializer.
  • Dans le volet hiérarchie , sélectionnez HologramCollection > P0LY.In the Hierarchy panel, select HologramCollection > P0LY.
  • Dans le panneau inspecteur , recherchez le composant audio source .In the Inspector panel, find the Audio Source component.
  • Cochez la case spatialiser .Check the Spatialize checkbox.
  • Faites glisser le curseur de lissage spatial jusqu’à la forme 3D, ou entrez 1 dans la zone d’édition.Drag the Spatial Blend slider all the way to 3D, or enter 1 in the edit box.

Nous allons maintenant générer le projet dans Unity et configurer la solution dans Visual Studio.We will now build the project in Unity and configure the solution in Visual Studio.

  1. Dans Unity, sélectionnez fichier > paramètres de build.In Unity, select File > Build Settings.
  2. Cliquez sur Ajouter des scènes ouvertes pour ajouter la scène.Click Add Open Scenes to add the scene.
  3. Sélectionnez plateforme Windows universelle dans la liste plateforme , puis cliquez sur basculer la plateforme.Select Universal Windows Platform in the Platform list and click Switch Platform.
  4. Si vous développez spécifiquement pour HoloLens, définissez appareil cible sur hololens.If you're specifically developing for HoloLens, set Target device to HoloLens. Dans le cas contraire, laissez-le sur un appareil.Otherwise, leave it on Any device.
  5. Vérifiez que le type de build est défini sur D3D et que le Kit de développement logiciel (SDK ) est défini sur le dernier installé (qui doit être le SDK 16299 ou une version ultérieure).Ensure Build Type is set to D3D and SDK is set to Latest installed (which should be SDK 16299 or newer).
  6. Cliquez sur Générer.Click Build.
  7. Créez un dossier nommé « App ».Create a New Folder named "App".
  8. Cliquez sur le dossier de l' application .Single click the App folder.
  9. Appuyez sur Sélectionner un dossier.Press Select Folder.

Lorsque Unity est terminé, une fenêtre de l’Explorateur de fichiers s’affiche.When Unity is done, a File Explorer window will appear.

  1. Ouvrez le dossier de l' application .Open the App folder.
  2. Ouvrez la solution Visual Studio décibels.Open the Decibel Visual Studio Solution.

En cas de déploiement dans HoloLens :If deploying to HoloLens:

  1. À l’aide de la barre d’outils supérieure dans Visual Studio, remplacez la cible Debug par Release et de ARM par x86.Using the top toolbar in Visual Studio, change the target from Debug to Release and from ARM to x86.
  2. Cliquez sur la flèche déroulante en regard du bouton ordinateur local, puis sélectionnez ordinateur distant.Click on the drop down arrow next to the Local Machine button, and select Remote Machine.
  3. Entrez l’adresse IP de votre appareil HoloLens et définissez le mode d’authentification sur universel (protocole non chiffré).Enter your HoloLens device IP address and set Authentication Mode to Universal (Unencrypted Protocol). Cliquez sur Sélectionner.Click Select. Si vous ne connaissez pas l’adresse IP de votre appareil, accédez à paramètres > réseau & Internet > options avancées.If you do not know your device IP address, look in Settings > Network & Internet > Advanced Options.
  4. Dans la barre de menus supérieure, cliquez sur Déboguer-> exécuter sans débogage ou appuyez sur CTRL + F5.In the top menu bar, click Debug -> Start Without debugging or press Ctrl + F5. S’il s’agit de la première fois que vous déployez sur votre appareil, vous devrez le coupler à Visual Studio.If this is the first time deploying to your device, you will need to pair it with Visual Studio.

En cas de déploiement sur un casque immersif :If deploying to an immersive headset:

  1. À l’aide de la barre d’outils supérieure dans Visual Studio, remplacez la cible Debug par Release et de ARM par x64.Using the top toolbar in Visual Studio, change the target from Debug to Release and from ARM to x64.
  2. Assurez-vous que la cible de déploiement est définie sur ordinateur local.Make sure the deployment target is set to Local Machine.
  3. Dans la barre de menus supérieure, cliquez sur Déboguer-> exécuter sans débogage ou appuyez sur CTRL + F5.In the top menu bar, click Debug -> Start Without debugging or press Ctrl + F5.

Chapitre 2-sons spatiaux et interactionChapter 2 - Spatial Sound and Interaction

ObjectifsObjectives

  • Améliorez le réalisme des hologrammes à l’aide du son.Enhance hologram realism using sound.
  • Dirigez le point de regard de l’utilisateur à l’aide du son.Direct the user's gaze using sound.
  • Fournir des commentaires de mouvement en utilisant le son.Provide gesture feedback using sound.

Partie 1-amélioration du réalismePart 1 - Enhancing Realism

Concepts clésKey Concepts

  • Spatialer les sons hologrammes.Spatialize hologram sounds.
  • Les sources audio doivent être placées à un emplacement approprié sur l’hologramme.Sound sources should be placed at an appropriate location on the hologram.

L’emplacement approprié pour le son va dépendre de l’hologramme.The appropriate location for the sound is going to depend on the hologram. Par exemple, si l’hologramme est un homme, la source du son doit être située près de la bouche et non pas des pieds.For example, if the hologram is of a human, the sound source should be located near the mouth and not the feet.

InstructionsInstructions

Les instructions suivantes attachent un son spatial à un hologramme.The following instructions will attach a spatialized sound to a hologram.

  • Dans le volet hiérarchie , développez HologramCollection , puis sélectionnez P0LY.In the Hierarchy panel, expand HologramCollection and select P0LY.
  • Dans le volet de l' inspecteur , dans le audiosource, cliquez sur le cercle en regard de Audioclip et sélectionnez polypointer dans la fenêtre contextuelle.In the Inspector panel, in the AudioSource, click the circle next to AudioClip and select PolyHover from the pop-up.
  • Cliquez sur le cercle en regard de sortie et sélectionnez SoundEffects dans la fenêtre contextuelle.Click the circle next to Output and select SoundEffects from the pop-up.

Project décibel utilise un composant Unity audiomixer pour permettre l’ajustement des niveaux sonores pour les groupes de sons.Project Decibel uses a Unity AudioMixer component to enable adjusting sound levels for groups of sounds. En regroupant les sons de cette manière, le volume global peut être ajusté tout en conservant le volume relatif de chaque son.By grouping sounds this way, the overall volume can be adjusted while maintaining the relative volume of each sound.

  • Dans le audiosource, développez paramètres audio 3D.In the AudioSource, expand 3D Sound Settings.
  • Affectez au niveau Doppler la valeur 0.Set Doppler Level to 0.

Le fait de définir le niveau Doppler sur zéro désactive les modifications du pas en raison du mouvement (de l’hologramme ou de l’utilisateur).Setting Doppler level to zero disables changes in pitch caused by motion (either of the hologram or the user). Un exemple classique de Doppler est un véhicule à déplacement rapide.A classic example of Doppler is a fast-moving car. À mesure que la voiture approche un écouteur stationnaire, la hauteur du moteur augmente.As the car approaches a stationary listener, the pitch of the engine rises. Lorsqu’il passe l’écouteur, le pas à pas est inférieur à la distance.When it passes the listener, the pitch lowers with distance.

Partie 2 : diriger le regard de l’utilisateurPart 2 - Directing the User's Gaze

Concepts clésKey Concepts

  • Utilisez le son pour attirer l’attention sur des hologrammes importants.Use sound to call attention to important holograms.
  • Les oreilles vous aident directement là où les yeux doivent ressembler.The ears help direct where the eyes should look.
  • Le cerveau a des attentes apprises.The brain has some learned expectations.

Un exemple de l’expérience acquise est que les oiseaux sont généralement au-dessus des têtes des êtres humains.One example of learned expectations is that birds are generally above the heads of humans. Si un utilisateur entend un son oiseau, sa réaction initiale est de rechercher.If a user hears a bird sound, their initial reaction is to look up. Le fait de placer un oiseau au-dessous de l’utilisateur peut entraîner une direction correcte du son, mais ne parvient pas à trouver l’hologramme en raison de la nécessité d’effectuer des recherches.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.

InstructionsInstructions

Les instructions suivantes permettent à P0LY de se masquer derrière vous, afin que vous puissiez utiliser le son pour localiser l’hologramme.The following instructions enable P0LY to hide behind you, so that you can use sound to locate the hologram.

  • Dans le volet hiérarchie , sélectionnez gestionnaires.In the Hierarchy panel, select Managers.
  • Dans le panneau inspecteur , recherchez Gestionnaire d’entrée vocale.In the Inspector panel, find Speech Input Handler.
  • Dans le Gestionnaire d’entrée vocal, développez Go Hide.In Speech Input Handler, expand Go Hide.
  • Ne modifiez aucune fonction en polyactions. GoHide.Change No Function to PolyActions.GoHide.

Mot clé : go Hide

Partie 3 : commentaires sur les mouvementsPart 3 - Gesture Feedback

Concepts clésKey Concepts

  • Fournir à l’utilisateur une confirmation de mouvement positive à l’aide du sonProvide the user with positive gesture confirmation using sound
  • N’encombrez pas les sons trop bruyants de l’utilisateurDo not overwhelm the user - overly loud sounds get in the way
  • Les sons subtils fonctionnent mieux : ne assombrissent pas l’expérienceSubtle sounds work best - do not overshadow the experience

InstructionsInstructions

  • Dans le volet hiérarchie , développez HologramCollection.In the Hierarchy panel, expand HologramCollection.
  • Développez EnergyHub et sélectionnez base.Expand EnergyHub and select Base.
  • Dans le panneau inspecteur , cliquez sur Ajouter un composant et ajouter un gestionnaire de sons de geste.In the Inspector panel, click Add Component and add Gesture Sound Handler.
  • Dans Gestionnaire de sons de geste, cliquez sur le cercle en regard de l' élément de navigation démarré et de la navigation mise à jour , puis sélectionnez RotateClick dans la fenêtre contextuelle pour les deux.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.
  • Double-cliquez sur « GestureSoundHandler » pour charger dans Visual Studio.Double click on "GestureSoundHandler" to load in Visual Studio.

Le gestionnaire de son geste effectue les tâches suivantes :Gesture Sound Handler performs the following tasks:

  • Créez et configurez un audiosource.Create and configure an AudioSource.
  • Placez le audiosource à l’emplacement du gameobject approprié.Place the AudioSource at the location of the appropriate GameObject.
  • Lit le Audioclip associé au geste.Plays the AudioClip associated with the gesture.

Génération et déploiementBuild and Deploy

  1. Dans Unity, sélectionnez fichier > paramètres de build.In Unity, select File > Build Settings.
  2. Cliquez sur Générer.Click Build.
  3. Cliquez sur le dossier de l' application .Single click the App folder.
  4. Appuyez sur Sélectionner un dossier.Press Select Folder.

Vérifiez que la barre d’outils indique « version finale », « x86 » ou « x64 », et « périphérique distant ».Check that the Toolbar says "Release", "x86" or "x64", and "Remote Device". Dans le cas contraire, il s’agit de l’instance de codage de Visual Studio.If not, this is the coding instance of Visual Studio. Vous devrez peut-être rouvrir la solution à partir du dossier de l’application.You may need to re-open the solution from the App folder.

  • Si vous y êtes invité, rechargez les fichiers projet.If prompted, reload the project files.
  • Comme précédemment, déployez à partir de Visual Studio.As before, deploy from Visual Studio.

Une fois l’application déployée :After the application is deployed:

  • Observez la façon dont le son change au fur et à mesure que vous vous déplacez autour de P0LY.Observe how the sound changes as you move around P0LY.
  • Dites « Go Hide » pour faire en sorte que P0LY se déplace vers un emplacement derrière vous.Say "Go Hide" to make P0LY move to a location behind you. Recherchez-le par le son.Find it by the sound.
  • Pointez le regard de la base du hub d’énergie.Gaze at the base of the Energy Hub. Appuyez et faites glisser vers la gauche ou vers la droite pour faire pivoter l’hologramme et notez la façon dont le bruit de clic confirme le mouvement.Tap and drag left or right to rotate the hologram and notice how the clicking sound confirms the gesture.

Remarque : il existe un volet de texte qui s’étiquette avec vous.Note: There is a text panel that will tag-along with you. Elle contient les commandes vocales disponibles que vous pouvez utiliser tout au long de ce cours.This will contain the available voice commands that you can use throughout this course.

Chapitre 3-sons spatiaux et mappage spatialChapter 3 - Spatial Sound and Spatial Mapping

ObjectifsObjectives

  • Confirmez l’interaction entre les hologrammes et le monde réel à l’aide du son.Confirm interaction between holograms and the real world using sound.
  • Occultait le son à l’aide du monde physique.Occlude sound using the physical world.

Partie 1-interaction du monde physiquePart 1 - Physical World Interaction

Concepts clésKey Concepts

  • En général, les objets physiques font l’objet d’un bruit lorsqu’ils rencontrent une surface ou un autre objet.Physical objects generally make a sound when encountering a surface or another object.
  • Les sons doivent être contextuels dans l’expérience.Sounds should be context appropriate within the experience.

Par exemple, la définition d’une tasse sur une table doit rendre un son plus calme que la suppression d’un Boulder sur un morceau de métal.For example, setting a cup on a table should make a quieter sound than dropping a boulder on a piece of metal.

InstructionsInstructions

  • Dans le volet hiérarchie , développez HologramCollection.In the Hierarchy panel, expand HologramCollection.
  • Développez EnergyHub, sélectionnez base.Expand EnergyHub, select Base.
  • Dans le panneau inspecteur , cliquez sur Ajouter un composant et ajoutez TAP pour placer le son et l’action.In the Inspector panel, click Add Component and add Tap To Place With Sound and Action.
  • Appuyez pour placer le son et l’action:In Tap To Place With Sound and Action:
    • Cochez Placer le parent sur TAP.Check Place Parent On Tap.
    • Définissez son emplacement sur place.Set Placement Sound to Place.
    • Définissez le son de collecte sur Pick.Set Pickup Sound to Pickup.
    • Appuyez sur le signe + dans le coin inférieur droit, sous à la fois action de collecte et action de placement.Press the + in the bottom right under both On Pickup Action and On Placement Action. Faites glisser EnergyHub à partir de la scène dans les champs aucun (objet) .Drag EnergyHub from the scene into the None (Object) fields.
      • Sous action de cueillette, cliquez sur aucune fonction -> EnergyHubBase -> ResetAnimation.Under On Pickup Action, click on No Function -> EnergyHubBase -> ResetAnimation.
      • Sous action de placement, cliquez sur no Function -> EnergyHubBase -> onselect.Under On Placement Action, click on No Function -> EnergyHubBase -> OnSelect.

Appuyez pour placer le son et l’action

Partie 2-occlusion sonorePart 2 - Sound Occlusion

Concepts clésKey Concepts

  • Un son, comme Light, peut être bloqués.Sound, like light, can be occluded.

Un exemple classique est un hall de concert.A classic example is a concert hall. Lorsqu’un écouteur se trouve en dehors du Hall et que la porte est fermée, la musique est atténuée.When a listener is standing outside of the hall and the door is closed, the music sounds muffled. Il y a également généralement une réduction du volume.There is also typically a reduction in volume. Lorsque la porte est ouverte, le spectre complet du son est audible sur le volume réel.When the door is opened, the full spectrum of the sound is heard at the actual volume. Les sons à fréquence élevée sont généralement absorbés plus que les fréquences basses.High frequency sounds are generally absorbed more than low frequencies.

InstructionsInstructions

  • Dans le volet hiérarchie , développez HologramCollection , puis sélectionnez P0LY.In the Hierarchy panel, expand HologramCollection and select P0LY.
  • Dans le panneau inspecteur , cliquez sur Ajouter un composant et ajouter un émetteur audio.In the Inspector panel, click Add Component and add Audio Emitter.

La classe d’émetteur audio fournit les fonctionnalités suivantes :The Audio Emitter class provides the following features:

  • Restaure toutes les modifications apportées au volume du audiosource.Restores any changes to the volume of the AudioSource.
  • Exécute un physique. RaycastNonAlloc à partir de la position de l’utilisateur dans la direction du gameobject auquel le AudioEmitter est attaché.Performs a Physics.RaycastNonAlloc from the user's position in the direction of the GameObject to which the AudioEmitter is attached.

La méthode RaycastNonAlloc est utilisée comme optimisation des performances pour limiter les allocations, ainsi que le nombre de résultats retournés.The RaycastNonAlloc method is used as a performance optimization to limit allocations as well as the number of results returned.

  • Pour chaque IAudioInfluencer rencontré, appelle la méthode ApplyEffect .For each IAudioInfluencer encountered, calls the ApplyEffect method.
  • Pour chaque IAudioInfluencer précédent qui n’est plus rencontré, appelez la méthode RemoveEffect .For each previous IAudioInfluencer that is no longer encountered, call the RemoveEffect method.

Notez que AudioEmitter met à jour les échelles de temps humaines, par opposition à des mises à jour par image.Note that AudioEmitter updates on human time scales, as opposed to on a per frame basis. Cela est dû au fait que les êtres humains ne se déplacent pas suffisamment rapidement pour que l’effet doive être mis à jour plus fréquemment que chaque trimestre ou moitié de seconde.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. Les hologrammes qui se téléportent rapidement d’un emplacement à un autre peuvent briser l’illusion.Holograms that teleport rapidly from one location to another can break the illusion.

  • Dans le volet hiérarchie , développez HologramCollection.In the Hierarchy panel, expand HologramCollection.
  • Développez EnergyHub , puis sélectionnez BlobOutside.Expand EnergyHub and select BlobOutside.
  • Dans le panneau inspecteur , cliquez sur Ajouter un composant et ajouter des OCCLUDER audio.In the Inspector panel, click Add Component and add Audio Occluder.
  • Dans OCCLUDER audio, définissez la fréquence de coupure sur 1500.In Audio Occluder, set Cutoff Frequency to 1500.

Ce paramètre limite les fréquences AudioSource à 1500 Hz et inférieures.This setting limits the AudioSource frequencies to 1500 Hz and below.

  • Définissez passage du volume à 0,9.Set Volume Pass Through to 0.9.

Ce paramètre réduit le volume du AudioSource à 90% de son niveau actuel.This setting reduces the volume of the AudioSource to 90% of it's current level.

L’audio OCCLUDER implémente IAudioInfluencer pour :Audio Occluder implements IAudioInfluencer to:

  • Appliquez un effet d’occlusion à l’aide d’un AudioLowPassFilter qui est attaché à audiosource Managed buy the AudioEmitter.Apply an occlusion effect using an AudioLowPassFilter which gets attached to the AudioSource managed buy the AudioEmitter.
  • Applique l’atténuation du volume à AudioSource.Applies volume attenuation to the AudioSource.
  • Désactive l’effet en définissant une fréquence de coupure neutre et en désactivant le filtre.Disables the effect by setting a neutral cutoff frequency and disabling the filter.

La fréquence utilisée est neutre est 22 kHz (22000 Hz).The frequency used as neutral is 22 kHz (22000 Hz). Cette fréquence a été choisie car elle se trouve au-dessus de la fréquence maximale nominale pouvant être entendue par l’oreille humaine, ce qui n’a aucun impact perceptible sur le son.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.

  • Dans le volet hiérarchie , sélectionnez SpatialMapping.In the Hierarchy panel, select SpatialMapping.
  • Dans le panneau inspecteur , cliquez sur Ajouter un composant et ajouter des OCCLUDER audio.In the Inspector panel, click Add Component and add Audio Occluder.
  • Dans OCCLUDER audio, définissez la fréquence de coupure sur 750.In Audio Occluder, set Cutoff Frequency to 750.

Lorsque plusieurs Occluders se trouvent dans le chemin d’accès entre l’utilisateur et le AudioEmitter, la fréquence la plus faible est appliquée au filtre.When multiple occluders are in the path between the user and the AudioEmitter, the lowest frequency is applied to the filter.

  • Définissez passage du volume à 0,75.Set Volume Pass Through to 0.75.

Lorsque plusieurs Occluders se trouvent dans le chemin d’accès entre l’utilisateur et le AudioEmitter, le transfert de volume est appliqué de façon additive.When multiple occluders are in the path between the user and the AudioEmitter, the volume pass through is applied additively.

  • Dans le volet hiérarchie , sélectionnez gestionnaires.In the Hierarchy panel, select Managers.
  • Dans le panneau inspecteur , développez Gestionnaire d’entrée vocal.In the Inspector panel, expand Speech Input Handler.
  • Dans le Gestionnaire d’entrée vocal, développez frais Go.In Speech Input Handler, expand Go Charge.
  • Ne modifiez aucune fonction en polyactions. GoCharge.Change No Function to PolyActions.GoCharge.

Mot clé : facturation

  • Développez-le ici.Expand Come Here.
  • Ne modifiez aucune fonction en polyactions. Comeback.Change No Function to PolyActions.ComeBack.

Mot clé : ici

Génération et déploiementBuild and Deploy

  • Comme précédemment, générez le projet dans Unity et déployez-le dans Visual Studio.As before, build the project in Unity and deploy in Visual Studio.

Une fois l’application déployée :After the application is deployed:

  • Dites « Go Fact » pour que P0LY entre dans le hub d’énergie.Say "Go Charge" to have P0LY enter the Energy Hub.

Notez la modification du son.Note the change in the sound. Le bruit doit être atténué et un peu plus calme.It should sound muffled and a little quieter. Si vous êtes en mesure de vous positionner avec un mur ou un autre objet entre vous et le hub d’énergie, vous remarquerez un Muffling supplémentaire du son en raison de l’occlusion par le monde réel.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.

  • Dites « venez ici » pour que P0LY laisse le hub d’énergie et se positionne en face de vous.Say "Come Here" to have P0LY leave the Energy Hub and position itself in front of you.

Notez que l’occlusion sonore est supprimée une fois que P0LY a quitté le hub d’énergie.Note that the sound occlusion is removed once P0LY exits the Energy Hub. Si vous entendez encore des occlusions, P0LY peut être bloqués par le monde réel.If you are still hearing occlusion, P0LY may be occluded by the real world. Essayez de vous assurer que vous disposez d’une ligne de vue claire sur P0LY.Try moving to ensure you have a clear line of sight to P0LY.

Partie 3-modèles RoomPart 3 - Room Models

Concepts clésKey Concepts

  • La taille de l’espace fournit des files d’attente subliminal qui contribuent à la localisation du son.The size of the space provides subliminal queues that contribute to sound localization.
  • Les modèles de salle sont définis par audiosource.Room models are set per-AudioSource.
  • Le MixedRealityToolkit pour Unity fournit du code pour définir le modèle de salle.The MixedRealityToolkit for Unity provides code for setting the room model.
  • Pour les expériences de réalité mixte, sélectionnez le modèle de salle qui correspond le mieux à l’espace de monde réel.For Mixed Reality experiences, select the room model that best fits the real world space.

Si vous créez un scénario de réalité virtuelle, sélectionnez le modèle de salle qui correspond le mieux à l’environnement virtuel.If you are creating a Virtual Reality scenario, select the room model that best fits the virtual environment.

Chapitre 4-conception du sonChapter 4 - Sound Design

ObjectifsObjectives

  • Comprendre les considérations relatives à la conception d’un son efficace.Understand considerations for effective sound design.
  • Apprenez à mélanger les techniques et les recommandations.Learn mixing techniques and guidelines.

Partie 1 : conception du son et de l’expériencePart 1 - Sound and Experience Design

Cette section décrit les considérations et les recommandations relatives à la conception du son et de l’expérience.This section discusses key sound and experience design considerations and guidelines.

Normaliser tous les sonsNormalize all sounds

Cela évite d’avoir à utiliser un code de cas particulier pour ajuster les niveaux de volume par son, ce qui peut prendre du temps et limiter la possibilité de mettre à jour facilement des fichiers audio.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.

Conception pour une expérience non attachéeDesign for an untethered experience

HoloLens est un ordinateur holographique entièrement contenu et non attaché.HoloLens is a fully contained, untethered holographic computer. Vos utilisateurs peuvent et utiliseront vos expériences pendant le déplacement.Your users can and will use your experiences while moving. Veillez à tester votre combinaison audio en vous.Be sure to test your audio mix by walking around.

Émettre du son à partir d’emplacements logiques sur vos hologrammesEmit sound from logical locations on your holograms

Dans le monde réel, un chien n’est pas à l’écorce de sa queue et la voix d’un homme ne provient pas de ses pieds.In the real world, a dog does not bark from its tail and a human's voice does not come from his/her feet. Évitez que vos sons émettent des parties inattendues de vos hologrammes.Avoid having your sounds emit from unexpected portions of your holograms.

Pour les petits hologrammes, il est raisonnable d’émettre un son à partir du centre de la géométrie.For small holograms, it is reasonable to have sound emit from the center of the geometry.

Les sons habituels sont plus localisablesFamiliar sounds are most localizable

La voix humaine et la musique sont très faciles à localiser.The human voice and music are very easy to localize. Si quelqu’un appelle votre nom, vous pouvez déterminer très précisément le sens de la voix et à quel moment.If someone calls your name, you are able to very accurately determine from what direction the voice came and from how far away. Les sons peu familiers sont plus difficiles à localiser.Short, unfamiliar sounds are harder to localize.

Être Cognizant des attentes de l’utilisateurBe cognizant of user expectations

L’expérience de vie joue un rôle dans notre capacité à identifier l’emplacement d’un son.Life experience plays a part in our ability to identify the location of a sound. C’est l’une des raisons pour lesquelles la voix humaine est particulièrement facile à localiser.This is one reason why the human voice is particularly easy to localize. Il est important de connaître les attentes de vos utilisateurs lors de la mise en place de vos sons.It is important to be aware of your user's learned expectations when placing your sounds.

Par exemple, quand quelqu’un entend un morceau d’oiseau, il recherche généralement des oiseaux au-dessus de la ligne de vue (volant ou dans une arborescence).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). Il n’est pas rare pour un utilisateur d’activer la direction correcte d’un son, mais de regarder dans une mauvaise direction verticale et de devenir confus ou frustré lorsqu’ils ne parviennent pas à trouver l’hologramme.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.

Éviter les émetteurs masquésAvoid hidden emitters

Dans le monde réel, si nous entendons un son, nous pouvons généralement identifier l’objet qui émet le son.In the real world, if we hear a sound, we can generally identify the object that is emitting the sound. Cela doit également être vrai dans vos expériences.This should also hold true in your experiences. Il peut être très difficile pour les utilisateurs d’entendre un son, de savoir à quel endroit le son provient et de ne pas voir un objet.It can be very disconcerting for users to hear a sound, know from where the sound originates and be unable to see an object.

Il existe quelques exceptions à cette règle.There are some exceptions to this guideline. Par exemple, les sons ambiants tels que les crickets dans un champ n’ont pas besoin d’être visibles.For example, ambient sounds such as crickets in a field need not be visible. L’expérience de vie nous permet de vous familiariser avec la source de ces sons sans avoir à le voir.Life experience gives us familiarity with the source of these sounds without the need to see it.

Partie 2-mixage audioPart 2 - Sound Mixing

Ciblez votre combinaison pour 70% du volume sur le HoloLensTarget your mix for 70% volume on the HoloLens

Les expériences de réalité mixte permettent de voir les hologrammes dans le monde réel.Mixed Reality experiences allow holograms to be seen in the real world. Ils doivent également permettre l’entendre des sons réels.They should also allow real world sounds to be heard. Une cible de volume de 70% permet à l’utilisateur d’entendre le monde autour de lui et du son de votre expérience.A 70% volume target enables the user to hear the world around them along with the sound of your experience.

HoloLens à 100% du volume doit être submergé de sons externesHoloLens at 100% volume should drown out external sounds

Un niveau de volume de 100% est similaire à une expérience de réalité virtuelle.A volume level of 100% is akin to a Virtual Reality experience. Visuellement, l’utilisateur est transporté vers un autre monde.Visually, the user is transported to a different world. Il en va de même de la même façon audible.The same should hold true audibly.

Utiliser Unity AudioMixer pour ajuster les catégories de sonsUse the Unity AudioMixer to adjust categories of sounds

Lors de la conception de votre combinaison, il est souvent utile de créer des catégories de son et d’augmenter ou de réduire leur volume en tant qu’unité.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. Cela permet de conserver les niveaux relatifs de chaque son tout en permettant de modifier rapidement et facilement la combinaison globale.This retains the relative levels of each sound while enabling quick and easy changes to the overall mix. Les catégories courantes incluent ; effets sonores, ambiance, voix et musique en arrière-plan.Common categories include; sound effects, ambience, voice overs and background music.

Mélanger des sons en fonction du point de regard de l’utilisateurMix sounds based on the user's gaze

Il peut souvent être utile de modifier la combinaison de sons dans votre expérience en fonction de l’endroit où un utilisateur est (ou n’est pas) à l’origine de la recherche.It can often be useful to change the sound mix in your experience based on where a user is (or is not) looking. Une utilisation courante de cette technique consiste à réduire le volume des hologrammes qui se trouvent en dehors du cadre holographique pour permettre à l’utilisateur de se concentrer plus facilement sur les informations qu’il contient.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. Une autre utilisation consiste à augmenter le volume d’un son pour attirer l’attention de l’utilisateur sur un événement important.Another use is to increase the volume of a sound to draw the user's attention to an important event.

Conception de votre combinaisonBuilding your mix

Lors de la création de votre combinaison, il est recommandé de commencer par l’audio d’arrière-plan de votre expérience et d’ajouter des couches en fonction de leur importance.When building your mix, it is recommended to start with your experience's background audio and add layers based on importance. Souvent, cela entraîne une couche plus forte que la précédente.Often, this results in each layer being louder than the previous.

En imaginant votre combinaison comme un entonnoir inversé, avec les moins importants (et généralement les plus calmes) en bas, il est recommandé de structurer votre combinaison comme dans le diagramme suivant.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.

Structure de combinaison de sons

Les fonctionnalités vocales sont un scénario intéressant.Voice overs are an interesting scenario. En fonction de l’expérience que vous créez, vous souhaiterez peut-être avoir un son stéréo (non localisé) ou pour spatialer votre voix.Based on the experience you are creating you may wish to have a stereo (not localized) sound or to spatialize your voice overs. Deux expériences Microsoft publiées illustrent des exemples excellents de chaque scénario.Two Microsoft published experiences illustrate excellent examples of each scenario.

HoloTour utilise une voix stéréo.HoloTour uses a stereo voice over. Lorsque le narrateur décrit l’emplacement affiché, le son est cohérent et ne varie pas en fonction de la position de l’utilisateur.When the narrator is describing the location being viewed, the sound is consistent and does not vary based on the user's position. Cela permet au narrateur de décrire la scène sans sortir des sons spatiaux de l’environnement.This enables the narrator to describe the scene without taking away from the spatialized sounds of the environment.

Les fragments utilisent une voix spatiale sous la forme d’un détective.Fragments utilizes a spatialized voice over in the form of a detective. La voix du détective est utilisée pour attirer l’attention de l’utilisateur sur un indice important comme si un humain réel était dans la pièce.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. Cela permet un sens encore plus important de l’immersion dans l’expérience de résolution du mystère.This enables an even greater sense of immersion into the experience of solving the mystery.

Partie 3-performancesPart 3 -Performance

Utilisation de l’UCCPU usage

Lorsque vous utilisez un son spatial, 10-12 émetteurs consomment environ 12% du processeur.When using Spatial Sound, 10 - 12 emitters will consume approximately 12% of the CPU.

Diffuser des fichiers audio longsStream long audio files

Les données audio peuvent être volumineuses, en particulier aux taux d’échantillonnage courants (44,1 et 48 kHz).Audio data can be large, especially at common sample rates (44.1 and 48 kHz). Une règle générale est que les fichiers audio d’une durée supérieure à 5-10 secondes doivent être diffusés en continu pour réduire l’utilisation de la mémoire de l’application.A general rule is that audio files longer than 5 - 10 seconds should be streamed to reduce application memory usage.

Dans Unity, vous pouvez marquer un fichier audio pour la diffusion en continu dans les paramètres d’importation du fichier.In Unity, you can mark an audio file for streaming in the file's import settings.

Paramètres d’importation audio

Chapitre 5-effets spéciauxChapter 5 - Special Effects

ObjectifsObjectives

  • Ajoutez une profondeur à « Magic Windows ».Add depth to "Magic Windows".
  • Mettez l’utilisateur dans le monde virtuel.Bring the user into the virtual world.

Magic WindowsMagic Windows

Concepts clésKey Concepts

  • La création d’affichages dans un monde masqué, est visuellement attrayante.Creating views into a hidden world, is visually compelling.
  • Améliorez le réalisme en ajoutant des effets audio quand un hologramme ou l’utilisateur est proche du monde masqué.Enhance realism by adding audio effects when a hologram or the user is near the hidden world.

InstructionsInstructions

  • Dans le volet hiérarchie , développez HologramCollection , puis sélectionnez subworld.In the Hierarchy panel, expand HologramCollection and select Underworld.
  • Développez le sous- monde et sélectionnez VoiceSource.Expand Underworld and select VoiceSource.
  • Dans le panneau inspecteur , cliquez sur Ajouter un composant et ajouter un effet utilisateur vocal.In the Inspector panel, click Add Component and add User Voice Effect.

Un composant audiosource sera ajouté à VoiceSource.An AudioSource component will be added to VoiceSource.

  • Dans audiosource, définissez sortie sur UserVoice (Mixer).In AudioSource, set Output to UserVoice (Mixer).
  • Cochez la case spatialiser .Check the Spatialize checkbox.
  • Faites glisser le curseur de lissage spatial jusqu’à la forme 3D, ou entrez 1 dans la zone d’édition.Drag the Spatial Blend slider all the way to 3D, or enter 1 in the edit box.
  • Développez paramètres audio 3D.Expand 3D Sound Settings.
  • Affectez au niveau Doppler la valeur 0.Set Doppler Level to 0.
  • Dans l' effet utilisateur vocal, définissez l' objet parent sur le sous- monde à partir de la scène.In User Voice Effect, set Parent Object to the Underworld from the scene.
  • Définissez distance maximale sur 1.Set Max Distance to 1.

La définition de la distance maximale indique à l' utilisateur qu’il doit être l’objet parent avant l’activation de l’effet.Setting Max Distance tells User Voice Effect how close the user must be to the parent object before the effect is enabled.

  • Dans effet vocal de l’utilisateur, développez paramètres de chœur.In User Voice Effect, expand Chorus Parameters.
  • Définissez profondeur sur 0,1.Set Depth to 0.1.
  • Définissez Tap 1 volume, Appuyez sur 2 volume , puis sur 3 volumes jusqu’à 0,8.Set Tap 1 Volume, Tap 2 Volume and Tap 3 Volume to 0.8.
  • Définissez le volume de son original sur 0,5.Set Original Sound Volume to 0.5.

Les paramètres précédents configurent les paramètres du AudioChorusFilter Unity utilisé pour ajouter la richesse à la voix de l’utilisateur.The previous settings configure the parameters of the Unity AudioChorusFilter used to add richness to the user's voice.

  • Dans l' effet utilisateur vocal, développez paramètres Echo.In User Voice Effect, expand Echo Parameters.
  • Définir le délai sur 300Set Delay to 300
  • Définissez le taux d’atténuation sur 0,2.Set Decay Ratio to 0.2.
  • Définissez le volume de son original sur 0.Set Original Sound Volume to 0.

Les paramètres précédents configurent les paramètres du AudioEchoFilter Unity utilisé pour faire écho à la voix de l’utilisateur.The previous settings configure the parameters of the Unity AudioEchoFilter used to cause the user's voice to echo.

Le script de l’effet utilisateur vocal est chargé des opérations suivantes :The User Voice Effect script is responsible for:

  • Mesure de la distance entre l’utilisateur et le gameobject auquel le script est attaché.Measuring the distance between the user and the GameObject to which the script is attached.
  • Déterminer si l’utilisateur est confronté au gameobject.Determining whether or not the user is facing the GameObject.

L’utilisateur doit être orienté GameObject, quelle que soit la distance, pour que l’effet soit activé.The user must be facing the GameObject, regardless of distance, for the effect to be enabled.

  • Application et configuration d’un AudioChorusFilter et d’un AudioEchoFilter à audiosource.Applying and configuring an AudioChorusFilter and an AudioEchoFilter to the AudioSource.
  • La désactivation de l’effet en désactivant les filtres.Disabling the effect by disabling the filters.

L’effet User Voice utilise le composant sélecteur de flux MIC, à partir du MixedRealityToolkit pour Unity, pour sélectionner le flux vocal de haute qualité et l’acheminer dans le système audio 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.

  • Dans le volet hiérarchie , sélectionnez gestionnaires.In the Hierarchy panel, select Managers.
  • Dans le panneau inspecteur , développez Gestionnaire d’entrée vocal.In the Inspector panel, expand Speech Input Handler.
  • Dans le Gestionnaire d’entrée vocal, développez afficher le sous- monde.In Speech Input Handler, expand Show Underworld.
  • Ne modifiez aucune fonction en UnderworldBase. OnEnable.Change No Function to UnderworldBase.OnEnable.

Mot clé : afficher le sous-monde

  • Développez masquer le sous- monde.Expand Hide Underworld.
  • Ne modifiez aucune fonction en UnderworldBase. OnDisable.Change No Function to UnderworldBase.OnDisable.

Mot clé : masquer le sous-monde

Génération et déploiementBuild and Deploy

  • Comme précédemment, générez le projet dans Unity et déployez-le dans Visual Studio.As before, build the project in Unity and deploy in Visual Studio.

Une fois l’application déployée :After the application is deployed:

  • Face à une surface (mur, plancher, table) et dites « afficher le monde ».Face a surface (wall, floor, table) and say "Show Underworld".

Le sous-monde s’affiche et tous les autres hologrammes sont masqués.The underworld will be shown and all other holograms will be hidden. Si vous ne voyez pas le sous-monde, assurez-vous que vous êtes face à une surface réaliste.If you do not see the underworld, ensure that you are facing a real-world surface.

  • Approche à l’intérieur d’un compteur de l’hologramme de la planète et commencer à parler.Approach within 1 meter of the underworld hologram and start talking.

Des effets audio sont désormais appliqués à votre voix.There are now audio effects applied to your voice!

  • Quittez le sous-monde et notez la façon dont l’effet n’est plus appliqué.Turn away from the underworld and notice how the effect is no longer applied.
  • Dites « masquer le monde » pour masquer le sous-monde.Say "Hide Underworld" to hide the underworld.

Le sous-monde est masqué et les hologrammes précédemment masqués réapparaissent.The underworld will be hidden and the previously hidden holograms will reappear.

La finThe End

Félicitations !Congratulations! Vous avez maintenant terminé le son spatial 220 : spatial.You have now completed MR Spatial 220: Spatial sound.

Écoutez l’univers et donnez vie à vos expériences !Listen to the world and bring your experiences to life with sound!