top of page

Systemwide ASIO for Windows

Audio playback on Windows machines can be frustrating when one considers all of the options and configurations available. It's difficult to know which configuration is best to use, especially when you are trying to set up a music studio computer. What I've done here is documented the way I have set up my own playback configuration, which is one of the highest quality and most efficient foundational setups available to Windows-based machines.

Please note the requirements before you commit yourself to following this procedure.

Requirements / What you'll need:

 

1. A Windows-based desktop or laptop computer with a free USB port available to connect your audio interface to. This setup makes full use of your audio interface hardware's ASIO driver, which offers the best sound quality on Windows machines.

​

2. An external audio interface with a native ASIO driver. There are a plethora of options here. Just get a good one that comes with a stable ASIO driver and you'll be fine. The driver usually comes with a mixer or control panel in which you can select the system's sample rate and bit depth.

​

3. Voicemeeter Potato - This your virtual mixer. Banana also works, but it doesn't have as many inputs and outputs, and it has less virtual routing options. Both are included in the Potato download, which is here: 

https://vb-audio.com/Voicemeeter/potato.htm

​

4. VST Host & DSP Software - The use of a plugin-based digital signal processing solution, including system audio analysis and correction for either headphones or speakers, is optional. The configuration described in this guide will still work without a plug-in host, but you won't be able to analyze or process your sound in real-time without one. Live systemwide audio analysis is always a useful option to have on hand, and acoustic calibration is essential if you need the best audio playback quality available to you. However, if you just want the setup for signal routing you can effectively sidestep this part of the guide and it won't affect your ability to proceed. Simply ignore step 2 in that case. 

​

Analysis options include Voxengo SPAN and Waves PAZ Analyzer. These tools allow you to study the audio spectrum of your source material. Using a VST plugin host in tandem with Potato or Banana from your desktop allows you to quick access these tools with systemwide audio; without the need to import music into a DAW for analysis.

 

Correction options include Sonarworks SoundID Reference, IK ARC System 4, Dirac Live, and FIR filters that require the use of a convolver. All of these applications come in plug-in form, which requires a host in order to run. Hosts include Kushview Element, Nembrini Audio Nexus, and Accurate Sound Hang Loose Host (HLHost)​For the sake of demonstration, and because they are what I am currently using, I will be featuring HLHost and HLConvolver in this tutorial. However, all of the plug-in host options listed above are configured exactly the same way. For example, if you use SoundID Reference, you would simply use the SoundID plugin where I have used HLConvolver. Following along is therefore straightforward.

 

If you use FIR filters and are in need of a convolver (and if you want a free option), Melda Production offers a great freebie called MConvolutionEZ. It's available within the free fx bundle, which has other useful free plugins such as a spectrum analyzer, a loudness meter, and a noise generator among other things. They can be found here:

https://www.meldaproduction.com/MFreeFxBundle

Step 1: Install the software

​

The first thing you need to do is make sure your audio interface is installed correctly and that you have the latest drivers to run it. You will need to know how to access the driver and its configuration settings in order to change the sample rate when necessary. Install the mixer (Potato or Banana) and, if needed, one of the host applications listed above and get them running on your system. 

Step 2: Configure Your VST Host

​

Again, you can skip this step if you are not going to be analyzing or correcting your system audio. If you are, and once you have everything installed, go to your host of choice (HLHost in my case) and open the audio configuration settings. I will provide screenshots of the settings panels for all three hosts for reference.

 

In Hang Loose Host you can get to the settings by typing CTRL+A or by using the menu: 

Options > Change the Audio Device Settings

​

Configure the audio settings as follows:

Audio device type: ASIO

Device: Voicemeeter AUX Virtual ASIO​​​​​​​​​​​​​​​​​​​​​​​

​

Screenshot 2024-03-27 134249.png

In Kushview Element you can get to the settings by typing CTRL+, or by using the menu: 

File > Preferences  (​Click on the Audio tab at the left to access the settings)

 

Configure the audio settings as follows:

Driver: ASIO

Device: Voicemeeter AUX Virtual ASIO

​

Screenshot 2024-12-17 000840.png

In Nembrini Audio Nexus you can get to the configuration settings by pressing the hamburger button in the top-left corner, and then selecting Audio / MIDI Settings from the menu.

