Version

menu_open
Warning : Some protected information on this page is not displayed.
Ensure you are logged in if you are a licensed user for specific platforms.

Version Tips and Best Practices

You may want to review the following sections, which provide you with a series of tips and best practices that can help you better manage your platform and language versions throughout the audio development process.

Converting multiple files

You can convert many audio files at once by right-clicking a high-level object in the hierarchy, such as a container, and then selecting Convert from the shortcut menu. If you want to set the Conversion Settings for an entire group of objects, you can right-click the top-level object and select Conversion Settings from the shortcut menu. You can also multi-select objects in the Project Explorer and then define their Conversion Settings or convert them all simultaneously.

Strategies for Conversion Settings

Many times, when a studio develops a game, it examines each platform and then allocates a “budget” for such items as the memory footprint, CPU, and bandwidth. The audio team is given a portion of this budget and it is up to them to manage this budget efficiently for each platform. Depending on the platform, these allowances will be different, so the audio designer needs to understand how to efficiently compensate for these differences and still deliver great sound using the various Conversion Settings available. To see how well you are doing, you can monitor your project's performance in game using the Game Profiler, and adjust the Conversion Settings as needed to stay within your budget.

Audio formats

Audio formats must also be considered in your budget. It is useful to review the characteristics of the different formats supported by Wwise so that you can make good choices for your project. A general rule is that the less a file is compressed, the less processing power is needed; however, an uncompressed file usually uses more memory or disk space.

The following table provides you with some basic suggestions and information to help you decide how to encode your audio files.

File Format

Compression ratio
(approx)

CPU

Memory

Examples of how these are commonly used

Limitations

PCM

1:1

Very Low

High

Sounds requiring high fidelity.

None.

ADPCM

4:1

Low

Moderate

Ambient sounds and SFX.

Looping on 64 sample boundaries only.

Vorbis

3-40:1

Moderate to High

Moderate to very low

Dialogue, music, ambient sounds, and SFX.

Slightly larger metadata overhead than other formats, so you should avoid it with very small sounds (less than a few tens of milliseconds). Requires a seek table for seeking.

AAC

3-23:1

High (low when using hardware-assisted decoder on iOS)

Moderate to low

Background (not interactive) music.

Very large metadata overhead. Long setup time. Not appropriate for sample-accurate playback.


Opus (standard)

10-60:1

High

Moderate to very low

Dialogue, simple music, ambient sounds, and SFX.

Slightly larger metadata overhead than other formats, so you should avoid it with very small sounds (less than a few tens of milliseconds).

Very long setup time after a seek or a loop, especially when streamed from disk. Therefore should be used with caution with Interactive Music, if streamed. Seeking also incur a significant, but temporary, CPU hit.

Using seek tables with the Vorbis encoder

By default, the Vorbis encoder uses a Seek table granularity (sample frames) of 16384. While seek tables are not always necessary, you must use one in the following circumstances:

  • When using the Vorbis encoder in combination with the virtual voice "From Elapsed Time" settings.

  • When using the Vorbis encoder for interactive music files, especially when the sound engine must start reading the file from somewhere other than the beginning.

  • When using Seek Actions with the Vorbis encoder.

To enable the seek table for a selection of Vorbis encoded files, do the following:

  • In the Conversion Settings dialog, click Edit for the platform that is using the Vorbis encoder.

  • In the Vorbis Encoder Parameters dialog, specify granularity by selecting a number from the Seek table granularity list.

Smaller seek table granularities require more memory. Sample-accurate seeking (interactive music or seek actions) may incur a CPU spike if granularity is too large, and inefficient I/O usage if it is larger than the disk streaming granularity. As a rule of thumb, pick a seek table size that is smaller or equal to your disk streaming granularity, which is the value used for AkDeviceSettings::uGranularity during initialization.

[Note] Seeking can fail if the file is too small

If the file is smaller than or very close to the size of the Seek table granularity, seeking may fail. In such cases, make the Seek table granularity smaller.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise