Location-Based Entertainment, Irregular speaker setups & Wwise

互动音频 / LBE

Wwise has a reputation for being used in console and PC game development where the number of audio channels and the speaker arrangement follow conventional consumer channel configurations; but this is not the only place where Wwise shines. The development of Location-Based Entertainment (LBE), theme park experiences, immersive sound installations and live performance can also be improved using Wwise.

LBE experiences are almost exclusively custom designed and developed for irregular speaker setups that can contain very large numbers of audio channels. In many cases, these experiences are developed using popular game engines such as Unity and Unreal. Out of the box, most of these game engines only support conventional speaker configurations, thus requiring an alternate solution.

Below, I will cover the Wwise setup required when using unconventional speaker configurations and offer up 3 example Wwise implementations that can be easily integrated into an LBE experience.

Wwise Setup

ASIO Output

Due to the use of non-standard speaker configurations in many LBE experiences, when working with Wwise, there is often a need to use the Wwise ASIO Output Plug-in which allows developers to interface with their ASIO-compatible output devices. The setup for this simply involves selecting creating an "ASIO Output" device and assigning this device to the "Master Audio Bus". The correct number of audio channels can be automatically detected or specified explicitly in the plug-in's associated XML file.

image2020-5-1_15-38-6

image2020-7-14_21-50-9

Channel Router

The Wwise Channel Router Plug-in is a Wwise mixer plug-in that allows sound designers and developers to route and mix multiple busses with different channel configurations into a single output device. This is especially useful in LBE when a single output device is often used to drive multiple sets of speakers. This plug-in offsets the channels of its child busses so that their signals will get mixed into the appropriate output channel. The offset can be set statically in Wwise or dynamically via RTPC.

image2020-7-14_21-49-2

Example 1 - Traditional Surround Speaker Channel Configuration With Additional Outputs

In a conventional surround sound setup with a single player, the audio implementation in Wwise doesn't require special handling for the player's sounds. Sounds that are generated by the environment, NPCs and the player are all emitted from the surround speakers.

Let's envision an LBE experience with 9 players, each with a haptic and audio producing weapon controller, within a surround sound speaker environment. In this example, the surround sound speakers would be used to play positioned environmental and NPC mono sound sources. Multichannel ambient content would also be played from the surround sound speakers. For each player, a pair of mono channels could be used to drive the weapon audio and haptic feedback.

image2020-7-10_13-29-56

In this example, the resulting 24 audio channel configuration is composed of 6 channels of 5.1 surround sound, followed by 9 channels of the sound for each player's weapon controller's audio, then followed by another 9 channels for the haptic feedback for each player's weapon controller.

image2020-5-14_15-46-21

Environmental Sounds

To implement this in Wwise, all sounds that will be emitted from the surround sound speakers will pass through the "Surround Sound Bus" which is a direct descendant of the "Master Audio Bus" and has it channel configuration explicitly set to 5.1.

image2020-5-14_15-53-54

Player-Specific Audio

In Wwise, all player-specific sounds will be routed through the "Player Sound Bus" that uses the Wwise Channel Router and is setup using listener relative routing.

image2020-7-13_15-33-12

image2020-7-10_12-24-3

In the image above, the game parameter "GP_PlayerId" is used to determine the channel offset. This allows for sounds that are the same for all players to be setup identically in Wwise. This setup also makes it easy to implement player specific sounds via Switch Containers by having the Switch Group use a game parameter as in the image below.

image2020-7-10_12-28-46

With the channel offset of the Wwise Channel Router setup to be controlled via game parameters, the game code is responsible for triggering the appropriate sounds on the appropriate player's weapon controller game-object by sending a value that corresponds to the channel offset for the associated audio channel. The game is also responsible for setting up all player weapon controller game-objects as listeners of themselves. 

image2020-7-13_15-12-48

Player-Specific Haptic Feedback

Similar to the setup of player-specific sounds, player-specific haptic feedback can be implemented using of the Wwise Channel Router so that haptic feedback can be delivered to the appropriate player's weapon controller. In Wwise, the same game parameter that drives the channel offset for the weapon sounds can be used to drive the channel offset for the weapon feedback.

image2020-7-10_12-22-33

Game Integration

