{"id":6455,"date":"2025-10-12T23:55:45","date_gmt":"2025-10-12T14:55:45","guid":{"rendered":"https:\/\/blog.criware.com\/?p=6455"},"modified":"2025-10-12T23:55:45","modified_gmt":"2025-10-12T14:55:45","slug":"adx-essential-terms-part-1","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2025\/10\/12\/adx-essential-terms-part-1\/","title":{"rendered":"ADX Essential Terms [Part 1]"},"content":{"rendered":"<p>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.<\/p>\n<h4><b> Project structure<\/b> <\/h4>\n<p>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.<\/p>\n<h6>Work Unit<\/h6>\n<p>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.<\/p>\n<h6>Cue Sheet<\/h6>\n<p>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.<\/p>\n<p>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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/WorkUnits-Tree.png\" alt=\"\" width=\"568\" height=\"362\" class=\"alignnone size-full wp-image-6456\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/WorkUnits-Tree.png 568w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/WorkUnits-Tree-300x191.png 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/p>\n<h6>Global Settings<\/h6>\n<p>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: <\/p>\n<h6>Target Configs<\/h6>\n<p>They allow for the configuration of your target platforms (PC, Android, iOS, PS5, Switch etc\u2026). Target configs are used when converting and building for a specific device.<\/p>\n<h6>Language settings<\/h6>\n<p>They allow for the configuration of each localized language (mostly used for dialog).<\/p>\n<h6>Global AISAC<\/h6>\n<p>These defines ways to control sound parameters that can be used across the whole project, for example volume attenuation based on the distance.<\/p>\n<h6>Categories<\/h6>\n<p>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.<br \/>\nThey are organized into Category Groups (e.g., type of sounds, levels, states, etc.).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Categories.png\" alt=\"\" width=\"761\" height=\"401\" class=\"alignnone size-full wp-image-6461\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Categories.png 761w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Categories-300x158.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Categories-390x205.png 390w\" sizes=\"auto, (max-width: 761px) 100vw, 761px\" \/><\/p>\n<p>Other global settings include bus maps for mixing, game variables for control from the game, output port definitions, etc.<\/p>\n<p>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.<\/p>\n<h6>ACF File<\/h6>\n<p>The ACF (Atom Config File) is unique. It contains all the global project information.<\/p>\n<h6>ACB File<\/h6>\n<p>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).<\/p>\n<h6>AWB file<\/h6>\n<p>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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Project-Files.png\" alt=\"\" width=\"747\" height=\"329\" class=\"alignnone size-full wp-image-6463\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Project-Files.png 747w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Project-Files-300x132.png 300w\" sizes=\"auto, (max-width: 747px) 100vw, 747px\" \/><\/p>\n<h4><b>Audio Files<\/b><\/h4>\n<p>When designing interactive sounds, your first step will be to add some audio files to your project.<\/p>\n<h6>Material<\/h6>\n<p>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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Materials.png\" alt=\"\" width=\"1036\" height=\"916\" class=\"alignnone size-full wp-image-6466\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Materials.png 1036w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Materials-300x265.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Materials-1024x905.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Materials-768x679.png 768w\" sizes=\"auto, (max-width: 1036px) 100vw, 1036px\" \/><\/p>\n<h6>ADX codec<\/h6>\n<p>One of CRIWARE\u2019s 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.<\/p>\n<h6>HCA codec<\/h6>\n<p>Another proprietary audio codec, offering a compression ratio from 1\/4 to 1\/16.<br \/>\nIt was especially conceived for gaming and requires less CPU load and memory than general-purpose audio codecs such as mp3 and AAC.<\/p>\n<h6>HCA-MX codec<\/h6>\n<p>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.<\/p>\n<h6>Encryption<\/h6>\n<p>ADX provides a mechanism to protect your content by encrypting the audio. The encryption key can be set in the global settings of AtomCraft.<\/p>\n<h4><b>Cues<\/b><\/h4>\n<p>Dragging Materials onto a CueSheet will automatically create Cues.<\/p>\n<h6>Cue<\/h6>\n<p>The Cue is the basic interactive sound object that is played back by the game code.<br \/>\nA 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).<\/p>\n<h6>Track<\/h6>\n<p>A track is similar to its equivalent in a DAW. It can have several Waveform Regions, as well as markers, automation, etc.<\/p>\n<h6>Waveform Region<\/h6>\n<p>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.<\/p>\n<p>The picture below shows a single Cue with three tracks, the first one containing three Waveform Regions. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Cue-Timeline.png\" alt=\"\" width=\"958\" height=\"509\" class=\"alignnone size-full wp-image-6467\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Cue-Timeline.png 958w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Cue-Timeline-300x159.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2025\/10\/Cue-Timeline-768x408.png 768w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/p>\n<p>Here are the different types of Cues available:<\/p>\n<h6>Polyphonic Cue<\/h6>\n<p>This is the default type. All tracks are played simultaneously.<br \/>\nThis is especially useful when creating ambiences or layered sound effects.<\/p>\n<h6>Sequential Cue<\/h6>\n<p>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.<br \/>\nThis type of Cue can be used to create the sound of a countdown or implement a music playlist (like a radio program), for instance.<\/p>\n<h6>Random Cue<\/h6>\n<p>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.<br \/>\nThis is useful for any type of sound that needs variation, such as impacts, gunshots, or character Foley.<\/p>\n<h6>Random No Repeat Cue<\/h6>\n<p>This is similar to a Random Cue, except that it guarantees that the same track will never be repeated twice in a row.<\/p>\n<h6>Shuffle Cue<\/h6>\n<p>This is basically a random playback that ensures that all tracks are played once before one is repeated.<\/p>\n<h6>Switch Cue<\/h6>\n<p>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).<br \/>\nIt 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).<\/p>\n<h6>Combo Sequential Cue<\/h6>\n<p>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.<br \/>\nAs the name implies, this playback behavior is especially useful for combos (as in a fighting or puzzle game).<\/p>\n<p>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!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you are new to ADX or just need a quick refresher, this three-part guide is for you! It covers<\/p>\n","protected":false},"author":2,"featured_media":6469,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[5],"tags":[],"class_list":["post-6455","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adx"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/6455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/comments?post=6455"}],"version-history":[{"count":12,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/6455\/revisions"}],"predecessor-version":[{"id":6473,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/6455\/revisions\/6473"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/6469"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=6455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=6455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=6455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}