• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). Come here to have fun, be ready to be teased and not take online life too seriously. We now measure and review equipment for free! Click here for details.

Windows: Default, Wasapi and ASIO renderers.

Offler

Active Member
Joined
May 27, 2021
Messages
157
Likes
126
There is a debate why Windows has such bad sound, compared to Apple or small linux based streamers. Also there is a discussion which audio renderer or interface is best for playback. And I have to emphasize the playback specifically, because its no surprise that ASIO is great for audio mastering and recording of new content.

So I took the scientific approach...

1. I found 1KHz sinewave 24bit 192KHz samplerate 0dB Wav file.
2. I played it through various audio renderers in Foobar2000 and Media Player Classic - Home Cinema.
3. In every case signal went through optical SPDIF and landed in external DAC of NAD d3020v2.

I measured headphone out of the amplifier on my netbook which has lower internal noise than desktop PC. Output/Input were calibrated close to 0.0dB (using MPC-HC Default), while all software volume controls were on 100%.

Lets start with MPC-HC:

Default audio renderer.
MPC-default.jpg


There is a significant distortion around 1KHz. This is why Windows does subjectively and objectively sounds worse. As it was pointed out in a different topic, there is a workaround using Equalizer APO.

After applying Pre-amp -0.14dB in Equalizer APO...
MPC-defaultEAPO.jpg

the distortion is gone. This is a way how EQ APO may fix music and sound in games, which usually do not have any other option.

If you want to know why the workaround works and why the distortion even occurs read here:
https://www.audiosciencereview.com/...nding-the-windows-audio-quality-debate.19438/


Then there is MPC-HC internal Audio renderer, which is usually the only way how to access Wasapi Exclusive mode.
MPC-internal.jpg
Results were identical for both exclusive and shared output. Sound is slightly less loud, by about 5dBs compared to Default. If you check the very top graph, the signal is not touching the boundaries as in most tests.


Then there is MPC-HC with 'MBSE Multichannel ASIO Renderer':
MPC-asio.jpg

I expected it to be perfectly identical to Internal renderer, but there are two spikes around the 1KHz and harmonics seem to be slightly higher, but nothing audible. The main signal is much closer to 0dB thus slightly louder.

Also surprisingly, 'MBSE Multichannel ASIO Renderer' is a paid product for about 30 Euro.


Then lets go for Foobar2000 (v 1.6.5), 'Default audio renderer':
Foobar-Default.jpg

Interesting. Foobar applied its own volume correction by about 8-10dB, so the sound is not distorted. The volume reduction is even more noticeable when compared to the MPC-HC Internal renderer.

Then lets go for WASAPI Exclusive, with 24bit rendering:
Foobar-WASAPI.jpg

Now the signal is much closer to the 0dB and harmonics are louder as well.

Lets check ASIO:
Foobar-ASIO.jpg

Identical to WASAPI Exclusive.



For Foobar 2000
Wasapi and ASIO plugins seem to operate in exactly same way in terms of audio output, however in current version ASIO plugin does not require manual switching between bitrates, but does not allow seeking.

Even Default renderer will operate without any Windows-related distortion, but at significant cost of volume.

For MPC-HC
its surprising that 'Internal Audio Renderer' reduces volume. 'Default' renderer performs as expected - introduced distortion when on maximum volume, but its easy to be fixed, the only downside is it operates in Shared mode, which is not optimal for playing DVD/BDs with 48KHz sample rate.

'MBSE Multichannel ASIO Renderer' acts as in Exclusive mode, does not reduce volume at all, even when it looks to introduce slight distortion around -100dB - nothing i should be able to hear with my setup.


Conclusion:
Foobar2000 'Default' renderer and MPC-HC 'Internal renderer' took away quite a lot of the volume, meaning you might need to increase the volume elsewhere.

Its actually surprising that there is any difference between different audio renderers. Even when there is little difference in terms of distortion, its actually quite interesting to see such different volume levels, as some renderers may take away 5 or 10dB of the dynamic range.
 

Pluto

