{"id":974,"date":"2017-03-16T14:42:32","date_gmt":"2017-03-16T05:42:32","guid":{"rendered":"http:\/\/blog.criware.com\/?p=974"},"modified":"2017-03-28T10:08:40","modified_gmt":"2017-03-28T01:08:40","slug":"creating-ambiences-in-atomcraft","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2017\/03\/16\/creating-ambiences-in-atomcraft\/","title":{"rendered":"Creating ambiences in AtomCraft"},"content":{"rendered":"<p><em>This post demonstrates the implementation of ambience sound effects using AtomCraft<\/em><em>.<\/em><\/p>\n<p><strong>Introduction<\/strong><\/p>\n<p>We can consider that there are four main groups of sounds needed to create an immersive audio experience. They are Music, Ambience SFX, Action SFX and Voice. Each of these elements plays an important role in your game audio project.<\/p>\n<p>One of the main purposes of the ambience is to prevent unnatural silence to happen when there is no action going on. It serves as the \u201cglue\u201d that holds things together and helps to create the sense of immersion. The ambience also helps reinforce storytelling by establishing the mood at specific moments. The crowd ambience in a football game is a very good example of this.<\/p>\n<p><strong>Basic ADX2 features used<\/strong><\/p>\n<p>This post gives us the opportunity to demonstrate many ADX2\u2019s features, listed below along with a link to the corresponding tutorial video.<\/p>\n<ul>\n<li>The Cue parameters <a href=\"https:\/\/www.youtube.com\/watch?v=cZWsCCJaqVM&amp;list=PLx6UV6537TuiL42WUz9RkwRzhx47CZOIu&amp;index=9\">Tutorial #9<\/a><\/li>\n<li>The looping <a href=\"https:\/\/www.youtube.com\/watch?v=PSMRhVRUKwM&amp;index=12&amp;list=PLx6UV6537TuiL42WUz9RkwRzhx47CZOIu\">Tutorial #12<\/a><\/li>\n<li>The Switch &amp; Selectors <a href=\"https:\/\/www.youtube.com\/watch?v=UBZbkA8eCFw&amp;list=PLx6UV6537TuiL42WUz9RkwRzhx47CZOIu&amp;index=19\">Tutorial #19<\/a><\/li>\n<li>The AISAC <a href=\"https:\/\/www.youtube.com\/watch?v=K6GC1_Yl7w8&amp;index=13&amp;list=PLx6UV6537TuiL42WUz9RkwRzhx47CZOIu\">Tutorial #13<\/a><\/li>\n<li>The Session Window <a href=\"https:\/\/www.youtube.com\/watch?v=UBZbkA8eCFw&amp;list=PLx6UV6537TuiL42WUz9RkwRzhx47CZOIu&amp;index=19\">Tutorial #19<\/a><\/li>\n<li>Positioning and Panning <a href=\"https:\/\/www.youtube.com\/watch?v=EqD0rA6ssXM&amp;list=PLx6UV6537TuiL42WUz9RkwRzhx47CZOIu&amp;index=14\">Tutorial #14<\/a><\/li>\n<\/ul>\n<p><strong>The concept<\/strong><\/p>\n<p>There are many ways to implement ambiences in a game. With this method we want to demonstrate how to play all the ambiences of an entire game by triggering only one Cue.<\/p>\n<p>The ambience Cue will play the right ambience depending on the location and it will progressively adapt to the time of the day.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-1003\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram01.png\" alt=\"Blog Picture_Forest Ambience_Diagram01\" width=\"314\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram01.png 628w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram01-300x142.png 300w\" sizes=\"(max-width: 628px) 100vw, 628px\" \/><\/p>\n<p>Each Track (Day\/Night) will have two components. The first one will be a background loop and the second one will be a sound randomizer.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-1001\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram02.png\" alt=\"Blog Picture_Forest Ambience_Diagram02\" width=\"367\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram02.png 734w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram02-300x121.png 300w\" sizes=\"(max-width: 734px) 100vw, 734px\" \/><\/p>\n<p>To achieve all this we will need: 2 Switch Cues, Selectors, AISACs, Loop markers and the audio files. The game will play the main Cue and the Selectors labels will play the right ambience Track. At this point the AISAC system will change the ambience according to the time of the day.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1002\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram03.png\" alt=\"Blog Picture_Forest Ambience_Diagram03\" width=\"770\" height=\"276\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram03.png 770w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram03-300x108.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Blog-Picture_Forest-Ambience_Diagram03-768x275.png 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Here is a screenshot of the project open in AtomCraft. We can see the two Cues:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-997\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-ADX2_AMB_05-1024x598.png\" alt=\"AmbBlog ADX2_AMB_05\" width=\"800\" height=\"467\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-ADX2_AMB_05-1024x598.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-ADX2_AMB_05-300x175.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-ADX2_AMB_05-768x449.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-ADX2_AMB_05.png 1503w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>If you want to see an example of this implementation in AtomCraft, we have created a little project that you can download below:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/Ambience.zip\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-882 size-full\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-ZipPackageAmbienceProject.png\" alt=\"Blog-Picture12_Randomization-zip-file.png\" width=\"133\" height=\"157\" \/><\/a><\/p>\n<p style=\"text-align: center;\">[This project requires AtomCraft version 2.27 or higher]\n<p><strong>Step by Step <\/strong><\/p>\n<p>We are now going to explain step by step how we have done the implementation of this ambience Cue.<\/p>\n<p><strong>1- Import the audio files<\/strong><\/p>\n<p>The first thing to do is to import all our audio files in the Materials so they can then be referenced by one or multiple sound Cues. We can import audio files by dragging-and-dropping them onto the Material root folder and also by importing them from the Windows Explorer.<\/p>\n<p>Go to the Materials pane, right-click on a folder and select \u201cAdd Material (Waveform) files\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-976\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0000-Import_Audio.png\" alt=\"AmbBlog 0000-Import_Audio\" width=\"447\" height=\"457\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0000-Import_Audio.png 447w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0000-Import_Audio-293x300.png 293w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><\/p>\n<p>Once registered, all the audio files will be duplicated into the project materials folder. We suggest that you organize your files in subfolders.<\/p>\n<p><strong>2- Create the Sound Cues <\/strong><\/p>\n<p>We need to create two Cues. Let\u2019s call the first one \u201cAmbience\u201d. This Cue will be used by the programmer to play all our ambiences. The second Cue will be called \u201cRandomizer\u201d and it will be used to play all the surround randomized SFX.<\/p>\n<p>To create a Cue, go in the Work Units section of the project tree, right-click on the desired CueSheet and select \u201cNew object\u201d. There are many different types of Cues available but for now we need to choose \u201cSwitch\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-977\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0001-Create_Cues.png\" alt=\"AmbBlog 0001-Create_Cues\" width=\"650\" height=\"223\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0001-Create_Cues.png 650w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0001-Create_Cues-300x103.png 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/p>\n<p>Here we can see our two Cues:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-978\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0002-Create_Cues.png\" alt=\"AmbBlog 0002-Create_Cues\" width=\"493\" height=\"53\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0002-Create_Cues.png 493w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0002-Create_Cues-300x32.png 300w\" sizes=\"auto, (max-width: 493px) 100vw, 493px\" \/><\/p>\n<p><strong>3- Organize the Randomizer Cue<\/strong><\/p>\n<p>We will begin by creating two Tracks for each of our ambiences, one for the day and one for the night. Once we have created all the required Tracks, the next step is to add a Subsequence to each one.<\/p>\n<p>A Subsequence has functions equivalent to a Cue. Tracks and Waveforms can be added, edited and randomized directly in the Subsequence. It\u2019s essentially a whole Cue within a Track. Each Subsequence will contain the SFX we want to randomize. For instance, the \u201cForest Night\u201d Subsequence could contain howl, wolf and frog SFX.<\/p>\n<p>To create a Subsequence: right-click on a Track, select \u201cNew Object\u201d and choose \u201cCreate Sub Sequence\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-979\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0003-Randomizer_SubSeq.png\" alt=\"AmbBlog 0003-Randomizer_SubSeq\" width=\"515\" height=\"125\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0003-Randomizer_SubSeq.png 515w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0003-Randomizer_SubSeq-300x73.png 300w\" sizes=\"auto, (max-width: 515px) 100vw, 515px\" \/><\/p>\n<p>We can see in the picture below our 4 Tracks (2 ambiences) with their respective Subsequences.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-980\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0004-Randomizer_SubSeq.png\" alt=\"AmbBlog 0004-Randomizer_SubSeq\" width=\"662\" height=\"307\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0004-Randomizer_SubSeq.png 662w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0004-Randomizer_SubSeq-300x139.png 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/p>\n<p>We are now ready to add our audio files in each Subsequence. To open a Subsequence, double-click on it. It will look exactly like a Cue:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-981\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0005-Randomizer_SubSeq.png\" alt=\"AmbBlog 0005-Randomizer_SubSeq\" width=\"896\" height=\"528\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0005-Randomizer_SubSeq.png 896w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0005-Randomizer_SubSeq-300x177.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0005-Randomizer_SubSeq-768x453.png 768w\" sizes=\"auto, (max-width: 896px) 100vw, 896px\" \/><\/p>\n<p>Finally, set the Cue type to \u201cRandom\u201d and drag &amp; drop the audio files on the timeline. All Tracks will be automatically created. Don\u2019t forget to setup the randomization parameters of the Cue [Volume, Pitch, Angle and Interior Distance].<\/p>\n<p>Once we have assigned all our random SFX to their respective Subsequences, we need to insert the loop markers that will infinitely retrigger the random SFX contained in each Subsequence.<\/p>\n<p>To insert loop markers: right-click on the timeline, select \u201cNew Object\u201d and click on \u201cAdd Marker\u201d. In the \u201cAdd Marker window\u201d select \u201cInfinite Loop\u201d and click \u201cOk\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-982\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0006-Randomizer_SubSeq.png\" alt=\"AmbBlog 0006-Randomizer_SubSeq\" width=\"521\" height=\"448\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0006-Randomizer_SubSeq.png 521w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0006-Randomizer_SubSeq-300x258.png 300w\" sizes=\"auto, (max-width: 521px) 100vw, 521px\" \/><\/p>\n<p>The loop markers will appear in green on the timeline.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-983\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0007-Randomizer_SubSeq.png\" alt=\"AmbBlog 0007-Randomizer_SubSeq\" width=\"671\" height=\"422\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0007-Randomizer_SubSeq.png 671w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0007-Randomizer_SubSeq-300x189.png 300w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><\/p>\n<p><strong>4- Organize the Ambience Cue<\/strong><\/p>\n<p>Let\u2019s go back to our main Cue called \u201cAmbience\u201d. We will create a new Track for each different type of ambiences and we will add a Subsequence to each one.<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-984\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0008-Amb_SubSeq.png\" alt=\"AmbBlog 0008-Amb_SubSeq\" width=\"986\" height=\"500\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0008-Amb_SubSeq.png 986w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0008-Amb_SubSeq-300x152.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0008-Amb_SubSeq-768x389.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><br \/>\n<\/strong><\/p>\n<p>Now, to make our ambiences shift depending on the time of the day, we need to add two Subsequences inside each Subsequences we\u2019ve just created. We will create one for the day and one for the night.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-985\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0009-Amb_SubSeq.png\" alt=\"AmbBlog 0009-Amb_SubSeq\" width=\"1022\" height=\"241\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0009-Amb_SubSeq.png 1022w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0009-Amb_SubSeq-300x71.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0009-Amb_SubSeq-768x181.png 768w\" sizes=\"auto, (max-width: 1022px) 100vw, 1022px\" \/><\/p>\n<p>Finally, both Subsequences (Day\/Night) will have two Tracks. The first one is for the background loop and the second one is for the Randomizer Cue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-986\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0010-Amb_SubSeq.png\" alt=\"AmbBlog 0010-Amb_SubSeq\" width=\"362\" height=\"236\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0010-Amb_SubSeq.png 362w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0010-Amb_SubSeq-300x196.png 300w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><\/p>\n<p>On the first Track: drag &amp; drop the appropriate background audio loop from the Materials section of the project tree. In the example above, we\u2019ve added our \u201cForest &#8211; Day\u201d audio file.<\/p>\n<p>On the second Track, a CueLink references the \u201cRandomizer\u201d Cue we\u2019ve prepared previously. To assign a Cue to a Track, simply drag &amp; drop it on the timeline.<\/p>\n<p><strong>5- Create the Selector<\/strong><\/p>\n<p>Selectors are variables that can take several predefined values called Selector Labels. At run-time, the Cues will check the value of Selector and only play back the tracks that are associated with the appropriate Selector Label. We will use it to make the ambience change according to the location.<\/p>\n<p>The first thing we need to create is the Selector. In the Global Settings section of the project tree, right-click on the Selector Folder, select \u201cNew Object\u201d and then click on \u201cCreate Selector\u201d. The Selector will appear and we will rename it \u201cAmbience\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-987\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0011-Selector.png\" alt=\"AmbBlog 0011-Selector\" width=\"442\" height=\"350\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0011-Selector.png 442w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0011-Selector-300x238.png 300w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/p>\n<p>Now we need to create the Selector Labels. Right-click on the Selector, select \u201cNew Object\u201d and then click on \u201cCreate Selector Label\u201d. A new Selector Label will appear and we will rename it \u201cForest\u201d. We need to create one Selector Label for each ambience.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-988\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0012-Selector_Label.png\" alt=\"AmbBlog 0012-Selector_Label\" width=\"496\" height=\"308\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0012-Selector_Label.png 496w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0012-Selector_Label-300x186.png 300w\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" \/><\/p>\n<p>To assign a Selector to an ambience Track: click on the Random\/Selector tab of the ambience Cue and specify which Selector to use in the scroll down menu.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-989\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0013-Selector_Setup.png\" alt=\"AmbBlog 0013-Selector_Setup\" width=\"466\" height=\"255\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0013-Selector_Setup.png 466w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0013-Selector_Setup-300x164.png 300w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><\/p>\n<p>We can now associate the Selector Labels with their appropriate Tracks. For instance, we will associate the \u201cForest\u201d Selector Label with the \u201cForest\u201d Track in our \u201cAmbience\u201d Cue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-990\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0014-Selector_Setup.png\" alt=\"AmbBlog 0014-Selector_Setup\" width=\"310\" height=\"276\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0014-Selector_Setup.png 310w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0014-Selector_Setup-300x267.png 300w\" sizes=\"auto, (max-width: 310px) 100vw, 310px\" \/><\/p>\n<p>Moreover, we need to link the appropriate Selector Label with the \u201cForest\u201d Track in our \u201cRandomizer\u201d Cue.<\/p>\n<p><strong>\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-991\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0015-Selector_Setup.png\" alt=\"AmbBlog 0015-Selector_Setup\" width=\"362\" height=\"394\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0015-Selector_Setup.png 362w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0015-Selector_Setup-276x300.png 276w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><\/strong><\/p>\n<p><strong>6- Create the AISAC <\/strong><\/p>\n<p>AISAC is a system allowing the control of audio parameters by values coming from the game. This kind of feature is also sometimes called Real-Time Parameter Controls (RTPC).<\/p>\n<p>We are going to use the AISAC to alter the ambience sound depending on the time of the day. The game will send the value (time) to the AISAC assigned to our Cues, which will change the sound of the ambience (Day to Night) in real-time.<\/p>\n<p>To be able to make the link between the game and the AISACs we need an AISAC Control. An AISAC Control is simply an identification name that allows the programmer to pass a value from the game to ADX2 so it can be mapped to an AISAC curve.<\/p>\n<p>To create an AISAC Control, go in the Global Settings section of the project tree, right-click on the AISAC-Control Folder, select \u201cNew Object\u201d and then click on \u201cCreate AISAC-Control\u201d. \u00a0Let\u2019s name it \u201cTime\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-992\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0016-AISAC_AISAC_CTRL.png\" alt=\"AmbBlog 0016-AISAC_AISAC_CTRL\" width=\"475\" height=\"278\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0016-AISAC_AISAC_CTRL.png 475w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0016-AISAC_AISAC_CTRL-300x176.png 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/p>\n<p>To add an AISAC: select the Track (Day or Night) and, in the AISAC pane, click on the \u201c+\u201d button.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-993\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0017-AISAC_Add.png\" alt=\"AmbBlog 0017-AISAC_Add\" width=\"466\" height=\"201\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0017-AISAC_Add.png 466w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0017-AISAC_Add-300x129.png 300w\" sizes=\"auto, (max-width: 466px) 100vw, 466px\" \/><\/p>\n<p>Finally, in the \u201cadd AISAC\u201d window, select the AISAC Control \u201cTime\u201d you\u2019ve just created and choose the \u201cvolume\u201d Graph type.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-994\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0018-AISAC_Add.png\" alt=\"AmbBlog 0018-AISAC_Add\" width=\"405\" height=\"219\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0018-AISAC_Add.png 405w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0018-AISAC_Add-300x162.png 300w\" sizes=\"auto, (max-width: 405px) 100vw, 405px\" \/><\/p>\n<p>We can now draw our volume curves. We want to fade out the day ambiance and fade in the night ambiance. To do that, we need to create a different curve for each track (Day &amp; Night).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-995\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0019-AISAC_Draw-1024x638.png\" alt=\"AmbBlog 0019-AISAC_Draw\" width=\"800\" height=\"498\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0019-AISAC_Draw-1024x638.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0019-AISAC_Draw-300x187.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0019-AISAC_Draw-768x478.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0019-AISAC_Draw.png 1044w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>* We need to draw a volume curve for each \u201cDay\u201d and \u201cNight\u201d Subsequence in the \u201cRandomizer\u201d Cue but also in the \u201cAmbience\u201d Cue.<\/p>\n<p><strong>7- Test and Fine-tune <\/strong><\/p>\n<p>We are now ready to hear our ambiance Cue. It is possible to test the implementation in the Session Window.<\/p>\n<p>To open the cue in the Session Window: select the \u201cAmbience\u201d Cue, click on the View menu and then select the Session Window.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-996\" src=\"http:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0020-SessionWindow.png\" alt=\"AmbBlog 0020-SessionWindow\" width=\"630\" height=\"687\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0020-SessionWindow.png 630w, https:\/\/blog.criware.com\/wp-content\/uploads\/2017\/03\/AmbBlog-0020-SessionWindow-275x300.png 275w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/p>\n<p>This concludes our post about the implementation of ambience in AtomCraft. Let us know if you want to learn more about a specific ADX2 feature!<\/p>\n<p><em>Many thanks to Watson Wu (<\/em><a href=\"http:\/\/www.watsonwu.com\/\"><em>http:\/\/www.watsonwu.com<\/em><\/a><em>) for generously providing the audio assets used in the demo project<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post demonstrates the implementation of ambience sound effects using AtomCraft. Introduction We can consider that there are four main<\/p>\n","protected":false},"author":2,"featured_media":999,"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-974","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\/974","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=974"}],"version-history":[{"count":11,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/974\/revisions"}],"predecessor-version":[{"id":1016,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/974\/revisions\/1016"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/999"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}