• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

ASIO, WASAPI, Direct Sound... is there any difference in sound quality?

Vincent Kars

Addicted to Fun and Learning
Technical Expert
Joined
Mar 1, 2016
Messages
781
Likes
1,555
I believe you are missing a key point here
You too
By design the Win mixer converts everything to float, mixes, apply dither and convert back to integer.
If you have a 24 bit audio path one might wonder if dither at -144 dBFS matters but by design it is not bit perfect.

What you are referring to is Win XP.
It was famous for its horrible resampler but when you had 1 stream playing at unity gain it was bit perfect.
 

Pluto

Addicted to Fun and Learning
Forum Donor
Joined
Sep 2, 2018
Messages
990
Likes
1,631
Location
Harrow, UK
So where and how does this invalidate my point that, if you desire exclusivity, WASAPI can assure this. Regardless of how capable today's Windows mixer might be, if I am using the system for the playback of good audio, I would like to ensure that any other inputs to that mixer are closed. Likewise, regardless of how good Windows native SRC might now be, I would rather send what I intend to send to my DAC than something that has been through an SRC of unknown performance.

In summary the point is that the use of WASAPI ensures that you, the user, controls the signal that is sent onwards out of the computer.
 

scott wurcer

Major Contributor
Audio Luminary
Technical Expert
Joined
Apr 24, 2019
Messages
1,501
Likes
2,821
You too
By design the Win mixer converts everything to float, mixes, apply dither and convert back to integer.
If you have a 24 bit audio path one might wonder if dither at -144 dBFS matters but by design it is not bit perfect.

For amusements sake I might ask if you are using an SD DAC what is the meaning of bit perfect?
 

Vincent Kars

Addicted to Fun and Learning
Technical Expert
Joined
Mar 1, 2016
Messages
781
Likes
1,555
SD doesn't ring a bell.
I use WASAPI Exclusive to avoid any possible, thinkable degeneration caused by the OS.
I also use it as it keeps an exclusive lock on the audio device as I don't like system sounds in full blast over the stereo.
I also don't like the idea of having the audio resampled twice, one time at the PC and one time by the DAC.
As I have no way to control the upsampling of the DAC (fixed 110 kHz I believe) I simple feed it audio as is.
 

Blumlein 88

Grand Contributor
Forum Donor
Joined
Feb 23, 2016
Messages
20,523
Likes
37,056
SD is sigma delta maybe?

I suppose fixed at 110 khz resampling you must have a Benchmark that uses ASRC?
 

Pluto

Addicted to Fun and Learning
Forum Donor
Joined
Sep 2, 2018
Messages
990
Likes
1,631
Location
Harrow, UK
I use WASAPI Exclusive to avoid any possible, thinkable degeneration caused by the OS etc. etc.
Which is exactly what I said in my #60!

Although the pedant in me does wish that there was a clean way of locking the Windows volume control at 100%
 

scott wurcer

Major Contributor
Audio Luminary
Technical Expert
Joined
Apr 24, 2019
Messages
1,501
Likes
2,821
SD doesn't ring a bell.
I use WASAPI Exclusive to avoid any possible, thinkable degeneration caused by the OS.
I also use it as it keeps an exclusive lock on the audio device as I don't like system sounds in full blast over the stereo.
I also don't like the idea of having the audio resampled twice, one time at the PC and one time by the DAC.
As I have no way to control the upsampling of the DAC (fixed 110 kHz I believe) I simple feed it audio as is.

Sorry that was a rhetorical question, a sigma delta DAC has at best 21-22 bits of performance in fact there are not any multi-bit DAC's either. So at some level bit perfect to 24 bits has no meaning.
 

majingotan

Major Contributor
Forum Donor
Joined
Feb 13, 2018
Messages
1,511
Likes
1,781
Location
Laguna, Philippines
Sorry that was a rhetorical question, a sigma delta DAC has at best 21-22 bits of performance in fact there are not any multi-bit DAC's either. So at some level bit perfect to 24 bits has no meaning.

True. Even Foobar2000's WASAPI sets all the samples bit to whatever you selected. So if you set the bits to 16 bits without dithering, the 24 bit files under WASAPI gets decimated to 16 bits anyways so WASAPI doesn't even mean bit perfect in that case (just sample rate matches the file). Only major thing WASAPI allows to me is the exclusive mode, eliminating system and other application sounds, but even without WASAPI, you can still use Windows Mixer to reroute all other sounds to another device while separating others exclusive to one device output.
 

flaviowolff

Active Member
Joined
Sep 20, 2019
Messages
113
Likes
40
I believe you are missing a key point here. DirectSound is perfectly capable of bit perfect playback if all the following conditions are satisfied –
  1. That the system sampling rate matches that of the of audio being played. This bypasses the need for Windows to perform any undesirable sampling rate conversion
  2. That there are no other demands on the Windows audio system. This will cause your audio and the disturber to be mixed together
  3. That something prevents any further demands on the Windows audio system throughout the time that the system is being used for 'serious' audio.
