ADX Essential Terms [Part 1]
If you are new to ADX or just need a quick refresher, this three-part guide is for you! It covers the key terms and fundamental concepts you will encounter when authoring interactive sounds in AtomCraft.
Project structure
There is one AtomCraft project per game. The project includes the overall settings, all the information about the sounds you design, the audio files they reference, etc.
Work Unit
To make it more manageable, the project is organized into Work Units. They can be used to divide the project data into the various types of assets to be created, the zones in the games, or the designers working on them, for instance. This makes Work Units very convenient for version control.
Cue Sheet
A Work Unit can contain one of more Cue Sheets. Cues Sheets are containers for Cues. A Cue basically corresponds to an interactive sound, and therefore, the Cue Sheets are similar to the sound banks one can find in other middleware.
Each Cue Sheet will be exported individually and can be loaded/unloaded as needed during the game. For example, it is assumed that it will be used in units of one scene or one character in a game.
Global Settings
They include the various settings used across the project and that are accessible during the whole game. Some of the most important types of settings are listed below:
Target Configs
They allow for the configuration of your target platforms (PC, Android, iOS, PS5, Switch etc…). Target configs are used when converting and building for a specific device.
Language settings
They allow for the configuration of each localized language (mostly used for dialog).
Global AISAC
These defines ways to control sound parameters that can be used across the whole project, for example volume attenuation based on the distance.
Categories
They group multiple Cues together to control them all at once. Categories can be used to adjust the volume of all the Cues that belong to them, limit the number of Cues that can play simultaneously within that category change the audio parameters of all the Cues belonging to a category etc.
They are organized into Category Groups (e.g., type of sounds, levels, states, etc.).
Other global settings include bus maps for mixing, game variables for control from the game, output port definitions, etc.
Once you have adjusted your project settings and created your Cue Sheets, you will build the binary data that will be loaded into the game.
ACF File
The ACF (Atom Config File) is unique. It contains all the global project information.
ACB File
One ACB (Atom CueSheet Binary) file is generated for each CueSheet in the project. It contains all the parameters of the Cues belonging to that CueSheet, as well as all the waveform data for the Materials supposed to be read directly from memory (i.e., not streamed).
AWB file
If a CueSheet references audio data that will be streamed, an AWB (Atom Wave Bank) file will also be generated, containing that audio data. If no Cue uses streaming audio, then no AWB file will be generated for that CueSheet.
Audio Files
When designing interactive sounds, your first step will be to add some audio files to your project.
Material
This is the name of an audio file (it can be a .wav or an .aiff file) that has been registered in Atom Craft. It contains file information, as well as looping and encoding settings, etc. Materials can be organized in Material Folders folder and inherit the parent settings to simplify the setup.
ADX codec
One of CRIWARE’s proprietary audio codecs, it provides high-quality sound and extremely low load, with a compression rate of about 1/4. This option is primarily for cases where CPU load is more of an issue than data size.
HCA codec
Another proprietary audio codec, offering a compression ratio from 1/4 to 1/16.
It was especially conceived for gaming and requires less CPU load and memory than general-purpose audio codecs such as mp3 and AAC.
HCA-MX codec
The compression rate and sound quality are the same as HCA, but it is designed to reduce the CPU load when playing multiple sounds simultaneously. Limitations about sample rate and pitch shifting operations apply.
Encryption
ADX provides a mechanism to protect your content by encrypting the audio. The encryption key can be set in the global settings of AtomCraft.
Cues
Dragging Materials onto a CueSheet will automatically create Cues.
Cue
The Cue is the basic interactive sound object that is played back by the game code.
A Cue consists of a timeline with items placed on one or several tracks. How the tracks are played when the sound is triggered in the game depends on the type of the Cue (described below).
Track
A track is similar to its equivalent in a DAW. It can have several Waveform Regions, as well as markers, automation, etc.
Waveform Region
A waveform region is a block of audio data placed on a track that references an audio Material and can have its own settings for volume, pitch, and voice limit.
The picture below shows a single Cue with three tracks, the first one containing three Waveform Regions.
Here are the different types of Cues available:
Polyphonic Cue
This is the default type. All tracks are played simultaneously.
This is especially useful when creating ambiences or layered sound effects.
Sequential Cue
Tracks are played back sequentially, according to their position from top to bottom in the timeline view. Each trigger from the game plays a new track. Once the last track has been played, the next playback will jump back to the first one.
This type of Cue can be used to create the sound of a countdown or implement a music playlist (like a radio program), for instance.
Random Cue
Each time the Cue is triggered, one of its tracks is randomly selected and played. The selection process can be skewed by adjusting the Random Weight property of each track.
This is useful for any type of sound that needs variation, such as impacts, gunshots, or character Foley.
Random No Repeat Cue
This is similar to a Random Cue, except that it guarantees that the same track will never be repeated twice in a row.
Shuffle Cue
This is basically a random playback that ensures that all tracks are played once before one is repeated.
Switch Cue
The track to be played back is selected depending on the value of a Game Variable or a Selector Label (see our next post for more about these terms).
It can be advantageously used for footsteps, by changing the sound triggered based on the surface the character is walking on (each track corresponding to a different material).
Combo Sequential Cue
The first track is played. Then, the next track is played only if the Cue is re-triggered within a certain time. If it is triggered too late, it returns to the first track.
As the name implies, this playback behavior is especially useful for combos (as in a fighting or puzzle game).
We will stop here for this first post about the essential terms used in ADX. Next time, we will explore even more things you can do with Cues!