{"id":3835,"date":"2022-09-05T17:22:32","date_gmt":"2022-09-05T08:22:32","guid":{"rendered":"https:\/\/blog.criware.com\/?p=3835"},"modified":"2024-05-20T19:34:48","modified_gmt":"2024-05-20T10:34:48","slug":"using-reverb-in-atomcraft","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2022\/09\/05\/using-reverb-in-atomcraft\/","title":{"rendered":"Using Reverb in AtomCraft"},"content":{"rendered":"<p>Reverberation conveys spatial information to the player, making a soundscape more realistic. In this post, we examine the pros and cons of the various reverberation effects available in ADX.<\/p>\n<div class=\"wp-video\" style=\"width: 800px; display: block; margin: 40px auto;\">\n<div style=\"width: 800px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-3835-1\" width=\"800\" height=\"450\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/09\/Video-Reverb-20220905.mp4?_=1\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/09\/Video-Reverb-20220905.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/09\/Video-Reverb-20220905.mp4<\/a><\/video><\/div>\n<\/div>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Bus architecture<\/h2>\n<p>In ADX, the reverberation effects are applied globally on a DspBus, rather than on each Cue individually. The sense of space is usually the same in a scene, and this effect is relatively heavy on the CPU, so this is convenient. To have more control over the amount of reverb applied, it is recommended to insert the effect on an auxiliary bus. This means that the Cues will be sent to two busses, one used for mixing that controls the dry signal, and the other for the reverb, controlling the wet signal. Both busses will then be mixed together and sent to the output.<\/p>\n<p>If every Cue routed to the mixing bus needs to be processed by the reverb (for instance for character Foley or diegetic voices), add a send on this bus to the reverb aux.<\/p>\n<ul>\n<li>On the bus, under the Send section, click the + button<\/li>\n<li>Select the reverb bus<\/li>\n<li>Adjust the send amount using the slider<\/li>\n<\/ul>\n<p>Now each Cue routed through that bus will also have reverberation. In the example below we routed all the reverb busses to a general Aux Reverb bus, in order to be able to control the volume of all the reverbs from a single bus.<\/p>\n<p style=\"text-align: center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/01-Mixer.png\" alt=\"01 Mixer\" width=\"996\" height=\"663\" class=\"alignnone size-full wp-image-3840\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/01-Mixer.png 996w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/01-Mixer-300x200.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/01-Mixer-768x511.png 768w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/>\n<\/p>\n<p>However, if more granulation is needed over which Cues to send to the reverb, a dedicated BusMap should be created, that includes both the mixing and the reverb busses.<\/p>\n<ul>\n<li>In the Project Tree, create a new BusMap and add the mixing and the reverb bus<\/li>\n<li>Select a Cue and navigate to the Bus Send section in the Inspector<\/li>\n<li>Select the newly created BusMap<\/li>\n<li>Set the send level for each bus<\/li>\n<\/ul>\n<p style=\"text-align: center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/02-Cue-BusSend.png\" alt=\"02 Cue BusSend\" width=\"441\" height=\"538\" class=\"alignnone size-full wp-image-3842\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/02-Cue-BusSend.png 441w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/02-Cue-BusSend-246x300.png 246w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/>\n<\/p>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Reverb<\/h2>\n<p>Several reverberation effects are available in ADX. The Reverb effect is the simplest one. Its processing load is relatively low but it doesn\u2019t handle very well long reverberation. It is therefore more suited for smaller spaces. Also note that although it can accept up to 8 channels, the inputs will be downmixed to mono and then expanded to the chosen output format. In other words, spatialization will be lost for the signal passing through the reverb.<\/p>\n<p>Use this effect when spatialization is not important (for instance for UI sounds) or when CPU resources are limited (e.g., when developing for mobile platforms). Reducing the maximum room size and the maximum pre-delay length will improve memory consumption.<\/p>\n<p style=\"text-align: center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/03-Reverb.png\" alt=\"03 Reverb\" width=\"436\" height=\"323\" class=\"alignnone size-full wp-image-3843\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/03-Reverb.png 436w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/03-Reverb-300x222.png 300w\" sizes=\"auto, (max-width: 436px) 100vw, 436px\" \/>\n<\/p>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">I3DL2 Reverb<\/h2>\n<p>Contrarily to the previous reverb, the I3DL2 reverb (which stands for Interactive 3D Audio Rendering Guidelines, Level 2) is truly multichannel (up to 8 channels), offering proper spatialization. There are also more parameters available (mirroring the I3DL2 standard) that allow for the simulation of a wide variety of spaces, including outside environment. Since setting up the reverb is more complex, several presets are included for typical uses.<\/p>\n<p>Unsurprisingly, the processing load is higher than with the classic Reverb, so it is recommended to avoid using too many instances of the I3DL2 reverb simultaneously. Reducing Decay Time, Diffusion, Density or Delay of the early reflections will also save some resources.<\/p>\n<p style=\"text-align: center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/04-I3DL2-Reverb.png\" alt=\"04 I3DL2 Reverb\" width=\"505\" height=\"592\" class=\"alignnone size-full wp-image-3844\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/04-I3DL2-Reverb.png 505w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/04-I3DL2-Reverb-256x300.png 256w\" sizes=\"auto, (max-width: 505px) 100vw, 505px\" \/>\n<\/p>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">IR Reverb<\/h2>\n<p>The IR Reverb is a multichannel convolution reverb. This is the best option to simulate realistic spaces, as it allows for the loading of impulse responses (IR) files.<\/p>\n<p><em>Please note that the IR Reverb is not provided as part of the regular AtomCraft distribution but is available upon request as a separate download. Contact <\/em><a href=\"https:\/\/www.criware.com\/en\/contact\/\"><em>our support<\/em><\/a><em> if you want to try the IR Reverb in your project.<\/em><\/p>\n<p>While the convolution reverb will give you the most natural results, it is also the less flexible type of reverb with just a few parameters to play with. It also comes with a higher processing load and a higher memory footprint, which depends on the size of the IR files loaded.<\/p>\n<p>To mitigate the impact on the resources, it is possible to shorten the IR file and set up a fade-out directly in the IR Reverb window. Using IR with less channels (e.g., mono instead of stereo) will also help, as will reducing the FFT block size in the settings.<\/p>\n<p>It is possible to load several impulse responses in a single instance of the reverb, for example allowing to switch between different spaces depending on which room the player is in.<\/p>\n<p style=\"text-align: center;\">\n<img decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/09\/05-IR-Reverb.png\" style=\"max-width: 800px; width: 100%; border: 1px solid #ccc;\">\n<\/p>\n<p>You can try the different reverbs in the project below. As mentioned previously, the IR Reverb will be shown as \u201cNot Found\u201d unless you installed it separately.<\/p>\n<div style=\"max-width: 800px; margin: 0 auto; margin-bottom: 20px; text-align: center;\"><a style=\"display: block; border: 1px solid #ccc; padding: 20px; max-width: 100%; margin: 0 auto;\" href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/08\/AtomCraft_Project_Reverb.zip\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1813\" style=\"display: block; margin: 0 auto;\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2018\/06\/zip.png\" alt=\"zip\" width=\"80\" height=\"78\" \/>AtomCraft_Project_Reverb.zip<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Reverberation conveys spatial information to the player, making a soundscape more realistic. In this post, we examine the pros and<\/p>\n","protected":false},"author":2,"featured_media":5476,"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-3835","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\/3835","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=3835"}],"version-history":[{"count":13,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/3835\/revisions"}],"predecessor-version":[{"id":5478,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/3835\/revisions\/5478"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/5476"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=3835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=3835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=3835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}