A finished game will have hundreds if not thousands of sounds that all need to make their way to the speaker that the player is listening to. As you’ve learned, sounds in Wwise originate from sources such as Audio files or Signal Generators, but the journey that each signal takes from its point of origin, through the Wwise Mixing System and on to your computer’s speaker can vary. Much like in Digital Audio Workstations and conventional mixing consoles, Source Signals can be combined together onto Audio Busses for easy organization and control of the Audio Signal Flow. Portions of signals can be sent via Auxiliary Sends to apply Effects. In this lesson you’ll explore how to build these pathways and, more importantly, understand why they are necessary.
One of your first steps in organizing your project’s Audio Signal Flow is to first organize the various Objects within the Actor-Mixer Hierarchy. In earlier lessons, you’ve already placed various Sound SFX Objects into a Containers to both organize similar sounds together and to use the Container’s Properties to quickly apply features such as Pitch Randomization to all of the Objects contained within. You’ve also created Actor-Mixer Objects as parent Objects, to make the handling of Object Propteries even more easy. Organizing Objects of a similar type together is a good place to start when trying to manage the hundreds or thousands of sounds that you may integrate into a game.
Check if your Actor-Mixer Hierarchy is organized into several different Actor-Mixers.
Depending on how many sounds you’ve implemented for the Platformer Game at this point, your Actor-Mixer Hierarchy could look like this. (Pic01 Actor-Mixer Hierarchy)
In gameplay, it’s not uncommon for fifty or more sounds to play simultaneously. Considering that the Audio Output of your computer most likely has only two output channels, left and right, Wwise must mix the signals grouped by Actor-Mixers together internally before reaching your computer’s Audio Interface. You just learned that no actual mixing of Audio occurs in the Actor-Mixer Hierarchy, so you may be wondering where mixing the various sounds together occurs. This is accomplished in the Project Explorer’s Master-Mixer Hierarchy.
Click the Master Audio Bus in the Master-Mixer Hierarchy. (Pic02 Master-Mixer Hierarchy)
In Wwise, a Bus is a type of Audio Object where the actual summing of multiple Audio Signals into a new single Audio path can occur. Busses do not appear in the Actor-Mixer Hierarchy, but instead are available here in the Master-Mixer Hierarchy. All Wwise projects have at least one Audio Bus found in the Master-Mixer Hierarchy called the Master Audio Bus. All sounds that will be heard in the game will eventually flow through this Master Audio Bus. Let’s take a look at this very important Bus.
Select one of the Actor-Mixers in the Default WorkUnit of your Actor-Mixer Hierarchy.
See how the Actor-Mixer Output Bus is set to Master Audio Bus. (Pic03 Output Bus) Because this is set on the Actor-Mixer, it means that all contained Objects have their outputs assigned to Master Audio Bus as well. In other words, imagine every Object as a piece of Audio Equipment, with an Audio Cable that’s connected directly to an Audio Mixing Console that is called Master Audio Bus. Unlike conventional Audio Mixing Consoles which are limited by the number of physical inputs they have, there is no practical limit to how many individual Objects can be connected to a Bus.
Take another look at the Master Audio Bus in the Master-Mixer Hierarchy.
In the Audio Bus Property Editor, you see an Audio Meter. This is the exact meter you see on the very right side of Wwise’s UI. (Pic04 Output Meter) Meters are something that aren’t available in Actor-Mixers because no Audio actually passes through an Actor-Mixer. Since the actual Audio Level metering is found only on an Audio Bus, this confirms that Audio in fact passes through the Bus.
Select any Sound SFX Object or Container in the Actor-Mixer Hierarchy, and then re-select the Master Audio Bus to look at the Output Meter, then play your Object.
The meters display the overall sound level feeding the Bus. You may have noticed that there are two Volume controls. The Bus Volume control that also includes a Volume Fader represents the Main Output. (Pic05 Bus Levels) Adjusting this Fader turns the summed signal coming from all sources feeding this Bus up or down. The Volume Property as well as the Pitch and Low-pass Filter Properties found within the Voice do not act directly on the summed Audio Signal, but instead act as yet another set of offset controls which remotely impact any Objects that are contributing to this Bus. Because all Objects ultimately feed the Master Audio Bus, adjusting any of these Properties is like adjusting every single Object in our project, so be very careful with these.
Just as you can nest Objects within Objects in the Actor-Mixer Hierarchy, you can nest Audio Busses within Audio Busses, including the Master Audio Bus. Using additional Busses is useful when you want to quickly manipulate something about a particular category of sounds. For example, many games allow the player to set the Volume of the music separately from the other sounds in the game. By Bussing all music to a music Bus, it’s possible to map user input to the Music Bus Volume Property.
Select the Master Audio Bus and click Create new Audio Bus three times, to create four Busses.
Name the new Audio Busses Cinematic, Music, Sfx and Voice. These four Sub-Busses to the Master Audio Bus are very common to be exposed in the Audio options menu screen of any game, allowing the player to alter the balance of different sound categories a little bit. (Pic06 Create Sub-Busses)
To have more control over the Audio Signal Flow, create some more Sub-Busses. Depending on the needs of your game, the Master-Mixer Hierarchy could look like this. (Pic07 sophisticated Sub-Bus Structure)
Select the atmo Actor-Mixer in the Actor-Mixer Hierarchy. In the Sound Property Editor's Output Bus group, click the ... button to the right of the Master Audio Bus assignment.
Expand the Default Work Unit and the Master Audio Bus, and then select the atmo Sub-Bus and click OK. (Pic08 Changing the Output Bus) You will see that the atmo Sub-Bus is now displayed as the Output Bus for this Object.
Now you can quickly do this with all remaining Actor-Mixers, before continuing this lesson. If you want to redirect a child Object to another Bus than the parent Object, just click Override Parent.
You can also drag and drop a Bus Object from the Project Explorer right to the Output Bus box in the Property Editor’s General Settings Tab.