WASAPI is not, fundamentally, some system that causes Windows audio to sound ‘different’ (it has no way to do so). It is merely a means of ensuring that the above conditions are satisfied on a continuing basis. If affords a relatively simple means for an audio application to specify
  1. the sampling rate (etc.) it wants
  2. to lock the audio system out to other users
  3. to ensure the above at your playback application's pleasure
It's interesting to note that, largely for reasons of flexibility, ASIO does not generally offer the exclusivity that guards the audio system from interference from would-be disturbers. If, for whatever reason, you have to use ASIO, a useful workaround for this limitation is to ensure that your DAC (or whatever) is not the default audio device. If your DAC (or whatever) is not the default device then it must, by definition, be exclusive provided no other running app. is attempting to send audio to that device.

Thanks, that's clarifying.

So, the only advantage of ASIO over Directsound is ensuring no resampling is being performed? If that's the case, in a scenario in which all files are 44.1khz, DS vs non-exclusive ASIO should sound the same. And DS also has the benefit of the digital OS-wise volume control, if needed
 

Pluto

Addicted to Fun and Learning
Forum Donor
Joined
Sep 2, 2018
Messages
990
Likes
1,631
Location
Harrow, UK
Personally, I would not use Directsound unless you really have no choice for some reason. I would use WASAPI first then ASIO and finally, Directsound if there was no alternative.

The problem with Directsound is that unless the user changes the sample rate (in Windows control panel) to match the material being played, the system SRC will convert the audio to match whatever is selected in control panel. Neither WASAPI nor ASIO have this weakness.
 

flaviowolff

Active Member
Joined
Sep 20, 2019
Messages
113
Likes
40
Personally, I would not use Directsound unless you really have no choice for some reason. I would use WASAPI first then ASIO and finally, Directsound if there was no alternative.

The problem with Directsound is that unless the user changes the sample rate (in Windows control panel) to match the material being played, the system SRC will convert the audio to match whatever is selected in control panel. Neither WASAPI nor ASIO have this weakness.

I get it, but based on the info you posted DS seems to be ok for my case. I only listen to 44.1khz songs (spotify), and I like being able to pause my music and watch some youtube video or whatever other audio source without any glitches caused by exclusive operation from the player.
There is no resampling being done in my case, since I set the device to 44.1khz/24bit (maybe there are 48khz youtube videos, but i dont watch them critically).
 

Pluto

Addicted to Fun and Learning
Forum Donor
Joined
Sep 2, 2018
Messages
990
Likes
1,631
Location
Harrow, UK
OK - you seem to be unusual is actually wanting to permit multiple programs to have access to the audio subsystem at the same time. Most people seek exactly the reverse ;)
 

flaviowolff

Active Member
Joined
Sep 20, 2019
Messages
113
Likes
40
OK - you seem to be unusual is actually wanting to permit multiple programs to have access to the audio subsystem at the same time. Most people seek exactly the reverse ;)

Yep :) I dont notice any degradation from programs inthe background, as long as they are paused. Is there any theoretical degradation from having paused programs (e.g. a youtube video in Chrome) in the background?
 

chebum

Member
Forum Donor
Joined
Feb 7, 2019
Messages
46
Likes
14
Location
Warsaw, Poland
Sorry that was a rhetorical question, a sigma delta DAC has at best 21-22 bits of performance in fact there are not any multi-bit DAC's either. So at some level bit perfect to 24 bits has no meaning.

Making sure 24 bits are bit perfect, we make sure 21-22 bits played by DAC are also bit-perfect. Aiming at perfect 21 bits is too complex. It's easier to aim at completely bit perfect stream.
 

Ferrum Master

New Member
Joined
Apr 25, 2020
Messages
3
Likes
1
Location
Rīga, Latvia
Well in theory has anyone knowledge of compressed data sent over WASAPI exclusive? Are DTS or DDL packet based or serial and do they carry overhead with checksum data then? In theory bitperfection really matters there, I may be wrong thou.
 

l0zerth

