Founded in 1983, CRI Middleware has a rich history of pioneering ground-breaking game technologies, from writing the first game ever on CD-ROM (Afterburner II FM_TOWNS) to assisting Sega in the early 90’s with multi-streaming and sound compression technologies. Without a doubt, developing advanced audio and video codecs is part of CRI Middleware’s DNA.
When using the ADX2 game audio middleware, two proprietary codecs are available in addition to the ones from the console manufacturers. The first one, ADX, is a high-fidelity, high compression, low CPU-load codec running on all game platforms, mobile devices and embedded systems. With ADX, 48kHz stereo sounds can be compressed up to 1/16.
The second proprietary codec, HCA (for High Compression Audio), offers compression ratios comparable to the general-purpose audio codecs such as MP3 or AAC (from 1/6 to 1/12). However, this codec has been carefully tuned for games: not only is the CPU load very low compared to MP3 and AAC, it is also stable during decoding (without any spike) and it supports seeking.
Within AtomCraft, the sound quality (compression ratio) of the HCA encoding can be specified by a five-level value: 1- Hi Quality, 2- Medium Hi Quality, 3- Medium Quality, 4- Medium Low Quality, 5- Low Quality.
The HCA-MX codec is a variation of the HCA codec which reduces the CPU load even further when playing back a large number of sounds simultaneously. When using a conventional audio codec, CPU- load will typically rise as much as ten times when playing 10 sounds simultaneously, but with the HCA-MX codec , the CPU-load may rise as little as two times!
During the HCA-MX playback, the audio data is decoded only after the mixing. Therefore, the engine can play hundreds of sounds on consoles, and tens of sounds on mobile platforms with a really small CPU cost.
*Mono, 48kHz, HCA-MX compression. For 16 simultaneous playbacks, about 9% of CPU load on iPhone4S.
Here are some benchmarks done on the previous generations of iPhone:
*It should be noted that some functions such as filtering, pitch change or seamless concatenated playback cannot be used in HCA-MX.