Présentation

Bien que la fidélité visuelle soit très attentive, l'audio joue un rôle tout aussi critique dans la création d'une illusion convaincante de présence. Sonorité spatiale – son qui semble provenir d'un point précis de l'espace tridimensionnel – ancre les sons virtuels dans le monde réel, rendant les interactions naturelles et intuitives. Lorsqu'un oiseau virtuel crève d'une branche dans votre salon ou d'un personnage de jeu , c'est l'audio spatial qui fournit ce sens de localisation et de mouvement. La mise en œuvre de cette technologie nécessite une compréhension solide de l'acoustique, des SDK logiciels et des contraintes du matériel mobile. Cet article fournit un guide technique axé sur la production pour intégrer l'audio spatial dans les applications AR, couvrant les concepts fondamentaux, les outils disponibles, les modèles d'implémentation et les stratégies d'optimisation.

Les fondamentaux de l'audio spatial pour AR

Comment l'ouïe humaine se situe-t-elle?

Pour reproduire artificiellement l'ouïe spatiale, les développeurs doivent d'abord comprendre comment les humains perçoivent la direction du son. Le système auditif utilise plusieurs indices : la différence de temps interaurale (DIT) et la différence de niveau interaural (DLT) pour la localisation horizontale, les indices spectraux de la pinna (oreille extérieure) pour l'élévation et les indices dynamiques du mouvement de la tête. Dans AR, les utilisateurs sont libres de déplacer leur tête et leur corps, de sorte que le moteur de rendu audio doit constamment mettre à jour ces indices en temps réel.

Fonction de transfert liée au chef (FRH)

La technologie de base pour l'audio spatial est la fonction de transfert de tête (HRTF). Un HRTF est un modèle mathématique de la façon dont les ondes sonores diffractent et réfléchissent hors de la tête, du torse et du pinna avant d'atteindre le tympan. En combinant un signal audio sec avec une paire HRTF (une pour chaque oreille), le cerveau est entraîné à percevoir un son à un endroit précis. De nombreux moteurs audio modernes utilisent des HRTF mesurés à partir de têtes factices ou de modèles paramétriques dérivés de ces mesures.

Audio binautique et audio par objet

Deux approches communes sont le rendu binaural et l'audio basé sur objet. L'audio binaural est un simple mix stéréo conçu pour les écouteurs, où chaque son est pré-traité par les HRTF puis mélangé. Il est efficace mais statique – il ne répond pas à la rotation de l'auditeur à moins que les données de suivi de la tête ne soient retournées au récepteur. L'audio basé sur objet, d'autre part, conserve chaque son comme source 3D séparée avec sa propre position, sa vitesse et son orientation. Le récepteur applique ensuite les HRTF, l'atténuation de distance et l'occlusion en temps réel.

La plupart des cadres AR (ARKit, ARCore) se jument le mieux au rendu basé sur objet parce qu'il permet une interaction dynamique.

Technologies de base et SDK

Google Résonance Audio (Maintenant partie de l'Oboe Android)

Resonance Audio était le SDK audio spatial open source de Google, initialement construit pour VR et AR. Il est maintenant intégré dans la bibliothèque Android Oboe pour les audios à faible latence. Resonance Audio fournit un rendu binaural basé sur HRTF, l'atténuation de distance, l'occlusion et la simulation de réverbération. Il prend en charge les champs de son mono et ambisonique. Pour AR sur Android, les développeurs peuvent utiliser le plugin Resonance Audio for Unity ou la bibliothèque Native C. Le SDK comprend également un spatialisateur pour Wwise et FMOD.

Cependant, notez que Google a déplacé la focalisation vers la bibliothèque Oboe plus moderne avec support audio spatial via l'API .

Unités audio et audio spatiales Apple

Apple fournit une assistance audio spatiale complète sur iOS, iPadOS et visionOS. AVAudioEnvironnementNode A partir du cadre AVFoundation, qui peut rendre les sources audio 3D avec atténuation de distance, réverbération et placement du microphone. Pour les applications ARKit, combiner les positions d'objets basées sur ARAnchor avec AVAudioEnvironmentNode est un ajustement naturel. Apple a également introduit Sonorisation spatiale pour le jeu Dans GameKit et support pour l'audio spatial personnalisé en utilisant la caméra TrueDepth pour scanner la géométrie de l'oreille de l'utilisateur. Développeurs ciblant AirPods Pro et plus tard peuvent tirer parti de la captation pour le placement dynamique du son.

Pour le traitement personnalisé, les unités audio avec des effets de spatialisation fournissent un contrôle de niveau inférieur.

FMOD et WWise pour les systèmes de détection de la pollution par les particules

Pour les studios qui construisent des expériences complexes en matière d'AR avec plusieurs sources audio et un mélange dynamique, les middlewares comme FMOD et Wwise sont inestimables. Les deux moteurs incluent des fonctionnalités audio spatiales intégrées : modèles de distance, occlusion, obstruction, zones de réverbération et rendu HRTF (souvent via des plug-ins). Ils résument les différences matérielles et fournissent des outils de création pour les concepteurs de sons.

Intégration de l'audio spatial dans les applications AR

Configuration du moteur audio

L'intégration commence par initialiser le moteur audio et configurer l'auditeur. Dans un contexte AR, l'auditeur est généralement la tête de l'utilisateur, de sorte que sa position et son orientation doivent être mises à jour chaque cadre de la caméra de session AR. La plupart des moteurs s'attendent à ce que l'auditeur ait un vecteur avant et un vecteur haut pour calculer les rotations HRTF. Par exemple, dans Unity with Resonance Audio, vous attachez un composant à la caméra AR. Dans le code iOS natif, vous créez un et le fixez à un graphique du moteur audio, puis définissez sa position d'auditeur à l'aide de la matrice de transformation ARcamera.

Assurez-vous que la session audio est configurée pour la lecture avec le taux d'échantillonnage et la taille du tampon correct (faible latence pour l'interactivité en temps réel).