New Member
Joined
May 23, 2020
Messages
1
Likes
0
There seems to be a big misconception of ASIO and its purpose. ASIO stands for Audio Stream Input/Output, and basically creates a direct connection with audio hardware and the processing software. This is a Windows protocol created (and still licensed) by Steinberg for recording purposes to reduce latency, since in the 80's and 90's, it wasn't unusual to have over 100ms latency when processing audio streams in and out through the OS, which would obviously be a huge issue when trying to sing or play with already recorded tracks, or even monitor your recording live.
Yes, ASIO is obviously high fidelity, since the whole purpose is professional recording, not consumer playback, but it was designed for latency, and most soundcard manufacturers do not generally offer "exclusive mode" for ASIO, since you may have external programs feeding into your DAW.
ASIO may offer audiophiles (which seem to be the focus of this thread) something they want, in the way of a "virgin" stream going direct from your playback device or program to your output, but otherwise, it's not aimed at the consumer, but for professional recording.
From my research, ASIO drivers are also licensed by Steinberg on their protocols, but if it is not a Steinberg product, that driver is written by that manufacturer, so the quality of implementation may be reflected in the quality of the manufacturer or product line.
ASIO4ALL stopped production in 2014 as far as I can tell, so is long depreciated and probably going to cause more problems than it solves, especially if you aren't trying to use an odd recording DAC. ASIO4ALL is not ASIO, and does not create that direct connection that bypasses the OS, it is a wrapper that mimics ASIO for older DAW's that wouldn't work with Microsoft protocols.
 

scott wurcer

Major Contributor
Audio Luminary
Technical Expert
Joined
Apr 24, 2019
Messages
1,501
Likes
2,821
There seems to be a big misconception of ASIO and its purpose. ASIO stands for Audio Stream Input/Output, and basically creates a direct connection with audio hardware and the processing software. This is a Windows protocol created (and still licensed) by Steinberg for recording purposes to reduce latency, since in the 80's and 90's, it wasn't unusual to have over 100ms latency when processing audio streams in and out through the OS, which would obviously be a huge issue when trying to sing or play with already recorded tracks, or even monitor your recording live.

I have zero interest in latency, but numerous devices operated in 16 bit mode only unless the ASIO driver was used. I'm talking back to XP days on. The legacy of this should still be in the Audacity users forum, the 8 LSB's of audio data were 0 if one had the means to look at it. There was a great post by one of the Audacity developers basically saying why do you care no one needs 24 bits.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,692
There is always some sort of hardware abstraction in an OS. WASAPI, ASIO, KS and so on are APIs, they are at software level, to communicate with the driver. None of them "talk to hardware directly".

[1]
Without 3rd party driver, non-exclusive modes:
Audio player/DAW --> Microsoft mixer --> Microsoft driver --> audio hardware

[2]
Without 3rd party driver, WASAPI exclusive mode:
Audio player/DAW --> Microsoft driver --> audio hardware

[3]
With 3rd party driver, using ASIO:
Audio player/DAW --> 3rd party driver --> audio hardware

[4]
With 3rd party driver, not using ASIO:
Audio player/DAW --> Microsoft mixer (potentially) --> 3rd party driver --> audio hardware

[1] and [2] are the so-called "driverless" or "class compliant" mode. Of course, it is not really driverless, it just means the drivers are provided by the OS.

There are several non-exclusive modes:
https://en.wikipedia.org/wiki/Windows_legacy_audio_components

DirectSound (specifically DirectSound3D) used to be "gamers' ASIO" in the Win9x to XP era. In the past Creative cards like Live! (EMU10k1), Audigy (EMU10k2) and X-Fi (CA20k1/2) offer hardware DSP to reduce CPU load and latency via EAX, as well its competitor A3D. However, Windows audio architecture has completely changed since Vista, and caused the downfall of EAX. There is a newer gaming-oriented API called XAudio2.

bassmidi.png
pcsx2.png


There are also other non-exclusive modes including MME and WASAPI shared mode, if the playback software/DAW supports them.

In the case of [3] and [4], I am referring to a dedicated driver, not something like ASIO4all.

In [3], the Windows software mixer is replaced by the driver-controlled hardware (if available) mixer/DSP for lower latency and more features. If you buy an interface for these features, you are supposed to install a driver. ASIO is by no means legacy, obsoleted or for old OSes/software only, it is used to enable the additional features.

wasapi shared.png

wasapi exclusive.png

ds.png

asio.png


As you can see ASIO for my soundcard exposes more I/O channels than other APIs. The additional channels provide flexibility for signal routing and effect processing in the hardware DSP mixer.

mixer.png


Therefore ASIO and DirectSound3D provide hardware acceleration rather than bypass everything for "unpolluted" sound, just like GPUs need a driver for 3D graphics, shader and video codec acceleration. For a simple USB DAC without additional features, there is no need to install a driver solely for ASIO, except for compatibility reasons. Also, remember once you have a 3rd party driver installed, WASAPI (exclusive or not) is subordinate to the 3rd party driver, you should think they are "Creative WASAPI", "RME WASAPI" and so on, they are likely to behave differently than "Microsoft WASAPI". Read the link below:

https://www.audiosciencereview.com/...-difference-in-sound-quality.7029/post-368504
 
Top Bottom