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

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
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.
Speaking of M-Audio, their newer products usually don't have very competitive measurement performance. Just a few examples:
https://www.audiosciencereview.com/...o-air-hub-usb-dac-headphone-amp-review.10653/
https://prosound.ixbt.com/interfaces/m-audio/2x2m/2444.shtml
http://prosound.ixbt.com/hardsoft/m-audio/m-track/2444.shtml
So one may wonder if they have proper basic driver support or not, let alone ASIO and true hardware multiclient support.

Ironically, their older PCI and Firewire series usually have better results.
https://www.ixbt.com/multimedia/m-audio-revolution51/loop.htm
http://www.rw3ps.qrz.ru/sb3.files/M-AudioDelta44.htm
https://petrh.org/web/teorie/firewire_24_96/M-AudioFireWireAudiophileextpower.htm

Here are the recorded files
Arbitrary music recordings without reference files are not useful for quality evaluation. Even if two files sound different, there is no way to tell which one is a more faithful reproduction. Just use test signals with known characteristics.
 

Merkury

New Member
Joined
Sep 27, 2020
Messages
2
Likes
2
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.

Will do !

And yes, I will repeat the test without normalizing.
 

krabapple

Major Contributor
Forum Donor
Joined
Apr 15, 2016
Messages
3,193
Likes
3,754
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


Based on your evidence so far, you are imagining a sonic difference. But from your description, its sounds like a simple level difference.
(RE)SAMPLING, unless it is set radically low, would not make an audible difference that you are reporting.

Conceivably you have some Windows 'enhancement' turned on that you aren't aware of (open Control Panel--->Sound-->your playback device-->Properties, to check), which would cause an audible difference. But I don't see it in your spectra plots. That is possibly because you normalized, it would eliminate the effect of the 'Loudness Normalization' Windows enhancement, for example.


EDITED: I was looking at the same plot twice! Actually comparing the two, one (the second) is simply 3dB higher in level than the other (the first). That by itself could make the first one sound 'punchier' than the other.



You also don't say what app (plugins) you are using for input and playback.
 
Last edited:

ProDigit

New Member
Joined
Oct 17, 2020
Messages
4
Likes
3
For future reference,
ASIO uses a direct line from CPU (sound program output) to DAC.
While WASAPI and WDM audio drivers (older Windows) uses a line that passes through the OS' mixer first. (either the OS's mixer, or the audio card manufacturer's mixer).
ASIO also bypasses the audio card's hardware acceleration. That means no EAX or other hardware accelerated effects are possible on the signal.
Meaning none of the classic hardware accelerated effects can be applied to it (like reverb, echo, EQ, gain adjustment, or pitch adjustments, phasing,....)

In terms of the signal quality, it's identical (the same data) on WASAPI as ASIO, as the audio signal is processed in 16, 24, or 32 bit form, save for when your mixer has a different volume setting, and any other sound input on WASAPI will be mixed with the source audio (eg: microphone, line in, or multiple sound sources like youtube).
ASIO4ALL isn't able to mix audio sources, however it is possible to use for instance the 2 front channels for one stereo broadcast, and the 2 rear channels for another on a multi channel (4.0, 5.1,...) capable audio chip.
You could use ASIO4ALL, to combine 2 musical programs, or DJ 2 audio programs 'together' that way, although they won't really be mixed internally.

The signal can be mixed with a post mixer, amp, or just mix in the room acoustically (mixing the sound in the same room through multiple speakers)
 
Last edited:

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
For future reference,
ASIO uses a direct line from CPU (sound program output) to DAC.
While WASAPI and WDM audio drivers (older Windows) uses a line that passes through the OS' mixer first. (either the OS's mixer, or the audio card manufacturer's mixer).
ASIO also bypasses the audio card's hardware acceleration. That means no EAX or other hardware accelerated effects are possible on the signal.
Meaning none of the classic hardware accelerated effects can be applied to it (like reverb, echo, EQ, gain adjustment, or pitch adjustments, phasing,....)

In terms of the signal quality, it's identical (the same data) on WASAPI as ASIO, as the audio signal is processed in 16, 24, or 32 bit form, save for when your mixer has a different volume setting, and any other sound input on WASAPI will be mixed with the source audio (eg: microphone, line in, or multiple sound sources like youtube).
ASIO4ALL isn't able to mix audio sources, however it is possible to use for instance the 2 front channels for one stereo broadcast, and the 2 rear channels for another on a multi channel (4.0, 5.1,...) capable audio chip.
You could use ASIO4ALL, to combine 2 musical programs, or DJ 2 audio programs 'together' that way, although they won't really be mixed internally.

