Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Cette documentation est destinée à un public de développeurs. Pour obtenir de l'aide pour activer le son spatial sur votre appareil, consultez Comment activer le son spatial dans Windows 10.
Microsoft Spatial Sound est la solution de niveau plateforme de Microsoft pour la prise en charge du son spatial sur Xbox, Windows et HoloLens 2, ce qui permet d’entourer et d’élever (au-dessus ou en dessous de l’écouteur) des signaux audio. Le son spatial peut être utilisé par Windows applications de bureau (Win32) ainsi que les applications Plateforme Windows universelle (UWP) sur les plateformes prises en charge. Les API sonores spatiales permettent aux développeurs de créer des objets audio qui émettent du contenu audio à partir de positions dans l’espace 3D. Les objets audio dynamiques vous permettent d’émettre du contenu audio à partir d’une position arbitraire dans l’espace, ce qui peut changer au fil du temps. Vous pouvez également spécifier que les objets audio émettent du son à partir d’un des 17 canaux statiques prédéfinis (8.1.4.4) qui peuvent représenter des haut-parleurs réels ou virtualisés. Le format de sortie réel est sélectionné par l’utilisateur et peut être extrait des implémentations de Spatial Sound de Microsoft ; l’audio sera présenté aux haut-parleurs, casques audio et récepteurs home cinéma existants sans avoir besoin de modifications de code ou de contenu. La plateforme prend entièrement en charge l’encodage Dolby Atmos en temps réel pour la sortie casque HDMI et stéréo, DTS :X pour casques et Windows sonic pour l’encodage casque stéréo. Enfin, Microsoft applications Spatial Sound respectent la stratégie de mixage du système, et leur audio sera également mélangé avec des applications non sensibles à l’espace. La prise en charge de Microsoft Spatial Sound est également intégrée à Media Foundation ; les applications qui utilisent Media Foundation peuvent lire avec succès du contenu Dolby Atmos sans implémentation supplémentaire.
Le son spatial avec Microsoft Spatial Sound prend en charge les téléviseurs, les systèmes home cinéma et les barres de son compatibles avec Dolby Atmos. Le son spatial peut également être utilisé avec n’importe quelle paire de casques que le consommateur peut posséder, avec l’audio rendu par la plateforme à l’aide de Windows Sonic for Headphones, Dolby Atmos for Headphones ou DTS Headphone :X.
Activer le Son Spatial de Microsoft
Qu’il s’agisse d’un développeur ou d’un consommateur, un utilisateur doit activer Microsoft son spatial sur son appareil pour entendre le son spatialisé.
Windows
Sur Windows PC, cela s’effectue via la page des propriétés d’un périphérique de sortie audio donné. Dans le panneau de configuration Sound, sélectionnez un appareil de sortie, puis cliquez sur propriétés de l’appareil. Dans la section son spatial de la page, si l’appareil prend en charge le son spatial, vous pouvez sélectionner l’un des formats disponibles dans la liste déroulante format sonore spatial.
Vous pouvez également activer Microsoft son spatial en cliquant avec le bouton droit sur l’icône Volume dans la barre des tâches.
Xbox
Sur Xbox, les fonctionnalités de son spatial de Microsoft sont toujours disponibles pour le consommateur et sont activées via les Paramètres de Windows sous Général - Volume et sortie audio.
Le bouton audio HDMI propose tous les formats pris en charge par le récepteur audio/vidéo (AVR), la barre de son ou la TV directement connectée à votre console Xbox. L’option « Audio optique » est disponible uniquement sur les consoles Xbox plus anciennes, et non sur Xbox Series X|S et versions ultérieures.
Notez que la sélection des options « Dolby Atmos for home theater (HDMI only) » ou « DTS :X for home theater (HDMI only) » dans l’audio HDMI invite l’utilisateur à télécharger et installer des applications Dolby Access ou DTS Sound Unbound si ce n’est pas déjà installé
Sélectionnez Dolby Atmos for Headphones, DTS Headphone:X ou Windows Sonic for Headphones dans la liste déroulante du format Casque dans la section Audio du casque.
Lorsque Microsoft Spatial Sound n’est pas disponible (par exemple, lors de la lecture sur des haut-parleurs stéréo portables incorporés ou si l’utilisateur n’a pas activé explicitement Microsoft Spatial Sound par ci-dessus), le nombre d’objets dynamiques disponibles retournés par ISpatialAudioClient ::GetMaxDynamicObjectCount à une application sera 0.
HoloLens 2
Sur HoloLens 2, le son spatial de Microsoft est activé par défaut et utilise un déchargement DSP matériel conçu spécifiquement pour Windows Sonic for Headphones.
Microsoft intergiciel spatial et audio
De nombreux développeurs d’applications et de jeux utilisent des solutions de moteur de rendu audio tierces, qui incluent souvent des outils sophistiqués de création et d’audition. Microsoft a collaboré avec plusieurs de ces fournisseurs de solutions pour implémenter Microsoft Spatial Sound dans leurs environnements de création existants. Cela signifie fréquemment que les API abordées ici sont abstraites de la vue de l'application ; elles sont encapsulées en tant que plug-ins de traitement de signal numérique (DSP) que l'application peut instancier, et que l'implémenteur audio de l'application peut utiliser pour mixer dans une matrice de canaux Microsoft Spatial Sound, sous-mixage ou envoyer des voix individuelles aux plug-ins d’instance d’objet dynamique selon les besoins. Consultez votre fournisseur de solutions d’intergiciel audio pour connaître leur niveau de prise en charge pour Microsoft spatial Sound.
Microsoft Son Spatial pour les Rendeurs Audio
De nombreux renderers audio ciblent un point de terminaison Windows WASAPI (Audio Session API) IAudioClient, où l’application alimente les mémoires tampons de données audio conformes à un format et mixte à un récepteur audio WASAPI ; les mémoires tampons livrées sont ensuite consommées pour le mélange avec d’autres clients, le traitement au niveau du système final et le rendu.
Les points de terminaison spatiaux de Microsoft Spatial Sound sont implémentés sous forme de ISpatialAudioClient, qui présente de nombreuses similitudes avec IAudioClient. Il prend en charge des objets sonores statiques formant un lit de canal, avec la prise en charge de jusqu'à 8.1.4.4 canaux (8 canaux autour de l'auditeur – Gauche, Droite, Centre, Côté Gauche, Côté Droite, Arrière Gauche, Arrière Droite et Arrière Centre; 1 canal d'effets de basses fréquences; 4 canaux au-dessus de l'auditeur; 4 canaux en dessous de l'auditeur). Il prend en charge objets sonores dynamiques, qui peuvent être positionnés arbitrairement dans l’espace 3D.
Le modèle de codage d’implémentation générale pour ISpatialAudioClient est le suivant :
- Créez des objets audio statiques et/ou dynamiques.
- Alimentez la mémoire tampon audio de chaque objet à chaque image afin que le système puisse le restituer.
- Mettez à jour les positions 3D des objets dynamiques à la demande , aussi fréquemment (ou rarement) que l’application le souhaite.
Notez que le format de sortie actuel (haut-parleurs ou casques ; Windows Sonic for Headphones, Dolby Atmos ou DTS Headphone :X) est extrait de l’implémentation ci-dessus : le développeur d’applications peut se concentrer sur le son spatial sans avoir à pivoter en fonction du format. Les applications qui souhaitent que leur comportement diffère en fonction du format de sortie peuvent interroger le format en cours d’utilisation, mais l’abstraction signifie qu’une application n’est pas nécessaire pour gérer ces formats.
Intégration du son spatial de Microsoft avec des rendus audio
Étant donné que ISpatialAudioClient est un récepteur audio qui consomme des données, un renderer audio a plusieurs options pour interagir avec et fournir des données audio à celui-ci. Il existe trois techniques d’intégration couramment utilisées (et pour les titres utilisant l’intergiciel audio, vous pouvez voir des plug-ins équivalents mis à disposition en fonction de ces options) :
- 7.1.4 panners et de mastering voice : les rendeurs qui prennent déjà en charge les terminaisons 7.1 peuvent choisir d’ajouter simplement la prise en charge des quatre canaux de hauteur supplémentaires pris en charge par l'ISpatialAudioClient ensemble de canaux statique. Tout panning de canal qu’ils faisaient précédemment (probablement en tirant parti des coordonnées x, y, z) peut être mis à jour pour inclure maintenant ces canaux d'altitude. Cela offre souvent le moins de perturbations pour le moteur de rendu et les flux de travail audio de l'application, le signal, le flux et le contrôle de mixage. Avec des écouteurs, notez que la combinaison complète de l'application sera spatialisée de sorte que même la musique stéréo peut être perçue comme « externalisée » de l'auditeur.
- Maintenir le point de terminaison existant, ainsi qu’ajouter un bus 7.1.4 (et des panners): certains titres peuvent choisir de conserver deux points de terminaison : leur point de terminaison WASAPI stéréo existant (pour le contenu « direct aux oreilles » non destiné à être spatialisé) en même temps qu’un ISpatialAudioClient lit de canal statique prenant en charge 7.1.4 (voire jusqu’à 8.1.4.4). Bien sûr, la gestion des interactions entre deux combinaisons présente des défis supplémentaires pour les créateurs de contenu, bien que la synchronisation soit maintenue, car les instances WASAPI et ISAC actives à un moment donné utilisent la même taille de mémoire tampon et l’horloge pour le traitement.
- Utiliser des objets sonores dynamiques pour certaines voix ou sous-mélanges: offrant peut-être le positionnement le plus détaillé/précis, mais potentiellement la création d’opacité de mix, cette technique implique d’utiliser ISpatialAudioClient objets sonores dynamiques. Notez que les métadonnées plus la mémoire tampon audio sont remises au renderer. Ces sons seront donc opaques pour le reste de la combinaison d’applications. En outre, étant donné qu’il existe un nombre limité d’objets sonores dynamiques disponibles, le rendu devra envisager d’implémenter des techniques de hiérarchisation : culling (ou élimination), co-localisation sonore, fusion à la couche de canal statique, etc. Les jeux ont fréquemment utilisé cette technique pour des sons « héros » individuels, comme un hélicoptère qui se déplace au-dessus de l’écouteur.
Les moteurs de rendu peuvent également mélanger et assortir entre ces approches.
Implications des ressources de Microsoft Spatial Sound Runtime
Sur Windows et Xbox, le nombre de voix disponibles varie selon le format utilisé. Les formats Dolby Atmos prennent en charge 32 objets actifs totaux (par conséquent, si un lit de canal 7.1.4 est utilisé, 20 objets sonores dynamiques supplémentaires peuvent être actifs). Windows Sonic for Headphones prend en charge 128 objets actifs totaux, avec le canal LFE (Low Frequency Effects) qui n’est pas réellement compté comme un objet. Par conséquent, lorsqu’un lit de canal 8.1.4.4 est utilisé, 112 objets sonores dynamiques peuvent être actifs.
Pour les applications Universelles Windows Platform s’exécutant sur des consoles de jeux Xbox One, l’encodage en temps réel (pour Dolby Atmos pour Home Theater, Dolby Atmos pour Casque, DTS:X pour Home Theater, DTS Headphone:X et Windows Sonic pour Casque) est effectué au niveau matériel sans coût processeur.
À compter de la mise à jour du système d’exploitation Xbox 2303 et du Kit de développement de jeux (GDK), les limites de ressources sur Xbox sont mises à jour avec les valeurs suivantes :
| Format | Objets statiques max (lit de canal) | Objets Dynamiques Max Xbox Series X|S, applications UWP & |
Objets Dynamiques Max Xbox Series X|S, XDK & |
Objets Dynamiques Max Xbox One |
|---|---|---|---|---|
| Dolby Atmos pour Home Theater (HDMI) | 12 (7.1.4) | 20 | 20 | 20 |
| DTS :X pour Home Theater (HDMI) | 17 (8.1.4.4) | 20 | 20 | 16 |
| Dolby Atmos (Casques) | 17 (8.1.4.4) | 128 | 20 | 16 |
| DTS Headphone :X (Casques) | 17 (8.1.4.4) | 200 | 20 | 16 |
| Windows Sonic (Casque audio) | 17 (8.1.4.4) | 220 | 20 | 15 |
À compter de la version de maintenance de mai pour Windows build 22621, les limites des ressources sur Windows sont mises à jour avec les valeurs suivantes :
| Format | Objets statiques max (lit de canal) | Objets Dynamiques Max Windows |
Max Dynamic Objects HoloLens 2 |
|---|---|---|---|
| Dolby Atmos home theater (HDMI) | 12 (7.1.4) | 20 | N/A |
| DTS :X pour le cinéma d’accueil (HDMI) | 17 (8.1.4.4) | 32 | N/A |
| Dolby Atmos pour casques | 17 (8.1.4.4) | 128 | N/A |
| Dolby Atmos (haut-parleurs intégrés) | 17 (8.1.4.4) | 128 | N/A |
| DTS Headphone :X (Casques) | 17 (8.1.4.4) | 128 | N/A |
| DTS :X Ultra (haut-parleurs intégrés) | 17 (8.1.4.4) | 128 | N/A |
| Windows Sonic (Pour écouteurs) | 17 (8.1.4.4) | 128 | 31 |
Pour les versions précédentes Windows, Xbox et HoloLens, les limites de ressources suivantes s’appliquent.
| Format | Objets statiques max (lit de canal) | Objets Dynamiques Max Xbox One |
Objets Dynamiques Max Windows |
Objets Dynamiques Max HoloLens 2 |
|---|---|---|---|---|
| Dolby Atmos pour le cinéma à domicile (HDMI) | 12 (7.1.4) | 20 | 20 | N/A |
| DTS :X pour le cinéma d’accueil (HDMI) | 17 (8.1.4.4) | 16 | 32 | N/A |
| Dolby Atmos (Casques) | 17 (8.1.4.4) | 16 | 16 | N/A |
| Dolby Atmos (haut-parleurs intégrés) | 17 (8.1.4.4) | N/A | 16 | N/A |
| DTS Headphone :X (Casques) | 17 (8.1.4.4) | 16 | 32 | N/A |
| DTS Ultra (haut-parleurs intégrés) | 17 (8.1.4.4) | N/A | 32 | N/A |
| Windows Sonic for Headphones | 17 (8.1.4.4) | 15 | 112 | 31 |
Les applications doivent également prendre en compte les implications de ressources suivantes :
- bande passante de stockage/disque: le contenu linéaire pré-auteurisé en 7.1.4 sera généralement plus volumineux que le contenu linéaire en 7.1 (bien que les codecs perceptuels tirent déjà parti de la corrélation des canaux pour que cet accroissement soit bien inférieur à celui qu'impliquerait l'augmentation réelle de 50 % de canaux audio supplémentaires)
- Autres coûts de traitement des signaux numériques : Certains effets, auparavant globaux, peuvent maintenant être instanciés par objet sonore dynamique. En outre, certains créateurs de contenu peuvent souhaiter mettre à jour certains effets DSP pour prendre en charge des canaux supplémentaires ou les utiliser de manière unique.
Microsoft Spatial Sound et Indices de Spatialisation Sonore
Microsoft Spatial Sound se concentre sur la simulation de positionnement sonore sur une sphère idéalisée autour de l’écouteur. Windows Sonic for Headphones, DTS Headphone :X et Dolby Atmos implémentent le mappage et la virtualisation des haut-parleurs aux écouteurs, mais notez que de nombreux autres aspects de la simulation spatiale sonore, déjà implémentés de manière compatible avec le créateur de contenu, sont laissés aux moteurs existants. Les créateurs de contenu continuent d’utiliser les outils de jeu et les processus existants qu’ils ont déjà eus pour des signaux spatiaux tels que Doppler, l’atténuation basée sur la distance et le filtrage, l’occlusion et l’obstruction, ainsi que la réverbération environnementale.
Ressources additionnelles
- Dépôt GitHub d'exemples de Microsoft Spatial Sound
- Dolby offre un certain nombre de ressources de support relatives à Dolby Atmos et à l’application Dolby Access, notamment la base de connaissances de développement d’applications et la prise en charge de Dolby Access .
Interfaces sonores spatiales
| Interface | Description |
|---|---|
| ISpatialAudioClient | Permet à un client de créer des flux audio qui émettent du contenu audio à partir d’une position dans l’espace 3D. |
| ISpatialAudioObject | Représente un objet qui fournit des données audio à restituer à partir d’une position dans l’espace 3D, par rapport à l’utilisateur. |
| ISpatialAudioObjectRenderStream | Fournit des méthodes pour contrôler un flux de rendu d’objet audio spatial, notamment le démarrage, l’arrêt et la réinitialisation du flux. |
| ISpatialAudioObjectRenderStreamNotify | Fournit des notifications pour que les clients audio spatiaux répondent aux modifications apportées à l’état d’un ISpatialAudioObjectRenderStream. |
Note
Lorsque vous utilisez les interfaces ISpatialAudioClient sur un titre XDK (Xbox One Development Kit), vous devez d’abord appeler EnableSpatialAudio avant d’appeler IMMDeviceEnumerator ::EnumAudioEndpoints ou IMMDeviceEnumerator :: GetDefaultAudioEndpoint. Si vous ne le faites pas, une erreur E_NOINTERFACE est retournée par l'appel à Activate. EnableSpatialAudio est disponible uniquement pour les titres XDK et n’a pas besoin d’être appelé pour les applications plateforme Windows universelle s’exécutant sur Xbox One, ni pour les appareils non Xbox One.
Structures sonores spatiales
| Structure | Description |
|---|---|
| SpatialAudioObjectRenderStreamActivationParams | Représente les paramètres d’activation d’un flux de rendu audio spatial. |
| SpatialAudioClientActivationParams | Représente des paramètres d’activation facultatifs pour un flux de rendu audio spatial. |
Énumérations sonores spatiales
| Énumération | Description |
|---|---|
| AudioObjectType | Spécifie le type d’un ISpatialAudioObject. |