Divertissement basé sur la localisation (LBE), configurations de haut-parleurs non conventionnelles & Wwise

Audio interactif / Divertissement basé sur la localisation

Wwise est reconnu pour être utilisé dans le développement de jeux vidéo sur consoles et PC, où le nombre de canaux audio et la disposition des haut-parleurs suivent les configurations conventionnelles que l’on retrouve dans les installations des consommateurs ; mais ce n'est pas le seul domaine où Wwise se distingue. Le développement de divertissement basé sur la localisation (ou LBE pour « Location-Based Entertainment »), d’expériences dans des parcs d’attractions, d'installations sonores immersives et de spectacles vivants peut également être amélioré grâce à Wwise.

Les expériences LBE sont presque exclusivement conçues et développées sur mesure pour des configurations de haut-parleurs variables qui peuvent avoir un très grand nombre de canaux audio. Dans de nombreux cas, ces expériences sont développées à l'aide de moteurs de jeu couramment utilisés tels que Unity et Unreal. La plupart de ces moteurs de jeu ne supportent que les configurations de haut-parleurs conventionnelles, ce qui nécessite une solution alternative.

Ci-dessous, je vais parler de la configuration de Wwise requise lors de l'utilisation de configurations de haut-parleurs non conventionnelles, et proposer 3 exemples d'implémentations de Wwise qui peuvent être facilement intégrées dans une expérience LBE.

Configuration de Wwise

Sortie ASIO

En raison de l'utilisation de configurations de haut-parleurs inhabituelles dans de nombreuses expériences LBE, lorsqu'on travaille avec Wwise, il est souvent nécessaire d'utiliser le Plug-in Wwise ASIO Output pour pemettre aux développeurs de se connecter avec leurs périphériques de sortie compatibles ASIO. La configuration nécessaire implique simplement de créer un périphérique « ASIO Output » et d'assigner ce périphérique au « Master Audio Bus ». Le nombre correct de canaux audio peut être détecté automatiquement ou spécifié explicitement dans le fichier XML associé au plug-in.

image2020-5-1_15-38-6

image2020-7-14_21-50-9

Routeur de canaux

Le Plug-in Wwise Channel Router est un plug-in de mixage Wwise qui permet aux concepteurs et développeurs audio de router et de mixer plusieurs bus ayant des configurations de canaux différentes en un seul périphérique de sortie. Ceci est particulièrement utile en LBE lorsqu'un seul périphérique de sortie est souvent utilisé pour contrôler plusieurs groupes de haut-parleurs. Ce plug-in permet de décaler les canaux des bus enfants, afin que leur signal audio soit mixé dans le canal de sortie approprié. Ce décalage de canal peut être défini de manière statique dans Wwise, ou de manière dynamique via un RTPC.

image2020-7-14_21-49-2

Exemple 1 - Configuration traditionnelle de haut-parleurs en canaux surround avec des sorties additionnelles.

Dans une configuration surround traditionnelle avec un seul joueur, l'implémentation audio dans Wwise ne nécessite pas de traitement particulier pour les sons du joueur. Les sons générés par l'environnement, les PNJ et le joueur sont tous émis par les haut-parleurs surround.

Imaginons une expérience LBE avec 9 joueurs, chacun ayant un contrôleur d'arme haptique et sonore, dans un environnement avec des haut-parleurs surround. Dans cet exemple, les haut-parleurs surround seraient utilisés pour diffuser les sources sonores mono spatialisées dans l'environnement, ainsi que celles des PNJ. Le contenu multicanal de l’ambiance est également diffusé par les haut-parleurs surround. Pour chaque joueur, une paire de canaux mono pourrait être utilisée pour gérer le son de l'arme et le retour haptique.

image2020-7-10_13-29-56

Dans cet exemple, la configuration de 24 canaux audio résultante est composée de 6 canaux de son surround au format 5.1, suivis de 9 canaux de son pour l'audio du contrôleur d'arme de chaque joueur, puis de 9 autres canaux pour le retour haptique du contrôleur d'arme de chaque joueur.

image2020-5-14_15-46-21

