Version
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.
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.
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. The following sections look at how different settings can affect the sound designer's budget.
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 |
CPU |
Memory |
Examples of how these are commonly used |
Limitations |
||||||
---|---|---|---|---|---|---|---|---|---|---|---|
PCM |
1:1 |
Low |
High |
Sounds requiring high fidelity. |
None. |
||||||
ADPCM |
4:1 |
Moderate |
Moderate |
Ambient sounds and SFX. |
Looping on 64 sample boundaries only. |
||||||
Vorbis |
3-40:1 |
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. |
||||||
XMA |
2-20:1 |
Low |
Moderate to very low |
Ambient sounds and SFX that do not require precise looping. |
Large metadata overhead. Streamed sounds can only loop across whole files, and there may be gaps of silence at loop points. In-memory sounds support looping at 128 sample boundaries. Not appropriate for sample-accurate playback. |
||||||
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 |
10-60:1 |
Very Low* |
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).
|
By default, the Vorbis encoder does not use a seek table in order to save disk space. You must, however, use a seek table 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.
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise