{"id":3319,"date":"2021-03-24T19:48:31","date_gmt":"2021-03-24T10:48:31","guid":{"rendered":"https:\/\/blog.criware.com\/?p=3319"},"modified":"2021-03-24T19:48:31","modified_gmt":"2021-03-24T10:48:31","slug":"panning-headphone-virtual-surround-in-adx2","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2021\/03\/24\/panning-headphone-virtual-surround-in-adx2\/","title":{"rendered":"Panning &#038; Headphone Virtual Surround in ADX2"},"content":{"rendered":"<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Introduction<\/h2>\n<p>In ADX2, there are two Pan Types, <b>Pan [5.1]<\/b> and <b>3D Positioning [3D]<\/b>. <b>Pan [5.1]<\/b> can be considered a 2D pan type, like typical stereo panning, where the level sent to each speaker controls the spatial image. <b>3D Positioning<\/b> works similarly and additionally allows for dynamic volume control based on the distance between source and listener. <\/p>\n<p>In general, we might use <b>Pan [5.1] <\/b>for something static like music, perhaps making full use of 5.1, or simply using it to reproduce a balanced \u201cstereo\u201d playback. Conversely, <b>3D Positioning <\/b>might be used in a 3D game where the character can move around objects which produce a sound. This approach creates a more immersive experience that allows the player to understand the world around them. <\/p>\n<p>The drawback of both Pan Types is that they assume the player has a 5.1 surround sound system to reproduce the spatial effect. And a consequence of this approach is that, when using headphones, sounds directly left of the player will be hard-panned to the left speaker. Fortunately, ADX2 offers a DSP effect that simulates surround sound listening with headphones. This creates a deeper and more natural listening experience.<\/p>\n<p>In this blog, we will create a togglable system showcasing the above effect. And since this approach uses Snapshots, it could even be implemented in-game, allowing players to chose the system that best matches their setup. <\/p>\n<div style=\"max-width: 800px; margin: 0 auto; margin-bottom: 20px;\">\n<div style=\"width: 800px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-3319-1\" width=\"800\" height=\"450\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround.mp4?_=1\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround.mp4<\/a><\/video><\/div>\n<\/div>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Setup<\/h2>\n<p>Let\u2019s start by creating our Busses and Effects. Since bass frequencies are omnidirectional, and due to the way the Headphone Virtual Surround processes audio, it can help to separate the signal into two different spectrums for processing. The setup below splits the audio at 250 Hz, with signal below this threshold being unaffected by the Headphone Virtual Surround processor. <\/p>\n<ul>\n<li>On DspBusSetting_0\n<ul>\n<li>Create a new Bus and name it \u201cSpeakers\u201d<\/li>\n<li>Create a new Bus and name it \u201cHP_Lo\u201d\n<ul>\n<li>Add a Biquad Effect\n<ul>\n<li>Set Filter Type = Low Pass<\/li>\n<li>Set Cof Hz = 250<\/li>\n<\/ul>\n<\/li>\n<li>Set Send to MasterOut<\/li>\n<\/ul>\n<\/li>\n<li>Create a new Bus and name it \u201cHP_Hi\u201d\n<ul>\n<li>Add a Biquad Effect\n<ul>\n<li>Set Filter Type = High Pass<\/li>\n<li>Set Cof Hz = 250<\/li>\n<\/ul>\n<\/li>\n<li>Add a Headphone Virtual Surround Effect<\/li>\n<li>Set Send to MasterOut<\/li>\n<\/ul>\n<\/li>\n<li>Create a new Bus and name it \u201cHeadphones\u201d\n<ul>\n<li>Set Send to HP_Lo and HP_Hi<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Next, we need to create recallable Snapshots for choosing between traditional 5.1 surround or virtual headphone surround.<\/p>\n<ul>\n<li>On DspBusSetting_0, Right-click \u2192 New Object \u2192 Create Snapshot\n<ul>\n<li>Name it \u201cHeadphone\u201d<\/li>\n<li>Set Volume of Speakers Bus to the minimum (off)<\/li>\n<\/ul>\n<\/li>\n<li>On DspBusSetting_0, Right-click \u2192 New Object \u2192 Create Snapshot\n<ul>\n<li>Name it \u201cSpeaker\u201d<\/li>\n<li>Set Volume of Headphones Bus to the minimum (off)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1117\" height=\"635\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround_1.png\" alt=\"2021-03_VirtualSurround_1\" class=\"alignnone size-full wp-image-3323\" style=\"max-width: 900px;\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround_1.png 1117w, https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround_1-300x171.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround_1-768x437.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround_1-1024x582.png 1024w\" sizes=\"auto, (max-width: 1117px) 100vw, 1117px\" \/><\/p>\n<p>Then, we need to set up our Bus Map to send the signal from our relevant Cues to our Speakers and Headphones busses. <\/p>\n<ul>\n<li>On Default Bus Map\n<ul>\n<li>Set DspBusName2 to Headphones<\/li>\n<li>Set DspBusName3 to Speakers<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround_2.png\" alt=\"2021-03_VirtualSurround_2\" class=\"alignnone size-full wp-image-3323\" \/><\/p>\n<p>Lastly, we need to create a Cue to test our system.<\/p>\n<ul>\n<li>Create a Polyphonic Cue with a full-spectrum looping SFX (such as a fire)\n<ul>\n<li>Set Pan Type = 3D Positioning [3D]<\/li>\n<li>Untick BusSend1 (MasterOut)<\/li>\n<li>Tick BusSend2 (Headphones)<\/li>\n<li>Tick BusSend3 (Speakers)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/03\/2021-03_VirtualSurround_3.png\" alt=\"2021-03_VirtualSurround_3\" class=\"alignnone size-full wp-image-3323\" \/><\/p>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Session View<\/h2>\n<p>Playback can be auditioned via the Session View. In this window, we can simulate real-time positional changes between the source and listener and switch between Snapshots to hear the signal processing difference. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In ADX2, there are two Pan Types, Pan [5.1] and 3D Positioning [3D]. Pan [5.1] can be considered a<\/p>\n","protected":false},"author":2,"featured_media":3332,"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-3319","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\/3319","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=3319"}],"version-history":[{"count":5,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/3319\/revisions"}],"predecessor-version":[{"id":3331,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/3319\/revisions\/3331"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/3332"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=3319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=3319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=3319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}