The above Wwise implementation allows the game to post events on positioned game-objects for all surround sounds, and allows the game to post events on player game-objects that have their "GP_PlayerId" RTPC set so that weapon audio and haptic feedback is directed to the appropriate player weapon controller.

image2020-7-13_15-10-56

For further clarification, consider the "Wwise Channel Router" plugins in the above "Advanced Profiler" image. Game-object "Player 03" has its "GP_PlayerId" RTPC set to 2 which corresponds to audio channel 9 for its "Player Sound Bus" and audio channel 18 for its "Player Haptic Bus". Game-object "Player 07" has its "GP_PlayerId" RTPC set to 6 which corresponds to audio channel 13 for its "Player Sound Bus" and audio channel 22 for its "Player Haptic Bus". All of the sounds that pass through the default listener and subsequently the "Surround Sound Bus" are not modified by the "Wwise Channel Router" and are output to the first 6 audio channels of the ASIO Output device.

Example 2 - Dual Quad Speaker Channel Configuration 

Despite currently lacking the ability to automatically adapt to non-standard speaker configurations, Wwise offers developers quite a lot of flexibility in terms of re-purposing standard configurations.

In this example, we have a LBE experience within a cubed speaker setup consisting of 8 speakers - 4 at the corners of the ceiling and 4 at the corners of the floor - where a flying drone with a whirring motor moves around the space.

Wwise Implementation

Two pairs of 4.0 channel configurations are used for both the "Ceiling Audio Bus" and the "Floor Audio Bus".

image2020-5-13_14-33-13

Using the Wwise Channel Router, the "Floor Audio Bus" has its base channel offset statically to not overlap with the "Ceiling Audio Bus" channels.

image2020-5-13_14-55-18

In Wwise, a game parameter is used to determine the mix between the ceiling and floor sounds. Depending on the required result and the preferred units, the game parameter can represent the relative height or relative elevation of the flying drone.

In the example below, the "GP_RelativeHeight" RTPC is used to mix between the ceiling and floor sounds. When the emitter is at the same height as the listener, the volume of its sounds are equal for the ceiling and floor speakers.

image2020-5-13_14-53-11

image2020-5-13_14-53-39

Events are then designed to simultaneously trigger the sounds in both busses. In the image below, the "Play_FlyingDrone_Motor_Sfx" event is composed of two audio targets, "Drone_Motor_Ceiling_Sfx" and "Drone_Motor_Floor_Sfx", which respectively output to the "Ceiling Audio Bus" and the "Floor Audio Bus".

image2020-5-13_14-35-39

Game Integration

With the sounds and events implemented in Wwise, the game is responsible for positioning the drone within the 3D space and updating the height or elevation RTPC value. Creative decisions can be made to adjust the attenuation and RTPC curves to ensure that proper distance attenuation is perceived within the space. With this decision made, the game will update the position of the drone game-object with its 3D-position and either use Wwise's built-in distance attenuation or setup RTPCs to mimic distance attenuation curves allowing the sound of the flying drone to appear to originate from an appropriate location in the experience.

Example 3 - Speakers Arranged in a Flat Grid

There are LBE experiences where all the action occurs on a 2D plane. In the following example, envision speakers arranged in a flat grid where sounds are expected to appear as if emitted from any location within this grid including between speaker locations. The difficulty from working with this speaker configuration arises from the facts that this configuration is non-standard and that panning must be determined using distance-based panning instead of a vector-based approach (VBAP). Despite these complications, this problem can be easily overcome using Wwise and a little ingenuity.

In this example, 9 speakers are arranged in a 3 x 3 vertical grid with single emitter that can be located anywhere within the plane.

Wwise Implementation

In Wwise, positioned sounds are setup with listener relative routing and appropriate 3D spatialization settings. Their attenuation curves are configured to ensure that sound is emitted from the correct number of adjacent speakers. This allows attenuation curves to be adjusted to obtain the desired amount of spread or focus.

image2020-7-14_10-39-41

In the image below, the "Planar Array Mixer" Actor-Mixer is used to simplify the setup in case multiple sounds require these same settings.

 

image2020-5-13_16-58-8

The positioned sounds are then routed to the "Speaker Bus" which has no attenuation, no 3D spatialization but has its listener relative routing enabled. On the "Speaker Bus", an RTPC is applied to the Channel parameter of the Wwise Channel Router. Attenuation is set to “None” on the "Speaker Bus" so that the distance to the default listener does not affect the volume calculations.

