Powered by Squarespace
Main | Radial Motor Faders »
Monday
Feb012016

Simulated surround sound with Waves Nx

Waves recently released a new plugin, Waves Nx that simulates an ideal surround sound studio with only your headphones.  It uses your webcam to do head-tracking to pan your virtual "head" around the room.

The intended purpose of this plugin is to allow Sound Mixers the ability to mix in 5.1 surround sound without needing an expensive, acoustically treated mix stage.

I thought I'd take a more novel approach to the plugin.

I was able to reroute audio from VLC playing a DVD with a Dolby 5.1 soundtrack through Waves Nx, so that I could watch the movie in full surround sound with headphones.  It took a little fiddling around, but I got it working.  In fact, it even works with computer games that support multi-channel audio output.  Here's what I did.

Now I should preface in saying that this is a Windows Only tutorial.  I have no doubt that this is possible on a Mac, I just don't have one to test it with.

What you will need:

 

  • Waves Nx - $99 (on sale for $49 as of this writing, there is also a 14 day trial)
  • LoopBeAudio - $20 (or similar multi-channel audio rerouting driver, some audio devices may include something like this).
  • Webcam - For headtracking
  • VST Host - I use Cantabile for live gigs, and the free version should work perfectly for this.  I would recommend NOT using a DAW, as it uses way too many resources for our purposes.
  • ASIO4ALL - For routing multiple audio sources together into a single device.

 

Step 1: Install everything.

That should be fairly obvious.

Step 2: Setup Windows Sound Devices

Rightclick on the speaker on your taskbar and select "Playback Devices".  Set LoopBeAudio's "Internal Playback" device as your default playback device.

Right click on the "Internal Playback" device, and select "Configure Speakers".  Select 5.1 Surround, I prefer the setup with the Surrounds in the back, as that is most similar to a theatrical surround setup.

Make sure that all speakers (Center, Subwoofer, Rear Pair) are selected.

Make sure that all of your speakers are set to Full-Range.  Cheaper desktop surround sound systems often use limited range speakers for some of the channels to save cost.  Our virtual surround sound system is limited only by the range of your headphones.  Keep it set to full-range.

Click "Finish to finish setting up the speakers.  LoopBeAudio is actually capable of handling up to 24 channels of audio, (we're only using 6 channels) so keep that in mind for future setups.

Step 3: Setup LoopBeAudio

Next, double-click on "Internal Playback" to open up it's properties window.  Go to the Advanced tab, and set the Default Format to your format of choice.  I prefer 24 bit, 48000 HZ (Studio Quality).  If you see mutltiple options for the number of speakers, make sure you choose a 6 channel option, since we're using 5.1 audio.

Now open up the LoopBeAudio Monitor, which you can usually find by double-clicking the device icon on your task bar (if it's not there, launch the app from your programs list).  Confirm that the Shared Format is correct, and then select "Lock To:".  This will make sure that ASIO4ALL or your VST Host can't change the format of either the Recording or Playback devices (which would make this not work).

Step 4: Setup your VST Host

This step uses Cantabile 3 Lite (which is free, btw), if you are using another VST Host, you'll need to figure this step out on your own.

In the Options window, set your Audio Driver to ASIO - ASIO4ALL, your sample rate to 48,000Hz (or whatever you set your speaker device to), and the buffer size will probably be fine at 512.

While you're in the Options window, you'll want to setup the VST Plugin paths correctly, if you haven't already done so.

Click the "Control Panel" button to open the ASIO4ALL control panel.  Click the wrench icon to open up advanced mode.  You'll need to click the "power buttons" for the "nerds.de LoopBeAudio - Internal Audio Ports" device, as well as only the "In" port.  Deselect the "Out" port if it is selected.  We don't want ASIO4ALL taking that port as that is what we'll be using to route audio from our DVD player.

Next you'll need to select the port that you'll be plugging in your Headphones.  I ended up using the primary Line Out port on my Motherboards audio driver (Realtek High Definition Audio).  I wasn't able to get my Scarlett Solo to work in this arrangement (I suspect due to mixing ASIO and Non-ASIO devices).  I'd go ahead and deactivate all of the other devices shown, so it's easier to find the correct ports.

All the other options in ASIO4ALL should be fine as they are.

Next we're going to setup the Audio ports in Cantabile 3.  Cantabile 3 lets you set up Audio Ports that are agnostic from your audio devices (which is great if your audio setup at home is different from on stage).

We're going to need to setup 3 stereo inputs, and 1 stereo outputs.  The complexity lies in the fact that consumer sound systems and professional mix stages organize their multi-channel audio differently.  On most consumer surround sound speaker systems, they are broken into 3 stereo pairs.

 

  1. Front Left/Right
  2. Surround Left/Right
  3. Center/Subwoofer (LFE)

 

This is so a consumer can hook up a stereo system to just 1 jack, a quadraphonic system with 2 jacks, a 2.1 system with 2 jacks (or sometimes 1, if the LFE is derived from the L/R), or a 5.1 system with 3.  7.1 uses 4 jacks (Side L/R).

On most mix stages, surround sound channels are organized in this order:

  1. Front Left
  2. Center
  3. Front Right
  4. Left Surround
  5. Right Surround
  6. Low Frequency Emitter (LFE)

Waves Nx is expecting the audio channels to arrive in this order, over 3 stereo inputs.  So we'll need to setup the audio in Cantabile to account for this disparity.  This is what I've found to work for me (your mileage may vary).  I also named them with numbers in front so they sort in an easy to remember order for later.

 

Now that we're done setting up our Audio Ports, we can click "OK" and go back to the main Cantabile screen.  Click on "Add Plugin", and select: "NX 5.1/Stereo" (the version of NX that takes 5.1 audio and converts it to 2 channel Stereo).  When the plugin loads, your Webcam will activate, and a window will pop-up showing your Webcam with some information overlayed on it, don't worry about that right now.

Open up the "Input Ports" tab, and click "Add Route", and add all three of your audio devices (you may have some MIDI devices in that list too, like Main Keyboard or Onscreen Keyboard, ignore them).

Now set the Destination of each of the audio sources to the 3 stereo inputs of "NX 5.1/Stereo"

Click on "Add Route" under the NX 5.1/Stereo plugin, and select "Stereo Out".  Set the destination of that stereo out to the output port you setup for your headphones.

We're done setting up Cantabile, now we just need to setup NX.  Double-click the plugin name in Cantabile to open up the plugin window.  I've found the default settings to work just fine, but you can play around if you like.  Face your primary monitor, and click the "Sweet Spot" button (which is usually blinking when you first open the plugin).  This will center you within the virtual room, and you should be able to move your head around, and see the head on the plugin window move along with you.

The camera tracker uses your Eyes and Mouth to create a 3-point tracker, that can track your head within 3D space.  This does mean that you'll need to take off your hipster sunglasses to get this to work, sorry.

For a better simulation, follow the instructions on measuring your head under the "?" next to "Head Modeling".

At this point you should be able to playback a DVD with 5.1 surround, and listen to it using your Headphones.  Just make sure that your DVD player is using the "Internal Playback" device, and it should route it through NX.  I've also managed to get it to work with computer games, such as Fallout 4, Just Cause 3, and Elite: Dangerous.

 

If this didn't work for you, feel free to comment below, and I'll try to help you.  But keep in mind that this isn't really what NX is intended to do.  It also took me about 2 days of fiddling around just to get it working in the first place, so you may need to do the same.  Have Fun!!

 

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>