Placer des sources sonores dans l'espace 3D

Une fois l'auditeur réglé, vous placez des sources audio à des positions correspondant à des objets virtuels. Dans ARKit ou ARCORE, chaque ancre (ARAnchor ou Anchor) a une transformation en coordonnées du monde réel. Vous pouvez assigner une source audio à cette ancre et mettre à jour sa position lorsque l'ancre se déplace (par exemple, pour un animal de compagnie virtuel itinérant). Pour les objets statiques, définissez la position du monde source et laissez-la. Il est essentiel de garder la position de la source dans le même espace de coordonnées que l'auditeur – la plupart des cadres AR utilisent des compteurs.

Le moteur audio appliquera alors l'atténuation de la distance (courbes carrées inversées ou personnalisées).

Cues audio dynamiques pour les interactions AR

Par exemple, lorsqu'un utilisateur touche un bouton virtuel, le son de rétroaction du bouton doit apparaître à partir de l'emplacement du bouton. Lorsqu'une balle virtuelle roule sur une table, son son doit suivre la trajectoire de la balle. Pour mettre en œuvre cela, mettez à jour la position de la source chaque image lorsque l'objet se déplace. Si l'objet peut être occlus (par exemple, se déplaçant derrière un mur réel), utilisez la détection d'occlusion (voir section suivante).

Simulation acoustique avancée

Occlusion et obstruction

Une expérience AR réaliste doit respecter la géométrie du monde réel : un son virtuel derrière un mur physique doit être étouffé, et un son derrière un pilier en béton épais doit être plus silencieux. C'est l'occlusion. L'obstruction (en bloquant partiellement le chemin direct) et l'occlusion (en bloquant complètement) peuvent être modélisés à l'aide de moulages de rayon de l'auditeur vers la source sonore. Le moteur audio peut alors filtrer le son (filtre à faible passage pour diffraction) et réduire son volume direct tout en augmentant la composante réverbère pour simuler le son indirect.

Réverbération et acoustique de chambre

Si un son virtuel est dans une petite pièce par rapport à une grande cathédrale, il devrait sonner différemment. La simulation de la réverbération ajoute de l'immersion. Plusieurs moteurs fournissent une réverbération de convolution avec des réponses impulsionnelles (IR) ou une réverbération paramétrique. Dans AR, vous pouvez catégoriser l'environnement réel en utilisant la numérisation de la salle ARKit (par exemple, via le ou ) pour estimer la taille et les matériaux de la pièce. Ensuite, sélectionnez un IR approprié ou ajustez les paramètres de réverbération (temps de décay, réflexions précoces) pour correspondre.

Par exemple, une zone extérieure ouverte devrait avoir une réverbération minimale; une salle de bains carrelée devrait avoir une réverbération courte et lumineuse.

Effet et mouvement du Doppler

Lorsqu'une source sonore se déplace vers l'auditeur, sa fréquence augmente; lorsqu'elle s'éloigne, elle diminue. C'est l'effet Doppler. Dans AR, il s'applique aux objets virtuels en mouvement comme les drones, les voitures ou les personnages animés. La plupart des moteurs audio supportent Doppler par la vitesse de la source. Fournissez la différence entre le courant de la source et la position précédente divisée par le delta. Pour le mouvement de la tête, l'effet est généralement négligeable, mais pour les sources en mouvement rapide (par exemple, une flèche virtuelle volant au-delà), il peut être dramatique.

