{"id":160,"date":"2016-03-29T15:46:15","date_gmt":"2016-03-29T06:46:15","guid":{"rendered":"http:\/\/blog.criware.com\/?p=160"},"modified":"2016-03-29T16:12:29","modified_gmt":"2016-03-29T07:12:29","slug":"auto-ducking-in-adx2-with-react","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2016\/03\/29\/auto-ducking-in-adx2-with-react\/","title":{"rendered":"Auto-ducking in ADX2 with REACT"},"content":{"rendered":"<p style=\"text-align: justify;\">Lowering the volume of a sound when another one is playing at the same time is called \u201cducking\u201d. A ducking system is an important tool in the game audio mixing process. It allows the game audio engine to control and prioritize what type of sounds will clearly be heard by the player when the game action culminates. In other words, it prevents the game from becoming cacophonous when there&#8217;s a lot of action going on, while ensuring the most important audio assets can still be heard (for example dialogue).<\/p>\n<p style=\"text-align: justify;\">The ducking system in ADX2 is called <strong>REACT<\/strong>. It controls the audio volume dependency between different audio categories at run-time (in ADX2, a\u00a0category is simply a group of volume and playback rules that applies to a set of Cues). By configuring the <strong>REACT<\/strong> settings in AtomCraft, you can adjust the real-time volume balance between categories of sounds depending on the action. A typical ducking example is when a game is gently lowering the volume of the music when a voice is playing. It allows more headroom for the voice in the mix to make sure it will be clearly heard by the player.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-165\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_01-300x150.png\" alt=\"adx2_REACT_tutorial_01\" width=\"600\" height=\"300\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_01-300x150.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_01-768x385.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_01.png 826w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong>Here is how to configure the audio-ducking:<\/strong><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Step 1<\/strong><\/span>: Create 2 categories in AtomCraft.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-166\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_02-300x136.png\" alt=\"adx2_REACT_tutorial_02\" width=\"600\" height=\"272\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_02-300x136.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_02-768x349.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_02-1024x466.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_02.png 1288w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Step 2<\/strong><\/span>: Assign the Cues (Changing &amp; Trigger) to your Categories<\/p>\n<p>*Simply drag &amp; drop your Cues onto the right categories in the project tree.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-167\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_03-300x177.png\" alt=\"adx2_REACT_tutorial_03\" width=\"600\" height=\"354\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_03-300x177.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_03-768x452.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_03-1024x603.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_03.png 1056w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Step 3<\/strong><\/span>: Create a new REACT object in the project tree<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-168\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_04-300x214.png\" alt=\"adx2_REACT_tutorial_04\" width=\"600\" height=\"428\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_04-300x214.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_04-768x548.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_04.png 781w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Step 4<\/strong><\/span>: Assign the Changing Category (the one that will be ducked)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-169\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_05-300x156.png\" alt=\"adx2_REACT_tutorial_05\" width=\"600\" height=\"312\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_05-300x156.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_05-768x400.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_05-1024x533.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_05.png 1026w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Step 5<\/strong><\/span>: Assign the Trigger Category<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-170\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_06-300x194.png\" alt=\"adx2_REACT_tutorial_06\" width=\"600\" height=\"388\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_06-300x194.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_06-768x495.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_06.png 1000w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong><u>Step 6<\/u><\/strong>:\u00a0Choose the REACT Hold Type<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-171\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_07-300x167.png\" alt=\"adx2_REACT_tutorial_07\" width=\"600\" height=\"334\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_07-300x167.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_07-768x428.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_07-1024x571.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_07-800x445.png 800w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_07.png 1150w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong><u>Step 7<\/u>:<\/strong> Set the volume attenuation ( 1 = no attenuation 0 = mute)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-172\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_08-300x166.png\" alt=\"adx2_REACT_tutorial_08\" width=\"600\" height=\"332\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_08-300x166.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_08-768x426.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_08-1024x567.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_08.png 1144w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong><u>Step 8<\/u><\/strong>: Set the Change Time, Hold Time &amp; Return Time of the Ducking<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-173\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_09-300x166.png\" alt=\"adx2_REACT_tutorial_09\" width=\"600\" height=\"332\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_09-300x166.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_09-768x424.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_09-1024x566.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_09.png 1148w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p style=\"text-align: justify;\">That&#8217;s all! As you can see, using REACT, sound designers can easily implement auto-ducking entirely within the AtomCraft authoring tool and without the intervention of an audio programmer.<\/p>\n<p style=\"text-align: justify;\">Note that you can also test\u00a0your new REACT ducking &#8211; and adjust its settings if needed &#8211; without leaving AtomCraft, as depicted below.<\/p>\n<p><strong><u>Step 1<\/u><\/strong>: Make a temporary Cue<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-163\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_10-300x262.png\" alt=\"adx2_REACT_tutorial_10\" width=\"600\" height=\"524\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_10-300x262.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_10-768x670.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_10.png 968w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong><u>Step 2<\/u><\/strong>: Refer to\u00a0a Cue from each category in your temporary Cue<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-164\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_11-300x135.png\" alt=\"adx2_REACT_tutorial_11\" width=\"600\" height=\"270\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_11-300x135.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_11-768x346.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_11-1024x462.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2016\/03\/adx2_REACT_tutorial_11.png 1372w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong><u>Step 3<\/u><\/strong>: Hit play and listen to the result!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lowering the volume of a sound when another one is playing at the same time is called \u201cducking\u201d. A ducking<\/p>\n","protected":false},"author":2,"featured_media":169,"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-160","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\/160","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=160"}],"version-history":[{"count":14,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/160\/revisions"}],"predecessor-version":[{"id":185,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/160\/revisions\/185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/169"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}