• 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?

Dougey_Jones

Addicted to Fun and Learning
Forum Donor
Joined
May 27, 2020
Messages
552
Likes
460
A dedicated driver provides hardware acceleration via ASIO running in kernel mode. ASIO4all is a user mode driver. The Roland interface I showed in my previous post has a physical sample rate button, and it is the only way to change the unit's hardware sample rate. The Windows audio properties only shows a single sample rate, depending on the button's position.
View attachment 65863
View attachment 65864

My Wadia 121 likewise allows you to select your sample rate, this is pretty standard..

Wadia Word Length.png


"Aerith" said:
I am curious: What exactly do you expect me to dig for?

1) My AVR displays the sample/bitrate of the file in question in the "signal info" panel when I use WASAPI-Exclusive. It does not do that when using Direct Sound.
2) I get a rather annoying error message by other programs that want to use the audio device, some even fail to start or lock-up completely.

What do I expect you to dig for? Some evidence that the files you're listening to are making it to your DAC without being changed (unless that's what you intended). For instance, I can use a resampler in Foobar to upconvert whatever 16/44 material I'm listening to to 96khz, and confirm that that's actually taking place:

Foobar 4496.PNG

Wadia 2.jpg


Native 24/96 and 24/192 files will likewise be passed correctly to my DAC. Just from looking at Bennet's screenshots, I'm pretty sure I could configure his gear to work properly without errors, but it seems like he's more interested in proving me wrong, so good luck with that I guess.
 

krabapple

Major Contributor
Forum Donor
Joined
Apr 15, 2016
Messages
3,194
Likes
3,760
With the manufacturer provided driver with kernel mode support, it showed an error, because this dedicated driver works at a lower level, it really knows what the hardware is doing.
View attachment 65869

Do the same thing using WASAPI exclusive mode. Unplayable, but the error message is misleading.
View attachment 65882

.

Just to be crystal clear , the output failure using WASAPI is for the same reason as when using the Roland driver in kernal (nonresampling) mode, i.e., with the Roland set to 44.1, foobar knows the hardware won't/can't accept a 48 file?
 

Dougey_Jones

Addicted to Fun and Learning
Forum Donor
Joined
May 27, 2020
Messages
552
Likes
460
Just to be crystal clear , the output failure using WASAPI is for the same reason as when using the Roland driver in kernal (nonresampling) mode, i.e., with the Roland set to 44.1, foobar knows the hardware won't/can't accept a 48 file?

No, Foobar2000 doesn't "know", it's attempting to pass the info and it's failing.

So, just for the record, my experience is completely different than Bennet's where manually choosing a Bit/Sample rate is concerned. Choosing one of those drop down options in the sound control panel does NOT limit me from playing back any/all available combinations that the DAC can handle. That's the entire purpose of Windows recognizing which formats are compatible. Right now I have the control panel set to 24/44.1 but am streaming 24/192 through Foobar to my DAC, LED's on the front confirm what's being received.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
Just to be crystal clear , the output failure using WASAPI is for the same reason as when using the Roland driver in kernal (nonresampling) mode, i.e., with the Roland set to 44.1, foobar knows the hardware won't/can't accept a 48 file?
When the Roland is set to 44.1k with the physical button, foobar shows the same error message (device in use) for 48k files as well, when using WASAPI output. It can only play 44.1k files.
 

krabapple

Major Contributor
Forum Donor
Joined
Apr 15, 2016
Messages
3,194
Likes
3,760
When the Roland is set to 44.1k with the physical button, foobar shows the same error message (device in use) for 48k files as well, when using WASAPI output. It can only play 44.1k files.

Right! Sorry, I misread and transposed the sample rates in my post, which should have read, with the Roland hardware SR set to 44, and foobar set to use a nonresampling output (either the Roland driver in nonresampling mode, or WASAPI), you get an error message when the input file is 48 kHz. Any reason the WASAPI error message is so uninformative? (Is it even true ...is the device 'in use' somehow?)
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
Right! Sorry, I misread and transposed the sample rates in my post, which should have read, with the Roland SR is set to 44, and foobar set to use a nonresampling output (either the Roland driver in nonresampling mode, or WASAPI), you get an error message when the input file is 48 kHz. Any reason the WASAPI error message is so uninformative? (Is it even true ...is the device 'in use' somehow?)
Yes. Uninformative error message. When the sample rate matches, the files will play without any error.
 

Aerith Gainsborough

