Digital audio path: upsampling and upscaling, WASAPI, ASIO and external master clock for USB audio

Hi-Fi and High-End equipment or encyclopedia of sound and video

Hi-Fi and High-End equipment or encyclopedia of sound and video

WASAPI is a low latency driver when used in exclusive mode and communicates directly with the audio device driver. This is Microsoft's own ASIO.

ASIO is a proprietary protocol. You can only use what your audio device supports.

WASAPI is an integral part of Windows (Vista, XP, 7, 10 and higher).

Basically this works with all audio devices.

In practice, not all combinations of audio applications and audio device drivers will work correctly using this interface.

ASIO

In exclusive mode, no other application can use the DAC or sound card.

No more system sounds and even full stereo volume!

You can download WASAPI + music in flak HERE

Since WASAPI in exclusive mode accesses the audio device driver directly, the stream sent to that device (external DAC) must match the capabilities of that device in terms of bit depth, sample rate, number of channels and audio format (PCM in most cases) otherwise In this case it will be silence.

  • An application using WASAPI can do this by configuring the audio device according to the source.
  • In this case we have almost perfect reproduction.
  • This allows you to automatically switch the sampling rate.
  • Automatic sample rate switching and hardware


Ustars_DAC + Class A amplifier
In case of USB DAC (using main mode drivers) you get automatic sample rate switching using exclusive WASAPI.

  • Most of the time, the built-in audio allows you to automatically switch the sample rate.
  • Many discrete sound cards do not allow automatic switching using WASAPI.
  • If the discrete sound card comes with ASIO, it is better to use this driver if you want automatic sample rate switching.
  • The developer can also choose the source of information about the audio device's capabilities.
  • If the source is mono and the audio device is 2-channel, the user may decide to send the same signal to both channels.

If the source's sample rate is not supported by the hardware, such as a 192 kHz source with a 96 kHz audio device, the program using WASAPI must perform an SRC (sample rate conversion).

This can be done by calling the SRC provided by Windows or the one provided by the application.

Audio architecture of Windows from Vista onwards

Windows has a completely new audio mixing engine, so WASAPI gives you the ability to connect directly to it rather than having to go through an abstraction layer.

Pros of the audio engine:

Moving to 32-bit floating point rather than 16-bit, which greatly improves audio quality when working with multiple audio streams or effects.

Transition from kernel mode to user mode to improve system stability (bad drivers cannot shut down the system).

The concept of endpoints rather than audio devices - it's easier for Windows users to send sounds to a "headphone" or record audio from a "microphone" rather than requiring them to provide technical information about the sound card installed on their system.

Grouping audio streams

In Vista, XP and higher, you can group all audio streams from one application and control their volume separately. In other words, a volume control for each application. This is a little more complicated than it might seem at first because some applications, like IE, contain all sorts of processes and plugins that all play audio differently.

  • By default, all sounds are sent to the mixer.
  • The mixer converts the audio into a 32-bit floating point number and performs the mixing.
  • The result is interrupted and converted back to the format that the audio driver accepts (in most cases this is 16 or 24 bit).

Final touches

In the Output->ASIO subsection you can see two ticked performance modes. Use 64-bit ASIO drivers and Run with high process priority. They're usually enabled by default, but it's a good idea to check them.

You can also check the status of the ASIO console. Sometimes it can be accessed directly in the player, and sometimes its shortcut is located on the mentioned taskbar along with the layout language icons, etc. The bit depth should be set to 24 or 32 bits. You should not enable the so-called dither - this option is needed only for very old audio signal receivers, whose bit capacity is limited to 16 bits.

Regarding the ASIO buffer size, unless your system experiences signal dropouts or other audio glitches, it is best to leave the default value. Decreasing it will increase the likelihood of artifacts appearing, and increasing it will, accordingly, reduce it. A number of audiophiles claim that the best sound can be achieved with the minimum ASIO buffer size. Measurements of audio stream characteristics do not confirm this assumption, but the best instrument is our ears, so you can determine the optimal ASIO buffer size yourself.

Rating
( 2 ratings, average 4.5 out of 5 )
Did you like the article? Share with friends:
For any suggestions regarding the site: [email protected]
Для любых предложений по сайту: [email protected]