image2020-5-13_16-51-53

image2020-5-15_16-23-28

Game Integration

The game registers (at least) one default listener and a non-default listener game-object for every physical speaker.

image2020-5-19_11-47-29

Each of these non-default listener game-objects is positioned in-game analogous to its real-world physical location and has its Channel offset RTPC set associating it with the appropriate output audio channel.

image2020-7-14_10-16-59

Each emitter game-object is then set to be listened to by all non-default listener game-objects. Consequently, the sound emitted by these game-objects will be captured by the surrounding listener game-objects.

image2020-5-19_11-46-42

As can be seen in the image below, the distance attenuation of the "FlyingDrone_Motor_Sfx" sound is setup to ensure that it is heard by at most its closest 4 listeners.

image2020-5-19_23-43-33

Conclusion

Currently with a little creativity, Wwise can be used to facilitate the sound design of LBE installations. Upcoming advancements in Wwise will make it even easier to deal with the spatialization of sound within irregular speaker configurations. Stay tuned.... 

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

 

 

 

 

 

Shawn Laptiste

Field Engineer

Audiokinetic

Shawn Laptiste

Field Engineer

Audiokinetic

Shawn Laptiste is known for having an affinity for beautiful sounds and for caring about clean code. With almost two decades of professional software development experience, tinkering with computer music on the side, his interests range from game design to sound design and installation art. He works as a Field Engineer at Audiokinetic working closely with clients to help them achieve success.

 @lazerfalcon

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

音频对象如何提高空间精度

这一系列博客文章源自2020年10月在GameSoundCon上发表的演讲。演讲目的是为创作者提供通过使用基于对象的音频渲染技术来完善他们新项目的视角和工具。而该技术能够实现尽可能自然的空间音频体验。...

25.5.2021 - 作者:西蒙.阿什比(Simon Ashby)

Wwise 2021.1 中值得一试的 10 项新增功能

在不久前,我们推出了 Wwise 2021.1 以供通过 Launcher 下载。该版本增添了基于对象的管线、Radial Emitter、Impacter 插件、WAQL...

3.8.2021 - 作者:麦斯·麦雷蒂·桑德鲁普 (Mads Maretty Sønderup)

在 Wwise 中设定 Audio Object

未来遥不可及,往日似水流年。亦如费里斯•布勒 (Ferris Bueller) 所说:“生活快速向前,时光转瞬即逝。如不偶尔驻足停留,就可能会错失良辰。”距离 Wwise 2021...

24.8.2021 - 作者:戴米安·卡斯特鲍尔(Damian Kastbauer)

互动音乐:根据玩家在游戏中所做的选择播放不同的乐段

在 2018 年众筹成功之后,inXile Entertainment 开始全力制作《Wasteland 3》。尽管上一款游戏《Bard's Tale IV》的配乐赢得了一致好评,布莱恩•法戈...

1.12.2021 - 作者:亚历山大•布兰登 (Alexander Brandon)

2021年国际互动音乐研讨会概要

2021 年 8 月 26 日,Audiokinetic...

6.7.2022 - 作者:Audiokinetic (音频动能)

结合使用 Strata、Wwise 和 Unreal 构建沉浸游戏体验

在这篇博文中,我们将深入探讨如何使用 Strata 进行互动设计。为此,我们要在 Unreal Engine 5 工程中结合 Wwise...

31.5.2023 - 作者:蔡斯•斯蒂尔 (Chase Steele)

更多文章

音频对象如何提高空间精度

这一系列博客文章源自2020年10月在GameSoundCon上发表的演讲。演讲目的是为创作者提供通过使用基于对象的音频渲染技术来完善他们新项目的视角和工具。而该技术能够实现尽可能自然的空间音频体验。...

Wwise 2021.1 中值得一试的 10 项新增功能

在不久前,我们推出了 Wwise 2021.1 以供通过 Launcher 下载。该版本增添了基于对象的管线、Radial Emitter、Impacter 插件、WAQL...

在 Wwise 中设定 Audio Object

未来遥不可及,往日似水流年。亦如费里斯•布勒 (Ferris Bueller) 所说:“生活快速向前,时光转瞬即逝。如不偶尔驻足停留,就可能会错失良辰。”距离 Wwise 2021...