The signal can be mixed with a post mixer, amp, or just mix in the room acoustically (mixing the sound in the same room through multiple speakers)
False. Please read the previous posts.
https://www.audiosciencereview.com/...-difference-in-sound-quality.7029/post-410516
https://www.audiosciencereview.com/...-difference-in-sound-quality.7029/post-413398
 

ProDigit

New Member
Joined
Oct 17, 2020
Messages
4
Likes
3
Before you start making blanket statements, you might explain what is false. The links you posted, pretty much say the same thing I am saying.
It would make your response less cocky, and make you look less like a dick or a moron.

My comment is one of my own personal experience of working with audio, so while there may be some misunderstanding in my reply, I believe in general terms, my answer is pretty spot on!
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
Before you start making blanket statements, you might explain what is false. The links you posted, pretty much say the same thing I am saying.
It would make your response less cocky, and make you look less like a dick or a moron.
The details are in the links I posted above, did you read that before insulting others? For example, I can easily apply hardware effects with ASIO in my Creative soundcard (as you mentioned EAX). I can show you how to do that and post some audio clips to demonstrate it if you want.
 

Vasr

Major Contributor
Joined
Jun 27, 2020
Messages
1,409
Likes
1,925
Before you start making blanket statements, you might explain what is false.
...

Please avoid uncivil comments.

You have made several incorrect generalizations from a partial knowledge of the Windows audio system. So, what you have said isn't totally false but the generalization from one particular use case is.
While WASAPI and WDM audio drivers (older Windows) uses a line that passes through the OS' mixer first. (either the OS's mixer, or the audio card manufacturer's mixer).
WASAPI doesn't necessarily go through the audio mixer as you have stated. WASAPI can be used for both exclusive access or non-exclusive access. In exclusive access, other sources are not allowed and so no mixing/resampling is used. In non-exclusive access, the mixing needs to be done as multiple sources can access the sound output in parallel. And since they can be at different sampling rates, a resampling may also be made in the Windows mixer. A source application can select whether it uses exclusive access or not. Users can allow or disable exclusive usage for a specific device in the Windows audio panel.

ASIO uses a direct line from CPU (sound program output) to DAC.
...
ASIO also bypasses the audio card's hardware acceleration. That means no EAX or other hardware accelerated effects are possible on the signal.
Meaning none of the classic hardware accelerated effects can be applied to it (like reverb, echo, EQ, gain adjustment, or pitch adjustments, phasing,....)

ASIO is a protocol for direct hardware access to hardware. What it does with the device is dependent on who provided the driver. If you have an external audio device and that provides its own ASIO driver, it attempts to bypass all of the Windows audio system as well as any intervening hardware (but it may not always be successful in doing so depending on the intervening hardware). However, if a sound card inside your PC provided the ASIO driver, it is just a connection to its own hardware bypassing anything in the middle and then the soundcard is free to do whatever it wants with the sound including all of its DSP processing. So your generalization ASIO necessarily bypasses any sound card processing is incorrect.

ASIO4ALL is simply a generic ASIO driver designed to work with any hardware and as such may pose some limitations of what you can do using that driver compared to a native driver provided by the hardware but has the same purpose and behavior as the native drivers. If you are able to connect to the internal sound card with ASIO4ALL and the sound card is connected to an external device, then the sound card processing will come in play unless it is explicitly switched off. The Windows audio mixer/resampler is bypassed in any case. It may not be possible to connect to an external device using ASIO4ALL directly as it can only connect to devices recognized as audio devices in Windows. The drivers provided by the external device must be able to create those virtual audio devices first in Windows and support ASIO exclusive access. Typically, external devices that do the latter also provide their own ASIO drivers. A few depend on ASIO4ALL.

ASIO and ASIO4ALL are meant for exclusive access and so do not include a mixer in them. They also do not provide for sample rate matching. So either the source client or the destination device has to ensure that the sample rate matches what the other one sends/expects. You get noise if neither does resampling and the sample rates differ.
 

ProDigit

New Member
Joined
Oct 17, 2020
Messages
4
Likes
3
Please avoid uncivil comments.
In what way was that comment uncivil?
If you meant the bottom, that's what one gets when making blanket statements (meaning, generalizing the whole comment as false, just because he disagrees with a (small) portion.

You have made several incorrect generalizations from a partial knowledge of the Windows audio system. So, what you have said isn't totally false but the generalization from one particular use case is.

WASAPI doesn't necessarily go through the audio mixer as you have stated. WASAPI can be used for both exclusive access or non-exclusive access. In exclusive access, other sources are not allowed and so no mixing/resampling is used. In non-exclusive access, the mixing needs to be done as multiple sources can access the sound output in parallel. And since they can be at different sampling rates, a resampling may also be made in the Windows mixer. A source application can select whether it uses exclusive access or not. Users can allow or disable exclusive usage for a specific device in the Windows audio panel.
On my system, wasapi (even exclusive) still allows for hardware effects and sound mixing.