Performance et optimisation

Gestion de l'impact des processeurs et des batteries

Les appareils mobiles ont une puissance de traitement et une batterie limitées. Le rendu audio spatial ajoute une charge CPU importante, en particulier avec de nombreuses sources, des taux d'échantillonnage élevés et des calculs d'occlusion en temps réel.
- Limitez les voix simultanées. Dans la plupart des moteurs, vous pouvez définir un nombre maximum de sons actifs (par exemple, 16) et prioriser les sources les plus proches ou les plus bruyantes.
- Utiliser des modèles de FIR de qualité inférieure (par exemple, des filtres FIR 128 points au lieu de 512 points).
- Réduire la fréquence de mise à jour des sources loin (vous pouvez mettre à jour leur position tous les 5 cadres au lieu de chaque cadre).
- Calculs de réverbération par lots lorsque plusieurs sources partagent le même environnement.
- Profil avec Xcode Instruments ou Android Studio , Profiler pour identifier les goulets d'étranglement de fils audio.

LOD pour les sources audio

Tout comme les graphiques utilisent le niveau de détail (LOD), l'audio peut utiliser la simplification basée sur la distance. Des sources éloignées peuvent passer de binaural 3D complet à mono simple avec atténuation de la distance. Des sons très éloignés peuvent être entièrement culled. De nombreux moteurs ont intégré des courbes de volume --audio LOD.

Étalonnage spécifique à l'appareil

Les écouteurs varient considérablement en fréquence et impédance. Hébergements pour casques Pour la meilleure expérience, envisagez d'offrir une étape de calibration rapide où l'utilisateur ajuste une position sonore virtuelle pour correspondre à un repère visuel (par exemple, un point mobile). Cela ajuste le gain HRTF ou le délai pour les oreilles de l'utilisateur. De plus, assurez-vous que l'application utilise le taux d'échantillonnage audio correct (48 kHz est standard pour l'audio spatial) et le format de sortie (AAC ou PCM).

Essais et assurance de la qualité

Essais d'environnement réel dans le monde

Testez dans différents environnements : pièces calmes, extérieurs avec bruit du vent, et espaces encombrés. Utilisez différents types de casque (budge-oreilles vs. suraurore). Surveillez le comportement d'occlusion lorsque l'utilisateur se déplace derrière le mobilier. Testez également avec différentes qualité de suivi AR (faible lumière, mouvement rapide). Test automatisé est difficile pour la perception audio; comptez sur la rétroaction directe de l'utilisateur et des comparaisons A/B. Utilisez des constructions internes avec l'enregistrement toutes les 5 secondes pour la position de la tête et les paramètres de source audio pour déboguer les problèmes après coup.

Confort et sécurité des utilisateurs

L'audio doit être synchronisé avec les mises à jour visuelles – les retards de plus de 100 ms sont visibles. Gardez le niveau de volume en sécurité : les directives Apple et Android recommandent de ne pas dépasser un certain dB pour les expositions longues. Considérez également l'accessibilité : fournir un recul mono ou stéréo pour les utilisateurs ayant une perte auditive dans une oreille et permettre aux utilisateurs d'ajuster les volumes de source individuelle. Enfin, assurez-vous que l'application respecte les paramètres audio du système (Ne pas déranger, volume multimédia).

Conclusion

En tirant parti des ressources humaines, du placement dynamique des sources, de l'occlusion et de la réverbération, les développeurs peuvent créer des expériences convaincantes qui répondent à la géométrie réelle et au mouvement de l'utilisateur. La clé du succès réside dans la compréhension de la psychoacoustique sous-jacente, l'intégration du SDK droit (Apple , AVFoundation, Resonance Audio, ou intergiciel) et l'optimisation sans relâche des contraintes mobiles. Comme le matériel continue à améliorer et l'audio spatial personnalisé devient standard, l'écart entre virtuel et réel se rétrécira davantage. Commencez par un petit prototype qui place une seule source sonore dans votre salon, puis s'étendez à partir de là. Les outils sont suffisamment matures pour produire des résultats professionnels – tout ce qui reste est l'attention aux détails auditifs.

Ressources extérieures :
- Je suis désolé. Apple AVAudioEnvironnementDocumentation de Node
- Je suis désolé. Google Résonance Audio GitHub (archivé, pertinent pour les projets hérités)
- Je suis désolé. Caractéristiques audio spatiales FMOD
- Je suis désolé. Vue d'ensemble de l'audio spatial WWise
- Je suis désolé.

HRTF Explication sur Wikipedia