Sons environnementaux

Pour implémenter ceci dans Wwise, tous les sons qui seront émis par les haut-parleurs surround passeront par le « Surround Sound Bus » qui est un enfant direct du « Master Audio Bus », et dont la configuration de canaux est explicitement réglée sur 5.1.

image2020-5-14_15-53-54

Audio spécifique au joueur

Dans Wwise, tous les sons spécifiques aux joueurs sont routés vers le « Player Sound Bus » qui utilise le Wwise Channel Router, et qui est configuré avec l’option « Listener Relative Routing » activée.

image2020-7-13_15-33-12

image2020-7-10_12-24-3

Dans l'image ci-dessus, le paramètre du jeu « GP_PlayerId » est utilisé pour déterminer le décalage de canaux nécessaire. Cela permet aux sons qui sont les mêmes pour tous les joueurs d'être configurés de manière identique dans Wwise. Cette configuration facilite également l'implémentation de sons spécifiques aux joueurs via les Switch Containers en faisant en sorte que le Switch Group correspondant utilise un Game Parameter comme dans l'image ci-dessous.

image2020-7-10_12-28-46

Lorsque le décalage de canal effectué par le Wwise Channel Router est configuré pour être contrôlé par un Game Parameter, le code du jeu est responsable du déclenchement des sons appropriés sur le game object correspondant au contrôleur d'arme du joueur concerné, ce qui est fait en envoyant une valeur qui correspond au décalage de canal pour le canal audio associé. C’est également au jeu de configurer tous les game object de contrôleur d'arme du joueur afin qu’ils soient leurs propres listeners. 

image2020-7-13_15-12-48

Retour haptique spécifique au joueur

De la même façon que pour les sons spécifiques aux joueurs, la retour haptique propre aux joueurs peut être implémenté en utilisant le Wwise Channel Router afin qu'il soit transmis au contrôleur d'arme du joueur correspondant. Dans Wwise, le même Game Parameter qui détermine le décalage de canaux pour les sons des armes peut être utilisé pour déterminer le décalage de canaux pour le retour haptique des armes.

image2020-7-10_12-22-33

Implémentation dans le jeu

L'implémentation Wwise ci-dessus permet au jeu de poster des Events sur des game objects spatialisés pour tous les sons surround ; et permet au jeu de poster des Events sur les game objects des joueurs dont le RTPC « GP_PlayerId » est réglé de manière à ce que l’audio et le retour haptique de l'arme soient affectés au contrôleur d'arme du joueur correspondant.

image2020-7-13_15-10-56

Pour expliquer cela plus en détail, notez, dans la capture du « Advanced Profiler » ci-dessus, la présence des plug-ins « Wwise Channel Router ». Le game object « Player 03 » a son RTPC « GP_PlayerId » réglé sur 2, ce qui correspond au canal audio 9 sur son « Player Sound Bus » et au canal audio 18 sur son « Player Haptic Bus ». Le game object « Player 07 » a son RTPC « GP_PlayerId » réglé sur 6, ce qui correspond au canal audio 13 sur son « Player Sound Bus » et au canal audio 22 sur son « Player Haptic Bus ». Tous les sons qui passent par le default listener puis par le « Surround Sound Bus » ne sont pas modifiés par le « Wwise Channel Router » et sont routés vers les 6 premiers canaux audio du périphérique de sortie « ASIO_Output ».

Exemple 2 - Configuration de haut-parleurs en canaux bi-quad 

Bien qu'il ne soit pas encore possible de s'adapter automatiquement à des configurations non-standard de haut-parleurs, Wwise offre aux développeurs une grande flexibilité en termes de réaffectation de configurations standard.

Dans cet exemple, nous avons une expérience LBE dans une configuration cubique composée de 8 haut-parleurs - 4 à chaque coin au niveau du plafond, et 4 à chaque coin au niveau du sol - où un drone volant avec un son de moteur vrombissant se déplace dans l'espace.

Implémentation dans Wwise

Deux paires de configurations à 4.0 canaux sont utilisées pour le « Ceiling Audio Bus » et le « Floor Audio Bus ».