Addicted to Fun and Learning
Joined
May 4, 2020
Messages
853
Likes
1,280
Some evidence that the files you're listening to are making it to your DAC without being changed (unless that's what you intended). For instance, I can use a resampler in Foobar to upconvert whatever 16/44 material I'm listening to to 96khz, and confirm that that's actually taking place:
I do not use a resampler and my DAC/AVR is showing whatever sample rate the currently played file has, whenever I use WASAPI.
Clip.png

Resize of IMAG0095.jpg


When I stop playback, the device is released and the AVR immediately displays system default 48KHz.
What more proof would I need?

You see conspiracies where there are none. Stop worrying about "potential changes" that aren't there and focus on the music. As the artist intended you to.
 

Dougey_Jones

Addicted to Fun and Learning
Forum Donor
Joined
May 27, 2020
Messages
552
Likes
460
I do not use a resampler and my DAC/AVR is showing whatever sample rate the currently played file has, whenever I use WASAPI.
View attachment 65932
View attachment 65933

When I stop playback, the device is released and the AVR immediately displays system default 48KHz.
What more proof would I need?

You see conspiracies where there are none. Stop worrying about "potential changes" that aren't there and focus on the music. As the artist intended you to.

No conspiracy, it seems like you've managed to get WASAPI to work correctly, I haven't had as consistent an experience, which is why I use ASIO primarily.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
Native 24/96 and 24/192 files will likewise be passed correctly to my DAC. Just from looking at Bennet's screenshots, I'm pretty sure I could configure his gear to work properly without errors, but it seems like he's more interested in proving me wrong, so good luck with that I guess.
I am not interested in proving your DACs can or cannot avoid resampling with ASIO4all, I just want to illustrate ASIO4all can silently resample without notifying the user. Just like in another post I mentioned WASAPI exclusive mode can silently resample as well:
https://www.audiosciencereview.com/...-difference-in-sound-quality.7029/post-368504
 

Vincent Kars

Addicted to Fun and Learning
Technical Expert
Joined
Mar 1, 2016
Messages
794
Likes
1,590
My Wadia 121 likewise allows you to select your sample rate, this is pretty standard.
Not really, this is Windows.
As it is a USB connection, Win probably uses the USB device enumeration to obtain the properties of the Wadia.

This is indeed the setting uses by WASAPI/Shared mode and allows for multiple streams.

One can check exclusive mode. In itself this won't make a difference, everything keeps on playing.
If you can select drivers in the media player, selecting WASAPI/ Exclusive will lock the audio device.
Only the stream played by this media player will be audible.
This is the way to get automatic sample rate switching.
Even if this works and in case of a DAC with some kind of indicator one can check, bit perfect is still not guaranteed.
If the player is using e.g. volume control the output is not bit perfect by design.

As it is USB it is also possible that the Win master and/or application volume is still active in Exclusive mode because volume control is part of the USB audio standard.

The reported difference in loudness I can't explain.
To the best of my knowledge, WASAPI in/exclusive, ASIO, all have the same loudness.
Only if something hidden/overlooked is going on like application volume control, some DSP (Bass enhancement, loudness compensation, etc) such a substantial difference can be explained.
 

Aerith Gainsborough

Addicted to Fun and Learning
Joined
May 4, 2020
Messages
853
Likes
1,280
No conspiracy, it seems like you've managed to get WASAPI to work correctly, I haven't had as consistent an experience, which is why I use ASIO primarily.
*confused look*

I didn't manage anything, all I did was to go to foobar's preferenes and select "WASAPI push" on my X-Fi ("WASAPI event" only gives an error, assumption: sound card not compatible). Under windows settings I have the "Application may take control of this device" active, so programs have the ability to make isolated use of it.

As it is USB it is also possible that the Win master and/or application volume is still active in Exclusive mode because volume control is part of the USB audio standard.
Just tested it with my Rode AI-1 audio interface and can confirm the above. Stream was exclusive to foobar but Windows volume control still worked.
Device is class compliant, so no special driver in play.
 
Last edited:

Dougey_Jones

Addicted to Fun and Learning
Forum Donor
Joined
May 27, 2020
Messages
552
Likes
460
Not really, this is Windows.
As it is a USB connection, Win probably uses the USB device enumeration to obtain the properties of the Wadia.

One can check exclusive mode. In itself this won't make a difference, everything keeps on playing.
If you can select drivers in the media player, selecting WASAPI/ Exclusive will lock the audio device.
Only the stream played by this media player will be audible.

It's pretty easy to verify whether you've got the stream locked or not, regardless of which output you're using.. Try playing ANY other sound and see if you hear it lol
 

Vincent Kars

