8.2) Conversion Settings
You now have the task of trying to figure out how to reduce the size of your Sfx SoundBank. There are various strategies for this and one of the most effective is to convert the .wav audio files that you’ve imported into the project into another form that takes less space. This could be done by reducing the sample rate, reducing the number of channels such as downmixing it to mono, or even converting to another file type altogether. While this usually means that there will be a reduction in sound quality, that’s a compromise you may have to take. The beauty of Wwise is that you didn’t have to worry about making these conversions during the import process, allowing you to fully assess the situation and make these conversions as needed, when needed. While it’s possible to convert files one at a time, you’ll usually decide on Conversion Settings that apply to the bulk of your sounds and apply them all together. To do this, you’ll create a Conversion Setting ShareSet that serves as a preset that you can apply to Audio Objects.
In the Project Explorer click the ShareSets Tab.
Select the Conversion Settings Default Work Unit and click Create new Conversion Settings.
The bulk of your sounds consists of sound effects, so you can create a Conversion Setting that applies to these types of sounds. Name the Conversion Settings ShareSet Sfx. (Pic01 Conversion Setting)
Additional Conversion Settings ShareSets can be created for other types of sounds. It’s not relevant for this Game, but as an example: dialogue has a limited frequency range which provides an opportunity to use lower sample rates with only little noticeable effect. You also may want to treat music elements differently as it is full frequency and we tend to be very sensitive to poor sound quality.
Now that you have a Conversion Settings ShareSet for your project, you can assign it to Objects in your actor-mixer hierarchy. The assignment of Conversion Settings ShareSets, like other Object Properties, are inherited from parent to child. This means that if you assign a Conversion Settings ShareSet to an Actor-Mixer, all Containers and Objects below it will automatically use the same ShareSet.
Switch to the Designer Layout and in the Project Explorer, click the Audio Tab and select the FxBulletTime Actor-Mixer. (Pic02 FxBulletTime Actor-Mixer)
In the Property Editor, select the Conversion Tab. Common Conversion Settings appear. (Pic03 Conversion Tab)
In the Conversion Settings group box, there is a Mode setting with two options. You can find these everywhere you work with ShareSets. The two modes you can choose from are Use ShareSets and Define Custom. Define Custom is used when you want to apply a unique Conversion Setting that you do not have a ShareSet for. Since you’ve created a ShareSet, change the Mode to Use ShareSets. Use ShareSets is the default for new Objects.
Select the Mode Parameter and choose Use ShareSets if not selected by default. (Pic04 Use ShareSets)
Click the selector to reveal the list of the ShareSets you created and select Sfx. Now you need to adjust the Conversion Parameters of this Conversion ShareSet. (Pic05 Sfx Conversion Settings ShareSets)
Click Edit to the right of the Sfx ShareSet. The Conversion Settings Editor opens. (Pic06 Conversion Settings Editor)
The upper part of the window shows Conversion Parameters that are applied to any Objects assigned to this ShareSet. The lower part of the window displays a list of the Objects currently assigned to the ShareSet along with details about the audio files such as how many channels they are, their sample rate, and most importantly their original file size.
Notice that some of the Audio Source names appear in Blue and their Converted Size column value is empty. This is because the conversion process has not yet been applied to these files. If Audio Sources appear in white, they were already converted when you generated SoundBanks earlier.
There are a variety of conversion processes that can be applied to an audio file to help reduce its size. Converting stereo channels to mono or lowering the sample rate can help to reduce file size but can also create obvious changes in how the audio sounds. Another option is to change the format. By default, audio imported into Wwise is typically a PCM file, which means that there has been no compression of data applied to the file. Data compression like that used with MP3 files can greatly reduce a file’s size, and depending on how it is applied, may be barely noticeable. While Wwise does not provide MP3 compression as an option, it does provide Vorbis compression which is very similar, although many would argue sounds better and has become a standard in game audio integration. The one consideration is that if a file is compressed, then the game system must decompress it to play it, putting an additional load on the system’s processor. This is where you must take into account the benefits of file size vs. processor usage. In this case you’ll go ahead and use Vorbis compression.
Click the Format pull-down menu for Windows and Mac formats and select Vorbis. If you don’t see the Format menu, expand the View. (Pic07 Vorbis Compression)
The Audio Sources turn blue indicating that they have yet to be converted to your newly selected Conversion Setting. A Quality Property value, which is specific to the Vorbis option is displayed. This represents the quality of sound that will result after the Vorbis conversion on a scale from -2 to 10 with -2 being lowest. While higher values represent better sound quality, it also means less data reduction will occur. A value of 4 is a good starting point because it dramatically reduces file size while providing acceptable sound in most situations. You’ll now need to apply the setting.
Click Convert to apply the Conversion Settings. You could also just generate the SoundBank which also applies the Conversion Settings. (Pic08 Convert and Apply)
The Audio File Conversion dialog box opens verifying which platforms you want to apply. (Pic09 Conversion Dialog Box) Choose the option as desired and click OK.
After a brief moment of processing, the filenames in the file list change to white, indicating that they have all been converted. You can now also see the converted file size. The Vorbis conversion has reduced most file sizes by 70-80%, a huge saving in space. To see how this impacts your memory budget for your SoundBank, you need to generate the SoundBank. (Pic10 Reduced File Sizes)
Close the Conversion Settings window, then go back to the SoundBank Layout and click Generate.
You can see that the Sfx SoundBank still doesn’t meet the memory budget. There are still other elements in the Sfx SoundBank that are uncompressed. Because the game has only one level, the sound files for the atmo are also located in this SoundBank. (Pic11 Memory Budget)
Go back to the Designer Layout, select the Atmo Actor-Mixer, go to the Conversion Tab and select the Sfx Conversion Settings Shareset to compress elements with Vorbis compression. (Pic12 Compress Atmo Elements)
Now Generate the SoundBank again. The Sfx SoundBank is now within the Max Size. Even more so, it has gotten quite small if you compare Data Size to Decoded Size of the SoundBank. (Pic13 Data Size vs. Decoded Size)
After you have created the Conversion Settings ShareSets for your project, you can specify which one you want to use as the default. The default Conversion Settings ShareSet is used when a new Object is created, but will only be used if the new Object is a top-level parent Object. If the Object has a parent, it will inherit the parent’s Conversion Settings. If an Object has not been assigned a Conversion Settings ShareSet, the default ShareSet will be used to convert the Object when the SoundBanks are generated. The default ShareSet is assigned in the Source Settings Tab of the Project Settings in the Main Menu.
Although saving memory is a good idea, it’s not good if the audio quality suffers so much that it’s distracting. Wwise provides an easy way to compare your converted audio with the original audio you first brought in.
Go back to the Designer Layout and, in the Event Viewer, choose the playAtmo Event, select a PlayerLocation State and play it a few times. (Pic14 Compare Sound Quality)
As you play the playAtmo Event, you’re listening to the original unconverted versions of the various atmo sounds. This is because the Original button in the upper left corner of the Transport View is selected.
Turn off the Original button in the Transport View and play the same Event again. (Pic15 Play converted Files)
Now you’re listening to the result of your conversion. Comparing between the original and the converted version is as simple as clicking the Original button. Convenient!
Objects displayed in blue indicate that the associated audio file has not been converted. In this case you won’t be able to play that Object without the Original button being selected.