ASIO is a protocol for direct hardware access to hardware. What it does with the device is dependent on who provided the driver. If you have an external audio device and that provides its own ASIO driver, it attempts to bypass all of the Windows audio system as well as any intervening hardware (but it may not always be successful in doing so depending on the intervening hardware). However, if a sound card inside your PC provided the ASIO driver, it is just a connection to its own hardware bypassing anything in the middle and then the soundcard is free to do whatever it wants with the sound including all of its DSP processing. So your generalization ASIO necessarily bypasses any sound card processing is incorrect.

ASIO4ALL is simply a generic ASIO driver designed to work with any hardware and as such may pose some limitations of what you can do using that driver compared to a native driver provided by the hardware but has the same purpose and behavior as the native drivers. If you are able to connect to the internal sound card with ASIO4ALL and the sound card is connected to an external device, then the sound card processing will come in play unless it is explicitly switched off. The Windows audio mixer/resampler is bypassed in any case. It may not be possible to connect to an external device using ASIO4ALL directly as it can only connect to devices recognized as audio devices in Windows. The drivers provided by the external device must be able to create those virtual audio devices first in Windows and support ASIO exclusive access. Typically, external devices that do the latter also provide their own ASIO drivers. A few depend on ASIO4ALL.

ASIO and ASIO4ALL are meant for exclusive access and so do not include a mixer in them. They also do not provide for sample rate matching. So either the source client or the destination device has to ensure that the sample rate matches what the other one sends/expects. You get noise if neither does resampling and the sample rates differ.
Most sound devices I own, don't come with an asio driver. I actually started believing companies no longer invested time in developing them. The last tool I purchased with a device specific asio driver, was in the early 2000s, 15 years ago.
I think most manufacturers believe people to use apple to run their software, or rely on asio4all.
So my limited experience tells me that (new) devices sold with device specific asio drivers are in the stark minority.

BTW ASIO4ALL does allow downmixing 48 to 44.1khz.
 

ProDigit

New Member
Joined
Oct 17, 2020
Messages
4
Likes
3
The details are in the links I posted above, did you read that before insulting others? For example, I can easily apply hardware effects with ASIO in my Creative soundcard (as you mentioned EAX). I can show you how to do that and post some audio clips to demonstrate it if you want.
I can't. And yes I read them and a lot of what I wrote is exactly the same as on the unnecessary links you pasted.
You wasted my time in this.
If you can apply eax effects, is this with device specific asio drivers? Because on asio4all I can't do that on my soundcard.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
I can't. And yes I read them and a lot of what I wrote is exactly the same as on the unnecessary links you pasted.
You wasted my time in this.
If you can apply eax effects, is this with device specific asio drivers? Because on asio4all I can't do that on my soundcard.
Better read what you exactly wrote:
ASIO also bypasses the audio card's hardware acceleration. That means no EAX or other hardware accelerated effects are possible on the signal.
Meaning none of the classic hardware accelerated effects can be applied to it (like reverb, echo, EQ, gain adjustment, or pitch adjustments, phasing,....)
ASIO4ALL is a user mode driver utilizing the ASIO API, ASIO is the API itself. If you can't even differentiate these two things please refrain from posting something which may confuse others, and wasting other people's time to read and correct your mistakes.
 

Vasr

Major Contributor
Joined
Jun 27, 2020
Messages
1,409
Likes
1,925
If you meant the bottom, that's what one gets when making blanket statements (meaning, generalizing the whole comment as false, just because he disagrees with a (small) portion.
That doesn't mean you need to be a jerk about it with personal attacks. That is not what "one gets".
On my system, wasapi (even exclusive) still allows for hardware effects and sound mixing.
This is the problem I am pointing out with your views. You are generalizing from a specific case and assuming it only works that way.

https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/architectural-overview

With WASAPI you can completely bypass the Windows software audio engine and go directly to the hardware (internal or external). Whether the hardware itself allows mixing is a different issue. By definition, if you have exclusive access, you don't need to mix (multiple sources). If the hardware is unable to do the off-loaded processing/mixing only then would the software audio engine be used. But this is in control of the source and the hardware. So, the answer is it depends. Your assertion that it must go through the Windows mixer is incorrect just based on on your particular special case.

audio-engine2.png


Most sound devices I own, don't come with an asio driver. I actually started believing companies no longer invested time in developing them. The last tool I purchased with a device specific asio driver, was in the early 2000s, 15 years ago.
I think most manufacturers believe people to use apple to run their software, or rely on asio4all.
So my limited experience tells me that (new) devices sold with device specific asio drivers are in the stark minority.

