[WIN] Virtual Windows audio driver (WASAPI)

Detailed information on the Virtual Windows Audio driver type (also known as WASAPI) - how to set it up, driver performance, virtual output device, and sample rate and buffer size adjustments.

 

In this article:

 

Windows Audio Session API standard (WASAPI)

To understand how the SoundID Reference Virtual Windows audio driver (WASAPI mode) fits into the Windows environment, it is useful to know the basics of the WASAPI standard on Windows.

For all default audio applications, Windows utilizes the Windows Audio Session API (WASAPI) as an audio interface standard. WASAPI routes and controls the audio streams on a Windows machine. This means that the audio signal coming from any audio playback application will be processed by the Windows Audio Engine to communicate with the output devices such as an audio interface connected to the computer.

 

WASAPI signal map (2).png

With SoundID Reference (running in WASAPI mode) added to the flow, the SoundID Reference virtual audio device will process the audio signal that is coming from the Windows Audio Engine, then the SoundID Reference app will send the calibrated audio signal back to the Windows Audio Engine, so it can reach the output device.

 

WASAPI signal map (1).png

This driver type is recommended for use as it's ideal for system-wide calibration. The expected latency performance is 40-160ms. Note that this driver type will not work with ASIO-exclusive devices as they do not have a WDM driver.

 

 

Setting up with the Virtual Windows audio driver (WASAPI mode)

With the SoundID Reference app launched, add an output device and select the driver type that the SoundID Reference app will use for audio signal processing. 

  1. Add new output
  2. Device type: WASAPI
  3. Select your audio interface from the list below
  4. Driver type: Virtual Windows audio driver
  5. Load the calibration profile

 

2023-07-06_14-20-54.gif

 

Why is a virtual audio device required in WASAPI mode?

To process audio calibration in the WASAPI mode, SoundID Reference will create a virtual audio device on your computer. The virtual audio device is required because for these reasons:

  • Audio signal processing: used to apply calibration.

  • System-wide application: adjusting the sound from all audio sources on your computer.

  • Preventing double processing: ensures the sound is only processed once. This avoids issues that can occur if other software modifies the sound before SoundID Reference.

  • Compatibility: works well with most audio playback software, so you can use it with your favorite music player or digital audio workstation (DAW).

  • Bypassing physical limitations: allows the calibration to take place before it's sent to your physical audio device (like headphones or speakers).

 

VD.png

 

Sample rate

When it comes to sample rate in WASAPI mode, the SoundID Reference app operates with its own internal sample rate processing, which has to match the output device setting.

It is not possible to adjust the sample rate in the SoundID Reference app while running in WASAPI mode. Instead, the changes have to be made on the output device (your audio interface), using the device control software, or a physical switch on the device. Once changes are made, SoundID Reference will adapt (mirror) the output device setting automatically.

The sample rate setting can be previewed under the Device Settings menu:

 

  1. Navigate to your device in the output panel on the left
  2. Click on the '' menu > Device settings 
  3. Click on the Sample rate box to see the value

Sample rate (1).gif

 

NOTE! Changing the sample rate of an audio interface may not be possible or changes might not apply under the following circumstances:

 

  • Hardware and driver limitations: some audio interfaces don't allow sample rate changes sample rate, or support a limited amount of sample rate formats. Check your audio interface manual to find out the supported formats and limitations.

  • Application control: some programs, like music production software or media players, can take full control of the audio interface (exclusive mode) and dictate the sample rate format. If a program is using the interface with exclusive control, you might not be able to change the rate.

  • Active audio stream: if audio is playing, you might not be able to change the sample rate. You'd need to stop the audio first.

  • Shared mode: if the audio interface is being used by multiple programs, you might be limited in changing the sample rate, as it has to work for all the programs at once.

 

Buffer size

In WASAPI mode, SoundID Reference processes signal using its own internal buffer (separate from the output device buffer size), defined by the Buffer Size setting in the app. The buffer size in WASAPI mode does not have to match the output device buffer size setting, as in this case, both represent two separate functions for two separate devices. 

The buffer size in WASAPI mode represents the amount of audio data that the SoundID Reference app can handle at once. Think of it like a tray of audio that the software prepares ahead of time to play smoothly. The buffer size can affect the performance in two ways:

  • Latency: how fast the audio responds. A smaller buffer size equals faster response, which is good for recording or live audio. But it also needs more computer power.

  • CPU load: how hard your computer works. A bigger buffer size means your computer can prepare more audio ahead of time, which is easier on the computer. But it also makes the audio response slower.

The best buffer size depends on your computer power, the type of audio, and whether you're recording or just listening. If a change is required, it can be done inside the SoundID Reference app:

 

  1. Navigate to your device in the output panel on the left
  2. Click on the '' menu > Device settings 
  3. Click on the Buffer size box to change the value

 

2023-10-17_14-38-32.gif

 

Safety buffer size

Beyond the regular buffer size setting, SoundID Reference also offers a Safety Buffer adjustment in the WASAPI mode. This can help if you are experiencing audible artifacts or clock drift. Adjust the Safety Buffer value to ensure smooth audio playback even in situations where the system might be under heavy load or experiencing interruptions:

 

  1. Open the SoundID Reference app
  2. Navigate to your device in the output panel on the left
  3. Click on the '' menu > Device settings 
  4. Click on the Safety buffer size box to change the value

 

NOTE! The performance and effect of the Safety Buffer depends on the regular Buffer Size setting. There is no golden rule of a single best-performing Safety Buffer setting - applying the maximum
Safety Buffer may not resolve audio issues. To pin down the best Safety Buffer value, follow this logic:

 

  1. Set your preferred/optimal Buffer Size
  2. Try different Safety Buffer values starting from smallest to highest
  3. If the regular Buffer Size is changed, go through different Safety Buffer values again

 

Learn more:

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

0 comments

Please sign in to leave a comment.