image2020-5-13_14-33-13

En utilisant le Wwise Channel Router, le canal de base du « Floor Audio Bus » est décalé de façon statique pour ne pas chevaucher les canaux du « Ceiling Audio Bus ».

image2020-5-13_14-55-18

Dans Wwise, un Game Parameter est utilisé pour déterminer le mix entre les sons au niveau du plafond et ceux au niveau du sol. Selon le résultat souhaité et les unités que l’on préfère utiliser, le Game Parameter peut représenter la hauteur relative ou l'élévation relative du drone volant.

Dans l'exemple ci-dessous, le RTPC « GP_RelativeHeight » est utilisé pour mixer les sons au niveau du plafond et du sol. Lorsque l'émetteur est à la même hauteur que le listener, les sons qu’il émet ont le même volume dans les haut-parleurs du plafond et du sol.

image2020-5-13_14-53-11

image2020-5-13_14-53-39

Les Events sont alors conçus pour déclencher les sons dans ces deux bus. Dans l'image ci-dessous, l’Event « Play_FlyingDrone_Motor_Sfx » est composé de deux Target audio, « Drone_Motor_Ceiling_Sfx » et « Drone_Motor_Floor_Sfx », qui sortent respectivement sur le « Ceiling Audio Bus » et le « Floor Audio Bus ».

image2020-5-13_14-35-39

Implémentation dans le jeu

Une fois les sons et les Events implémentés dans Wwise, le jeu est responsable du positionnement du drone dans l'espace 3D et de la mise à jour de la valeur du RTPC de hauteur ou d'élévation. Des décisions créatives peuvent être prises pour ajuster les courbes d'atténuation et de RTPC afin de s'assurer qu'une atténuation de distance appropriée est perçue dans l'espace. Une fois cette décision prise, le jeu met à jour la position du game object de drone avec sa position 3D et utilise l'atténuation de distance intégrée de Wwise ou utilise les RTPC pour imiter les courbes d'atténuation de distance, ce qui permet au son du drone volant de donner l’impression de provenir d'un endroit approprié durant l’expérience.

Exemple 3 - Haut-parleurs disposés selon une grille plane

Il existe des expériences LBE où toute l'action se déroule sur un plan 2D. Dans l'exemple suivant, imaginez des haut-parleurs disposés sur une grille plane où les sons sont censés apparaître comme s'ils étaient émis depuis n'importe quel endroit de cette grille, y compris entre les emplacements des haut-parleurs. La difficulté de travailler avec cette configuration de haut-parleurs provient du fait que cette configuration n'est pas standard et que la panoramique doit être déterminée en utilisant une panoramique basée sur la distance au lieu d'une approche basée sur un vecteur (VBAP). Malgré ces complications, ce problème peut être facilement résolu en utilisant Wwise avec un peu d'ingéniosité.

Dans cet exemple, 9 haut-parleurs sont disposés en une grille verticale de 3x3 avec un seul émetteur qui peut être situé n'importe où dans le plan.

Implémentation dans Wwise

Dans Wwise, les sons spatialisés sont configurés avec l'option « Listener Relative Routing » activée, et des paramètres de position 3D appropriés. Leurs courbes d'atténuation sont configurées pour s'assurer que le son est émis par le nombre correct de haut-parleurs adjacents. Les courbes d'atténuation peuvent ainsi être ajustées pour obtenir le degré de Spread ou Focus souhaité.

image2020-7-14_10-39-41

Dans l'image ci-dessous, l’Actor-Mixer « Planar Array Mixer » est utilisé pour simplifier le processus de configuration dans le cas où plusieurs sons nécessitent ces mêmes réglages.

 

image2020-5-13_16-58-8

Les sons spatialisés sont ensuite routés vers le bus « Speaker Bus » qui n'a aucune atténuation ni spatialisation 3D, mais dont le paramètre « Listener Relative Routing » est activé. Sur le « Speaker Bus », un RTPC est appliqué au paramètre Channel du Wwise Channel Router. L'atténuation est réglée à « None » sur le « Speaker Bus » afin que la distance par rapport au listener par défaut n'affecte pas les calculs de volume.

