{"id":239,"date":"2016-04-11T15:20:59","date_gmt":"2016-04-11T06:20:59","guid":{"rendered":"http:\/\/blog.criware.com\/?p=239"},"modified":"2016-04-11T18:04:00","modified_gmt":"2016-04-11T09:04:00","slug":"meet-adx2s-powerful-proprietary-codecs","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2016\/04\/11\/meet-adx2s-powerful-proprietary-codecs\/","title":{"rendered":"Meet ADX2&#8217;s powerful proprietary codecs"},"content":{"rendered":"<p>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&#8217;s with multi-streaming and sound compression technologies. Without a doubt, developing advanced audio and video codecs is part of CRI Middleware&#8217;s DNA.<\/p>\n<p>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.<\/p>\n<p>The second proprietary codec, HCA \u00a0(for High Compression Audio), \u00a0offers 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.<\/p>\n<p><img decoding=\"async\" class=\"size-medium wp-image-246 aligncenter\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_01-300x172.png\" alt=\"adx2_codec_tutorial_01\" width=\"300\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_01-300x172.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_01.png 730w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-247 aligncenter\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_02-300x115.png\" alt=\"adx2_codec_tutorial_02\" width=\"578\" height=\"222\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_02-300x115.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_02.png 578w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/p>\n<p>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!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-242 aligncenter\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_03-300x210.png\" alt=\"adx2_codec_tutorial_03\" width=\"300\" height=\"210\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_03-300x210.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_03-768x538.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_03-130x90.png 130w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_03.png 928w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>During the\u00a0HCA-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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-243 aligncenter\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_04-300x180.png\" alt=\"adx2_codec_tutorial_04\" width=\"300\" height=\"180\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_04-300x180.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_04.png 664w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>*Mono, 48kHz, HCA-MX compression. For 16 simultaneous playbacks, about 9% of CPU load on iPhone4S.<\/p>\n<p>Here are some benchmarks done on the previous generations of iPhone:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-244 aligncenter\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_05-300x68.png\" alt=\"adx2_codec_tutorial_05\" width=\"600\" height=\"136\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_05-300x68.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_05-768x175.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_05-800x183.png 800w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_05.png 803w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>*It should be noted that some functions such as filtering, pitch change or seamless concatenated playback cannot be used in HCA-MX.<\/p>\n<p><img decoding=\"async\" class=\"size-medium wp-image-245 aligncenter\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_06-225x300.png\" alt=\"adx2_codec_tutorial_06\" width=\"300\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_06-225x300.png 225w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/04\/adx2_codec_tutorial_06.png 482w\" sizes=\"(max-width: 225px) 100vw, 225px\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Founded in 1983, CRI Middleware has a rich history of pioneering ground-breaking game technologies, from writing the first game ever<\/p>\n","protected":false},"author":2,"featured_media":262,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-239","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adx","category-tutorials"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/239","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=239"}],"version-history":[{"count":11,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/239\/revisions"}],"predecessor-version":[{"id":260,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/239\/revisions\/260"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/262"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}