Addicted to Fun and Learning
Forum Donor
Joined
Sep 2, 2018
Messages
938
Likes
1,449
Location
Harrow, UK
There is a debate why Windows has such bad sound
Is there? I honestly don't see what problem this is trying to solve apart, possibly, from irrational or groundless audiopile prejudice.

Having used Windows for serious audio since 7, I can honestly say that I have never experienced the tiniest difficulty obtaining "bit perfection"* through the Windows audio stack when the audio application is set to WASAPI exclusive. If you don't / can't / won't use WASAPI exclusive there is no claim of bit-perfection so you should be prepared for whatever you get.

So I'm at a loss to understand what problem all the above is trying to solve.

* the state proven, by test equipment, that the digital audio output is bit-identical to the contents of a specially prepared test file
 
OP
O

Offler

Active Member
Joined
May 27, 2021
Messages
157
Likes
126
Is there? I honestly don't see what problem this is trying to solve apart, possibly, from irrational or groundless audiopile prejudice.

Having used Windows for serious audio since 7, I can honestly say that I have never experienced the tiniest difficulty obtaining "bit perfection"* through the Windows audio stack when the audio application is set to WASAPI exclusive. If you don't / can't / won't use WASAPI exclusive there is no claim of bit-perfection so you should be prepared for whatever you get.

So I'm at a loss to understand what problem all the above is trying to solve.

* the state proven, by test equipment, that the digital audio output is bit-identical to the contents of a specially prepared test file

Audiophiles and people who do audio production were trying to convince me to use either Apple Mac or small Linux-based streamer as a primary source on base that Windows Audio Stack is bad and that I should avoid it at all costs. However one of my reasons for getting better audio was also PC gaming and great musical scores in games (lets say Journey, Nier Automata, heck even Skyrim).

Indeed, directsound has issues with distortion (first screenshot), but workaround is here on this forum for a while. There is some rationale behind that opinion, but Wasapi Exclusive is not a common knowledge among audiophiles.

Aside from that I completely agree with your statement.

Rest of my measuring was just pure curiosity if there is "better or worse" audio renderer. I expected that the answer will be "no, every audio renderer sounds the same", and finding out that some of them are at -5 and- 10dB is surprising for me.
 

Pluto

Addicted to Fun and Learning
Forum Donor
Joined
Sep 2, 2018
Messages
938
Likes
1,449
Location
Harrow, UK
were trying to convince me to use either Apple Mac or small Linux-based streamer as a primary source on base that Windows Audio Stack is bad and that I should avoid it at all costs
The shame is that the Windows audio stack is unpredictable by default but it isn't designed for audiophile use. The fact that it works satisfactorily for most users, most of the time, suggests that the design concepts are right.

Equally good is that half a dozen mouse clicks completely solve all the perceived problems.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,324
Likes
1,269
cost of volume
The whole thing is irrelevant to how Windows mixer works at all. For example, if you are working with stereo, do this...

For foobar2000, add the "Convert mono to stereo" DSP:
foo.png


For MPC-HC, enable audio switcher and set the output to stereo:
mpc-hc.png

The difference of level is all about the implicit/default implementation of panning/mixing rule when combining/splitting audio channels among different software, which usually works in stereo pair out of the box.

And obviously, not all games are created in the same way. For example the XAudio2 API works quite differently from these media players, and things like CRI Middleware, Unity, and how things are coded even when using the same set of tools...

When recording, make sure to record with stereo mode as well, or at least, knowing what the recording chain does when dealing with different amount of audio channels. Ideally, do everything in digital domain to get rid of analog distortion. If you have equipment with SPDIF in/out, you can look further, otherwise software loopback is also fine. CAudioLimiter will still affect the result, but at 0.985/-0.14dB. I still have a video to illustrate these things with an older version of foobar2000 which used DS output:
So, no several dBs of differences. If you don't have the same result, then all issues are only specific to your system, and not universal to everyone.

Another way of doing these kinds of tests is to use a stereo test signal. RMAA for example always operates in stereo and there is no difference in audio level among different APIs, in either digital SPDIF, software loopback, and analog I/O.
 
Top Bottom