image2020-5-13_16-51-53

image2020-5-15_16-23-28

Implémentation dans le jeu

Le jeu enregistre (au moins) un « default » listener et un « non-default » listener pour chaque haut-parleur physique.

image2020-5-19_11-47-29

Chacun de ces game objects associés à un non-default listener est positionné dans le jeu de la même manière que son emplacement physique dans le monde réel, et a son Channel offset RTPC réglé avec le bon canal audio de sortie.

image2020-7-14_10-16-59

Chaque game object émetteur est ensuite configuré pour être entendu par tous les game objects associés à un non-default listener. Par conséquent, le son émis par ces game objects sera entendu par les game objects environnants associés à un listener.

image2020-5-19_11-46-42

Comme on peut le voir dans l'image ci-dessous, l'atténuation avec la distance du son « FlyingDrone_Motor_Sfx » est configurée de manière à ce que le son soit entendu à plein volume par ses 4 listeners les plus proches.

image2020-5-19_23-43-33

Conclusion

Actuellement, avec un peu de créativité, il est possible d’utiliser Wwise pour faciliter la conception sonore des installations de divertissement basé sur la localisation (LBE). Les prochaines mises à jour de Wwise faciliteront encore plus le travail de spatialisation du son dans des configurations de haut-parleurs irrégulières. Restez à l'écoute.... 

https://www.audiokinetic.com/discover/wwise-in-lbe/

 

 

 

 

 

Shawn Laptiste

Ingénieur de Terrain

Audiokinetic

Shawn Laptiste

Ingénieur de Terrain

Audiokinetic

Shawn Laptiste est connu pour avoir une affinité pour les beaux sons et pour se soucier d'avoir un code proprement écrit. Riche de près de deux décennies d'expérience professionnelle dans le développement logiciel, et en bricolant en parallèle de la musique sur ordinateur, ses centres d'intérêt vont de la conception de jeux vidéo à la conception sonore, en passant par les installations artistiques. Il travaille en tant qu'Ingénieur de Terrain chez Audiokinetic et travaille en étroite collaboration avec les clients pour les aider à réussir dans leurs projets.

 @lazerfalcon

Commentaires

Laisser une réponse

Votre adresse électronique ne sera pas publiée.

Plus d'articles

Créer avec des Objets Audio dans Wwise

L'avenir : toujours lointain, jamais à portée de main ; et pourtant, nous semblons toujours courir...

21.4.2022 - Par Damian Kastbauer

Visualiser les variations issues de la synthèse croisée d'Impacter

Bienvenue à nouveau dans notre série d'articles sur le plugiciel Impacter. Dans les deux articles...

24.11.2022 - Par Ryan Done

SpectralMultiEffect par zerocrossing

SpectralMultiEffect est un plug-in pour Wwise. Il a été créé dans l'intention d'améliorer...

15.12.2022 - Par Javier Arciniegas

Derrière le son de It Takes Two | Discussion avec l'équipe audio d'Hazelight

It Takes Two de Hazelight Studios est un jeu de plateforme et d'action-aventure intégralement...

30.3.2023 - Par Hazelight

Wwise comme instrument central d’une conception sonore au théâtre

Au cours des dernières années, j’ai eu la chance de participer à plusieurs pièces de théâtre en tant...

11.3.2024 - Par Philomène Gatien

Le chant de la World Beast

Qui suis-je ? Je suis un artiste et un programmeur créatif travaillant principalement sur des...

4.12.2024 - Par Sam Twidale

Plus d'articles

Créer avec des Objets Audio dans Wwise

L'avenir : toujours lointain, jamais à portée de main ; et pourtant, nous semblons toujours courir...

Visualiser les variations issues de la synthèse croisée d'Impacter

Bienvenue à nouveau dans notre série d'articles sur le plugiciel Impacter. Dans les deux articles...

SpectralMultiEffect par zerocrossing

SpectralMultiEffect est un plug-in pour Wwise. Il a été créé dans l'intention d'améliorer...