BTW ASIO4ALL does allow downmixing 48 to 44.1khz.

All pro-audio equipment or any hardware meant to be used with DAWs almost always come with their own ASIO drivers. Many consumer sound-cards caome with ASIO drivers. Creative Tech sound cards all include an ASIO driver and can be used with of their sound cards that support ASIO.

https://support.creative.com/kb/showarticle.aspx?sid=88833

So your quote
ASIO also bypasses the audio card's hardware acceleration. That means no EAX or other hardware accelerated effects are possible on the signal.
Meaning none of the classic hardware accelerated effects can be applied to it (like reverb, echo, EQ, gain adjustment, or pitch adjustments, phasing,....)
is false for all such cards. This is what the other poster was referring to.

The point is again with your limited knowledge experience posting incorrect generalized statements which was challenged by the other poster.

Yes, ASIO4ALL is able to resample (do not conflate it with mixing/downmixing) down to 44.1khz as a special case. By default it will use the resampling in the underlying WDM drivers. You can check the always use 44.1khz to turn on that resampling.

ASIO4ALL is simply an ASIO API to WDM API translator with exclusive access and relies on WDM to do all the work.
 
D

Deleted member 19195

Guest
Can anyone tell me which API chromebooks tend to use?

.. or direct me how I would look that up for myself on my chromebook? I know nothing about this and am just curious. Thanks.
 

Rottmannash

Major Contributor
Forum Donor
Joined
Nov 11, 2020
Messages
2,981
Likes
2,624
Location
Nashville
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.

I was fiddling around today (am home sick after my 2nd Moderna shot) and decided to swap from WASAPI to ASIO4All and oh, what a mistake. I couldn't get ASIO to work so I reverted back to WASAPI. I'm glad I stumbled onto this thread-it's very informative and reassures me I'm not screwing up the signal from Audirvana>E30>THX789. Sounds great!
 

Aerith Gainsborough

Addicted to Fun and Learning
Joined
May 4, 2020
Messages
853
Likes
1,280
Yeah, some ASIO drivers are a bit messy.
The RME one works better than my Creative one. I get much lower latencies with the RME.

Ultimately, I prefer Direct Sound for music playback though.
It may suck, measurement wise, but I vastly prefer the fade-in and outs over the "KRRK!!" when pausing/stopping or switching tracks.
 

krabapple

Major Contributor
Forum Donor
Joined
Apr 15, 2016
Messages
3,193
Likes
3,754
Yeah, some ASIO drivers are a bit messy.
The RME one works better than my Creative one. I get much lower latencies with the RME.

Ultimately, I prefer Direct Sound for music playback though.
It may suck, measurement wise, but I vastly prefer the fade-in and outs over the "KRRK!!" when pausing/stopping or switching tracks.

I don't get that with WASAPI , using foobar2000 as the player. (I also don't make the music fade in or out).
 

MC_RME

Addicted to Fun and Learning
Technical Expert
Audio Company
Joined
May 15, 2019
Messages
871
Likes
3,613
Ultimately, I prefer Direct Sound for music playback though.
It may suck, measurement wise, but I vastly prefer the fade-in and outs over the "KRRK!!" when pausing/stopping or switching tracks.

Fade-in and -outs are a feature of the player software and not related to the interface format ASIO or WDM. KRRRK on stop/start - not an ASIO issue (or feature) either.
 

Aerith Gainsborough

Addicted to Fun and Learning
Joined
May 4, 2020
Messages
853
Likes
1,280
I don't get that with WASAPI , using foobar2000 as the player. (I also don't make the music fade in or out).
Hmm I get an audible click when I pause playback while using ASIO on the RME. Not as bad as WASAPI on my old soundcard but still there.
How odd.

Fade-in and -outs are a feature of the player software and not related to the interface format ASIO or WDM. KRRRK on stop/start - not an ASIO issue (or feature) either.
Yup, unfortunately, Foobar 1.5.5 only offers these options on Direct Sound. :/

Aah, seems they added it in a later version:
  • New fading capability that works with alternate output modes
I wonder if they fixed multichannel too...
 
Last edited:

highpurityusbcable

Active Member
Joined
Jun 2, 2020
Messages
196
Likes
279
Hmm I get an audible click when I pause playback while using ASIO on the RME. Not as bad as WASAPI on my old soundcard but still there.
How odd.


Yup, unfortunately, Foobar 1.5.5 only offers these options on Direct Sound. :/
I think it's time to update your foobar2000. It's very outdated. Maybe it will fix the issue.
I also don't have these clicks, using wasapi event output with D10s. Never had them with E10k too.
 
Top Bottom