Addicted to Fun and Learning
Technical Expert
Joined
Mar 1, 2016
Messages
794
Likes
1,590
It's pretty easy to verify whether you've got the stream locked or not, regardless of which output you're using.. Try playing ANY other sound and see if you hear it lol
It is.
Not to be mistaken for bit perfect output.
 

GunGrave87

Member
Joined
Sep 1, 2020
Messages
9
Likes
6
Location
Romania
My experience.
Using foobar2000 on windows 10 and switching between directsound, wasapi, asio(generic), asio(topping recommended) has no effect on sound quality or loudness.
PC(USB)->E30->JDS Atom - Hifiman Deva
 

Merkury

New Member
Joined
Sep 27, 2020
Messages
2
Likes
2
Hi,

Some people say that ASIO gives the best sound, some WASAPI, some say Direct Sound is as good as it can get.
What's the truth?

I'm on Windows 10 and can't hear any difference, if I use my Topping D10 with Direct Sound or with its ASIO driver.

Are there any measurements out there?

Cheers.

I'm glad that you asked this question, since I've been thinking about this subject for a long time.
I play electric guitar through my computer (with plugins) and I've always thought that ASIO4ALL had terrible sound quality compare to DIRECTSOUND. ( the latter feels PUNCHIER to me )

Then I upgraded my soundcard with an M-AUDIO thinking that it would be better. Now I've got more performance, less latency, multi-client driver... and the same exact problem : ASIO sound sucks, direct sound has a punchy feel. ASIO sounds (or feels ? ) FLAT.

So today I decided to record two WAV files, by connecting a loopback patch from one of my outputs to the audio interface input, one with ASIO and one with DIRECTSOUND .

Then I did a spectral analysys. They look the same, but slightly different. I'm just a musician with no audio background so maybe the expert users will tell a difference. My conclusion was that it has to do with the SAMPLING .

Here are the recorded files ( WARNING - THEY ARE LOUD ! normalized to - 1 db )

https://drive.google.com/file/d/1M9gWfP1axE24uo0bOmUeDvasFkuV-xm5/view?usp=sharing

https://drive.google.com/file/d/1q_RBRiNkRjkftGirdNLhrpffaElSj19i/view?usp=sharing
 

Attachments

  • ANALISI SPETTRO ASIO.png
    ANALISI SPETTRO ASIO.png
    102.7 KB · Views: 179
  • ANALISI SPETTRO WAV.png
    ANALISI SPETTRO WAV.png
    58.9 KB · Views: 197
Last edited:
OP
daftcombo

daftcombo

Major Contributor
Forum Donor
Joined
Feb 5, 2019
Messages
3,688
Likes
4,069
I'm glad that you asked this question, since I've been thinking about this subject for a long time.
I play electric guitar through my computer (with plugins) and I've always thought that ASIO4ALL had terrible sound quality compare to DIRECTSOUND. ( the latter feels PUNCHIER to me )

Then I upgraded my soundcard with an M-AUDIO thinking that it would be better. Now I've got more performance, less latency, multi-client driver... and the same exact problem : ASIO sound sucks, direct sound has a punchy feel. ASIO sounds (or feels ? ) FLAT.

So today I decided to record two WAV files, by connecting a loopback patch from one of my outputs to the audio interface input, one with ASIO and one with DIRECTSOUND .

Then I did a spectral analysys. They look the same, but slightly different. I'm just a musician with no audio background so maybe the expert users will tell a difference. My conclusion was that it has to do with the SAMPLING .

Here are the recorded files ( WARNING - THEY ARE LOUD ! normalized to - 1 db )

https://drive.google.com/file/d/1M9gWfP1axE24uo0bOmUeDvasFkuV-xm5/view?usp=sharing

https://drive.google.com/file/d/1q_RBRiNkRjkftGirdNLhrpffaElSj19i/view?usp=sharing

Hi !

Great idea. I did the same some time ago. Check this thread:
https://www.audiosciencereview.com/...layers-foobar-jriver.7412/page-10#post-186791

After some errors, what I measured was no difference between ASIO and Wasapi and a bit more distortion (probably inaudible) with Direct sound.

What you can hear is strange glitches due to too low buffer especially at the beginning of tracks. Otherwise, level mismatch.

Can you run and record a sweep? It would be easier to interpret.
 

zenki

Active Member
Joined
Apr 3, 2018
Messages
102
Likes
34
This' exactly one of the reason why not to use windows & start using unix for audio playback.
And AFAIK apple has even better driver implementation than unix
 
Top Bottom