​

Configure the audio settings as follows (don't worry about MIDI):

Audio device type: ASIO

Device: Voicemeeter AUX Virtual ASIO

​​

Screenshot 2024-12-17 005253.png

You'll notice that the sample rate and latency buffer both have controls in these settings pages, but this is not where you change them! Leave the settings alone here. Instead, they will need to be changed in your audio interface's control panel (the one that is installed with the interface drivers). Once you do that, these settings in your host should automatically update themselves.

​

Next, you will want to have your host scan all of your VST3 plug-ins. Like your DAW, it is capable of loading any plug-in installed in your system. All you need to do is point it to your plug-in path and run a scan.

​

If you are using HLHost, go to Options > Edit the List of Available Plug-ins (or type CTRL+P). 

If you are using Element, go to View > Plugin Manager.

If you are using Nexus, use the Plugin Manager button on the top menu bar to access the config screen.

​

Having scanned and loaded the plug-ins, you can proceed to connect the input and output nodes together, if they aren't already by default. Each node has connectors that represent the channels available to them. In HLHost and Element, the orientation is vertical; signal flows from the top down. The first connector on the left is always the left channel, and the second one from the left, even if there are four or more total, is always the right channel. In Nexus, the orientation is horizontal; signal flows from left to right. However, the same principle applies. To get sound to pass through the host, you will need to connect the left channel of the input node to the left channel of the output node with the little cables that appear when you click on one and drag it out. Do the same for the right channel. Simple enough.

 

Remember, if you are following this step, chances are you want to use DSP to analyze your audio, or you want to apply correction for your speakers and/or headphones. In that case you'll need to add your plugin(s) to the graph. Insert your plug-in of choice to the graph and connect it between the nodes. In my example here, you see HLConvolver added to the graph and connected properly. Within HLConvolver, you can see my correction filter loaded into filterbank 1. Any plugins can be added to the signal flow here.

​

Screenshot 2024-03-27 134250.png

Step 3: Configure Voicemeeter Potato (or Banana)

​

While you certainly can use Banana for this, I am going to proceed here as though we are using Potato. The configuration for Banana is the same, so any time I mention Potato you can safely assume that I mean Banana as well. 

​​

Open Potato and look over the interface. You'll notice four distinct sections:

- On the left are the hardware inputs. You can essentially ignore these unless you want to connect a microphone to your interface. This is where you would configure that mic. Connecting a microphone is essential if you want to record any live sources into a digital audio workstation. It is also useful if you want to participate in Zoom calls and share your audio with the group. More on that later.

- In the middle are the virtual inputs. This is where you will be configuring your loopback with your VST host, and it is also where you can activate a "send" that your DAW can use to record system audio.

- On the right in the upper half are the hardware outputs. This is where you select your audio interface. You can connect as many hardware devices as you have outputs for. In Potato, this means you can connect up to five devices. Banana limits you to three.

- On the right in the lower half is the master section. This is a mixer from which you can control the output volume of the devices you have connected, but you'll probably never want to do it from here. Leave these all at default (0dB) unless you have a specific reason to adjust them.

- The Special FX section containing the cassette tape is not used for real time playback, so you can safely ignore it in our scenario here. Furthermore, if you are using a room or headphone correction filter in your audio path, you are going to want to ignore the equalizers and panning controllers on the virtual inputs as well. They will need to be left at their default neutral positions.

​​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

What we are concerned with first is the hardware output. In the upper-right corner you will see outputs A1 through A5 (A1 through A3 on Banana). Click on A1 and select your audio interface's ASIO driver. The name of the driver will be shown to the right of the buttons. On the Voicemeeter AUX virtual channel in the middle section, you're going to want to make sure that A1 is the only active output selected. In my setup, notice I have labeled this channel as "Output".

​

The middle section is also where we will feed our VST host with the signal it needs to process. That signal will be brought back into Potato to be sent to the A1 output device, thus completing our correction circuit. To do this, activate B2 on the Voicemeeter VAIO channel, which you can see I have labeled "Aux Sends". B2 is a virtual loopback cable that will send any audio going through the system to its destination (HLHost in my case) and then receive the processed signal afterward.

 

If you plan on recording system audio into your DAW, you can enable B1 on this channel as well. B1 is a virtual cable that your DAW can see as an input. Potato and Banana will route any audio going through the system through that cable. It does this parallel to B2 in the hierarchy of things, so you don't have to worry about recording a processed signal. All you have to do to get things connected is configure the input in your DAW, select it as the input on a track, and arm the track to record with monitoring disabled.

PotatoTut.png

Step 4: Configure System Routing

​

All you need to do now is route your system output into Potato. You can do this from the Windows sound settings panel, or quickly from the Windows taskbar. Change your system's audio output device to VoiceMeeter Input (VB-Audio VoiceMeeter VAIO). This is the same setting you will use in other desktop applications that have audio output routing, such as streaming apps like TIDAL.

​

You can also change the output device in your DAW so that it, too, is routed into Potato. This way, the setup truly is systemwide, and everything you hear, from your DAW to YouTube, will be sent through Potato and subsequently, if you have one, corrected through a calibration filter in real time.

 

Configure your DAW's output device type as follows, based on your DAW:

In Reaper, set the Audio System to ASIO. Set the ASIO Driver to Voicemeeter Virtual ASIO.

In Samplitude Pro X, set the Driver System to Voicemeeter Virtual ASIO.

In Studio One, set the Audio Device to Voicemeeter Virtual.

Additional Useful Things

​​

Zoom Calls

To configure your setup to function properly within Zoom calls, set the following parameters in Zoom's settings:

- Set the microphone to VoiceMeeter Output (VB-Audio VoiceMeeter VAIO)

- Set the speaker to VoiceMeeter Input (VB-Audio VoiceMeeter VAIO)

- Original Sound for Musicians: Set to Off when speaking. Set to On while playing music from a DAW or other source.

- Automatically adjust microphone volume: disabled

- High fidelity music mode: enabled

- Echo cancellation: enabled

- Stereo audio: enabled

- Be sure to enable high quality stereo sound before joining a meeting.

​

Once you have Zoom configured, the last thing to do is make sure you have your microphone connected to Hardware Input 1 on the left side of Potato's mixer. Set the active routing on this channel to B1 only with all others disabled, and use the mute button at the bottom of the channel to mute/unmute yourself.

Final Notes

​

In order to use this system, keep the following points in mind at all times:

​

- You must always have your VST host and Potato running on the desktop. If one or both of them are closed, your audio will drop out. To get it back, just re-launch the closed application(s).

​

- The equalizer and panning controls on Potato's virtual channels are never used with a configuration involving acoustic correction. Make sure they are default at all times, as I have them in the screenshot. If you're not using any correction, you can play with the EQ to change the tone of the sound you hear, but I advise not getting into that unless you know what you're doing.

​

- I have muted Potato's input channels just to satisfy my own OCD. If you don't have any inputs configured, they don't need to be muted. However, if you do configure a mic or something to one of the inputs, ensure that the channel is muted when you aren't recording anything.

​

- If you want to change the system's sample rate, you cannot do it from either HLHost or Potato, even though you see controls in the settings that seem like they would do the job. You must do it from the control panel of your audio interface instead. You'll no doubt notice, however, that when you go to do it, you can't! The controls will be disabled. This is always because Potato locks the sample rate down. To change the sample rate, first close Potato. When you do that, you'll see the controls in your audio interface driver unlock. Make the change, then load Potato back up again. The controls will lock back up as expected, and both Potato and HLHost will update themselves and show the new sample rate. 

​

- HLConvolver isn't the only option you have for running room correction. If you use SoundID Reference, ARC System 4, or Dirac Live, remember that those also come in VST3 plug-in form just like HLConvolver does. As such, you can load them into the host and use them in your systemwide configuration all the same.

​

- As mentioned above, B1 can be used to record system audio into a DAW. We've also seen that it can be used to re-route a microphone for use with Zoom. B1 is a virtual audio cable that serves multiple uses. Just don't forget to mute your mic if you are trying to record clean references into your DAW!

​

- Reaper and Studio One are the only two DAWs I have here. If you use a different one, feel free to reach out and let me know what the exact ASIO device settings are for you so that I can update this document.

© 2024 by David Brancato

bottom of page