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

Ending the Windows Audio Quality Debate

DDF

Addicted to Fun and Learning
Joined
Dec 31, 2018
Messages
550
Likes
891
#1
A debate has been long raging in the audio community that Windows isn't fit for use in a high resolution audio system. Sceptics counterargued that bits are bits and Windows audio degradations are a figment of an over-active audiophile imagination.

I decided to investigate this as I kept hearing issues with Windows, even after following common practice to (controversially) supposedly make it clean. I found some surprises along the way.

Sorry for the long post but my motivation is to share how to get effectively perfect audio from Windows, to save folks money and headaches, and to help end the endless debates. I'm including supporting objective test evidence in keeping with the spirit of ASR.

Over time, pieces of the "Windows audio sucks" puzzle emerged, but never a complete picture:
  • Benchmark popularized that upsampling causes intersample-overs and clipping distortion within DAC chips. This is fixed by adding some Windows' volume loss
  • Archimago showed that the Windows 10 upsampler (as of 2015) had significant performance issues. Avoiding the upsampler was the solution
  • Mathew Van Eerde showed that Windows has an embedded limiter (CAudioLimiter) that can cause distortion if the signal is near full scale. But I've seen no study on what to do about it. Was the limiter at the input of Windows audio engine, the output, or both? Do all sources needed to have volume reduced or would Windows' global volume work? I decided to find out.
A commonplace sledge hammer detente is to just give up and use ASIO or WASAPI exclusive and bypass Windows' audio engine all together, for bit perfect operation.

I was unhappy with this answer. I want better than bit perfect: a high performance digital filter engine to correct my room modes below Schroeder or to equalize (i.e. correct) my headphones regardless of what I was listening to, with Window's ease of use for all my audio sources. The common recommendation was yet another sledgehammer: buy expensive external hardware filtering boxes (e.g. RME or miniDSP SHD).

This just seemed wrong to me, it felt like giving up. External hardware adds cost and ironically ties you to hardware with frequency resolution lower than Windows can deliver with a more convenient integrated free software solution like Equalizer APO. But how about the performance of EAPO, is it "good enough"? Again, an online search turned up no answers. So I decided to answer that too.

The first step was to find test signals that could be viewed as faultless, with self distortion well below 24 bits. After performing a large study of the free REW and Audacity's tone generators (including trade off with bit rate and the performance of the various types of dither), I found their performance far outstripped even professional external hardware generators costing in the thousands (full disclosure, I used to work in an audio lab). As an example, this REW multi tone test stimulus (24 bit 44.1kHz with dither) was used in my measurements. Distortion components are >170 dB down. Ignore the noise floor, it has FFT gain, but it's "way down there".

1610839019078.png


All the measurements that follow are purely digital using REW through the Windows audio stack with no A/D or D/A conversions, and so any faults are Windows' alone.

Hidden APOs
Playing the multitone file through the Windows audio stack on my family Dell tower XPS8300, with no volume loss, no filters, all system sounds off, all effects disabled etc:

1610840275618.png

Windows uses audio processing objects (APOs) to provide software based digital signal processing for it's audio streams. First Surprise: Some hidden non defeatable APO made a mess of it, even with "all effects off' in Windows. Naughty Windows! My music system and work PCs didn't show this issue, so it may be caused by an APO for the Dell Realtek soundcard. To verify the measurement, I retested with RMAA's spectrum analyzer and the tones at a lower level (to make sure it wasn't intermediate clipping or the CAudioLimiter). Same outcome.

To try and fix this, I then installed (free) Equalizer APO (EAPO). This brilliant software supports a trouble shooting mode that turns off all "original" (stock) system APOs:

1610840594325.png


Result? Effective bit perfection through the Windows audio stack: first distortion component @ -170dB, per the source file:

1610840944103.png


The lesson here is that if your music system is Windows based, to guarantee no funny business from Windows audio, install EAPO even if you don't use filtering, and shut off "original APOs".

CAudioLimiter
Now, lets tackle CAudioLimiter. This is a level limiter built into the Windows audio stack that reduces the digital signal level if it approaches full scale. Benchmark and other sources have illustrated that such high signal level signals are not so uncommon in digital music files.

To test the CAudioLimiter, REW was used to generate a single test tone @ 0 dBFS, 24 bit. The first distortion component of the REW source tone is ~ -160 dB (again ignore noise floor due to FFT gain):

1610841140913.png


Here's CAudioLimiter's nasty fingerprint when this is played back without any loss. See how the limiter knocks the output down to -0.12 dBFS but adds a spray of distortion:

1610841222535.png


Using EAPO to set a pre-amp loss of 0.2 dB (loss with an input APO) completely avoids the CAudioLimiter. I think 150 dB dynamic range to the first distortion component should be good enough for even the fussiest audio junkie:

1610841315115.png


Filter Induced Digital Peaking
Perhaps less well known is that high pass filtering can also cause digital clipping, even if the filter only adds loss. How can this happen? The filter changes phase response which can then change how the different frequencies constructively add in the audio envelope. A good illustration of this is here.

This is a digital problem, not a Windows problem. Thankfully, the same solution used to avoid intersample overs, 4 dB digital preamp loss, should provide enough margin for this in practice as well.

Is EAPO "good enough"?
OK, so adding some loss in an input APO solves our clipping and limiter issues. Next question: what about EAPO, is it's performance really "good enough"? To answer this, I tested EAPO with this complex filter set (highest frequency notch is @ 100Hz)

1610841437586.png


Here's EAPOs digital output with the prior 4 tone REW test stimulus. Faultless, as expected from 32bit float processing used by EAPO:

1610841496805.png


EAPO also gets a knock for using "textbook" filters. These are known to cause "cramping" in high frequencies. In short, cramping is when the PEQ filter "bell" shape gets increasingly asymmetrical as it approaches half the sample rate. So I looked into this as well. In a nice outcome, it turns out that the filters generated by REW using "generic filter" setting are the same filters implemented by EAPO. What you see is what you get when using filters designed by REW, implemented by EAPO.

Upsampling Performance
Another question is whether automatic sample rate switching is needed in Windows, or if a fixed high sample rate can be set, relying on Windows upsampling. Archimago showed that Windows upsampling performed poorly in 2015, but I think the jury is still out. My testing in Dec '20 shows that the Windows upsampler is probably more than good enough. It appears like Windows made improvements since 2015. Playing a 44.1kHz file with upsampling to 96kHz, 24 bits, and EAPO set to -0.2 dB to avoid CAudioLimiter, the highest distortion component was at -134 dB:

1610846178388.png


If you're fussy (like I am), you can change the sample rate when playing back high resolution material, but I think leaving it set at 96kHz should be more than good enough.

Windows "Remote Desktop"
To sweeten the deal, Windows also provides the convenience of free remote desktop from your Android phone. You can sit in front of your speakers and tweak settings, and adjust EQ's etc in real time. This provides the same convenience as "Spotify Connect" but for all music sources whether Tidal or local file playback etc.

What About Analog?
I also want to address how to make this all work for you analog junkies. I own a pile of vinyl and a nice table so had to solve this for myself. I use a low cost external USB A/D tested in loopback showing >100 dB SNR, which blows away the performance of any RIAA preamplifier in front of it. I plumb that into the PC and through EAPO get all the same benefits of room and headphone equalization from vinyl. Getting this right ensures not clipping the A/D. I've created a separate spreadsheet to achieve this, but its beyond the scope here.

Summary Recommendations:
  • Install Equalizer APO and use it to disable original APOs and set EAPO's preamp gain at ~ -4 dB to avoid upsample overs, filtering induced peaks, and the Windows CAudioLimiter
  • Set Windows audio to 24 bits so that it's added dither doesn't compromise dynamic range
  • Set Windows sample rate to the same rate as the native file, or to 96 kHz if you play back high resolution material
  • Turn off Windows system sounds and enhancements
  • Install "remote desktop" for "Spotify Connect"-like added convenience, for all your digital sources
  • Take the money saved and buy more music, better speakers and a few bottles of wine
If set up correctly, Windows can provide clean, faultless audio and (free) high performance equalization which provides enormous pleasure and fidelity improvement that I think any open minded audio fan could get behind. All with the performance and convenience beyond external costly hardware solutions.

I'm hoping you found this helpful.
 

Attachments

Last edited:

AnalogSteph

Major Contributor
Joined
Nov 6, 2018
Messages
1,111
Likes
960
Location
.de
#3
I had a look, and the Realtek driver offered for the XPS 8300 is version 6.0.1.6141, suggesting a build from some time in 2011 or so when the system was brand new. I had some issues with some versions from this time period like 6.0.1.6263 (R2.67) not correctly initializing the hardware when set up for 24/44, so would recommend ditching this old version for a generic Realtek driver package like R2.82 from 2017. It's not like this model PC would be requiring any special driver features anyway (like bass boost for built-in speakers or the like).

Some Realtek chips permit implementing an analog supply voltage of either 5 V or 3.3 V while leaving analog gain the same either way, so these way run into analog clipping at the top of the volume range. About 80% (ca. -3 dB) maximum main volume is recommended in these cases.
 

Vasr

Major Contributor
Joined
Jun 27, 2020
Messages
1,346
Likes
1,645
#5
Sorry for the long post but my motivation is to share how to get effectively perfect audio from Windows, to save folks money and headaches, and to help end the endless debates. I'm including supporting objective test evidence in keeping with the spirit of ASR.
Brilliant post. Thank You.

  • Install Equalizer APO and use it to disable original APOs and set EAPO's preamp gain at ~ -4 dB to avoid upsample overs, filtering induced peaks, and the Windows CAudioLimiter
Tip if you use EAPO: If you re-install a driver for any device that you have enabled EAPO for, the installer may uninstall the previous device and re-install the sound device again (Nvidia HD Audio updates for their cards do this, for example). This can make EAPO be uninstalled for that device and you will never know (except perhaps for the sound difference depending on what you are doing with EAPO). So check EAPO configuration editor after every driver update to ensure that it is still installed for the driver-updated device and enable it if it is not. Also if you have used any device selection flow control in the EAPO config.txt, you will need to re-select that device. Learnt the hard way.

The -4dB is not necessary if you are not using filters. -0.2dB should be sufficient. Too much lowering unnecessarily will have implications downstream on gain matching.
 

whazzup

Senior Member
Joined
Feb 19, 2020
Messages
396
Likes
262
#6
This is a level limiter built into the Windows audio stack that reduces the digital signal level if it approaches full scale.
Thank you! Can you explain when is it considered 'full scale'? Simply maxing out the Windows volume?
And why is CAudioLimiter (and the 'APO's) designed to distort so much? Legacy code? MS engineers not paid enough to do a proper job?

By this image below, you're just showing us the troubleshooting options? So during installation of EAPO, we actually do not need to enable 'troubleshooting options', correct? Just need to install EAPO and configure the correct device. Or, are you saying we need to perform both steps 1 and 2.
 
Last edited:

stalepie2

Senior Member
Joined
Feb 9, 2020
Messages
311
Likes
156
#7
Are these problems bypassed with USB DAC/amps? I sometimes use WASAPI in Foobar, but can't hear a difference between it and Primary Sound Driver.
 

March Audio

Major Contributor
Manufacturer
Joined
Mar 1, 2016
Messages
6,366
Likes
8,757
Location
Albany Western Australia
#8
Are these problems bypassed with USB DAC/amps? I sometimes use WASAPI in Foobar, but can't hear a difference between it and Primary Sound Driver.
These issues are bypassed if you use waspish or ASIO
 

AnalogSteph

Major Contributor
Joined
Nov 6, 2018
Messages
1,111
Likes
960
Location
.de
#9
Thank you! Can you explain when is it considered 'full scale'? Simply maxing out the Windows volume?
Full scale means that the signal is just reaching the limits of possible sample values. Digital samples traditionally are integer numbers with a maximum and minimum value. For example, a signed 16-bit integer sample will be covering the range of -32768 to +32767. You may want to read up on the basics of digital audio.
And why is CAudioLimiter (and the 'APO's) designed to distort so much?
This is inherent to any peak limiter. It is simply cutting off any part of a waveform outside a certain range. Without it, multiple concurrent audio streams could exceed full-scale levels (since the audio stack is using 32-bit float samples internally where are later converted to integer, i.e. -1.0 --> -32768), and float / integer conversion might react to input outside of [-1.0, +1.0) with very nasty-sounding wraparounds. Why -0.12 dB / 0.986? Who knows, it's pretty close anyway. It's a hair below 127/128 (~0.992), so I guess they may have wanted 8-bit samples covered as well.

Anyway, the point is that your digital signal should not be reaching full-scale or even -0.12 dB on any kind of regular basis anyway. Some of your music material may disagree, but the generally small amount of digital attenuation required tends to make this pretty much a non-issue. If you are using ReplayGain, chances are you're already in the clear.
 
OP
DDF

DDF

Addicted to Fun and Learning
Joined
Dec 31, 2018
Messages
550
Likes
891
Thread Starter #10
Realtek driver for XPS 8300 is 6.0.1.6141...would recommend ditching this old version
This issue was with 2019 driver 10.0.19041.1 and lower volumes. Your experience raises a good point, that driver incompatibilities can be tough to detect or diagnose. So long as you don't need them (eg special gaming APOs) disabling APOs is a nice work around.

Thank you! Can you explain when is it considered 'full scale'? Simply maxing out the Windows volume? And why is CAudioLimiter (and the 'APO's) designed to distort so much? Legacy code? MS engineers not paid enough to do a proper job?
Windows mixes multiple audio signal together, for example, listening to music while watching a youtube video. The result could be loud enough to hard clip. CAudioLimiter makes this overload sound less bad than hard clipping. Side effect is that it can also get in the way of valid samples on a single audio stream, a trade off Microsoft had to make.

By this image below, you're just showing us the troubleshooting options? So during installation of EAPO, we actually do not need to enable 'troubleshooting options', correct? Just need to install EAPO and configure the correct device. Or, are you saying we need to perform both steps 1 and 2.
When installing EAPO, the user launches the configurator (above) and chooses which output devices EAPO is to run on. For example, it could be the internal soundcard to the PC, or an external USB DAC, or both. In the configurator menu, selecting "Troubleshooting options" causes the info beneath to unhide. The drawback to disabling original APOs is that it could disable DSP used by your games. The drawback to not disabling is that it could leave rogue APO's present that cause audio distortion. If you don't game on your music rig, I recommend disabling them. If you do game, and suspect Windows is colouring the sound, try disabling original APOs. It's not permanent and you could always launch the configurator at any time and change the setting.

Brilliant post. Thank You.
You're welcome, and thanks for the nice feedback. It was an eye opener for me and hope it helps. It stopped me from pulling the pin on some pretty expensive hardware.

The -4dB is not necessary if you are not using filters.
There's still the issue of upsampling in the DAC chip, so I recommend using at least -4 dB. I guess its possible that some systems can't handle that, but I think it would be rare, for example if the entire system volume controls needed to be set to max.
 

Vasr

Major Contributor
Joined
Jun 27, 2020
Messages
1,346
Likes
1,645
#11
There's still the issue of upsampling in the DAC chip, so I recommend using at least -4 dB. I guess its possible that some systems can't handle that, but I think it would be rare, for example if the entire system volume controls needed to be set to max.
If you are talking about the potential for inter-sampling peaks, this is not an issue in current DACs. From what I understand, they typically keep sufficient headroom internally with floating point precision for any such peaks. As long as you keep Windows and inside the PC processing from doing anything adverse in the digital domain, you are good.

Here is Benchmark's explanation of how this works with 3.5db headroom maintained by DAC2 chain.
https://benchmarkmedia.com/blogs/application_notes/inside-the-dac2-part-2-digital-processing
Scroll to the heading Headroom for Intersample Peaks.

Are these problems bypassed with USB DAC/amps? I sometimes use WASAPI in Foobar, but can't hear a difference between it and Primary Sound Driver.
If you use ASIO and your player and sound device supports it, you bypass Windows Processing and so the issues here will not be a problem. If you use WASAPI, it depends. If you have enabled exclusive mode for that sound device AND your player is capable of doing exclusive mode AND the player or the end device will do the required sample rate matching, these Windows issues will not affect it. Otherwise, it will.

As a thumb rule to detect if Windows engine is in play, if the volume indicator in the sound device panel is not lighting up while playing or it is lighting up but the level control in Windows for that device has no effect on it, you are bypassing the Window engine. Otherwise, not.
 

andreasmaaan

Major Contributor
Forum Donor
Joined
Jun 19, 2018
Messages
6,651
Likes
8,935
#13
A debate has been long raging in the audio community that Windows isn't fit for use in a high resolution audio system. Sceptics counterargued that bits are bits and Windows audio degradations are a figment of an over-active audiophile imagination.

I decided to investigate this as I kept hearing issues with Windows, even after following common practice to (controversially) supposedly make it clean. I found some surprises along the way.

Sorry for the long post but my motivation is to share how to get effectively perfect audio from Windows, to save folks money and headaches, and to help end the endless debates. I'm including supporting objective test evidence in keeping with the spirit of ASR.
Very helpful, clear, and concise post - many thanks :)
 
OP
DDF

DDF

Addicted to Fun and Learning
Joined
Dec 31, 2018
Messages
550
Likes
891
Thread Starter #14
If you are talking about the potential for inter-sampling peaks, this is not an issue in current DACs. From what I understand, they typically keep sufficient headroom internally with floating point precision for any such peaks. As long as you keep Windows and inside the PC processing from doing anything adverse in the digital domain, you are good.

Here is Benchmark's explanation of how this works with 3.5db headroom maintained by DAC2 chain.
https://benchmarkmedia.com/blogs/application_notes/inside-the-dac2-part-2-digital-processing
Scroll to the heading Headroom for Intersample Peaks.
Unfortunately, as Benchmark states in that article "Most converters clip whenever an inter-sample over occurs".

The DAC2 onwards uses special internal processing to avoid it by adding internal loss before upgaining again later. IIRC RME does as well. DAC1 uses an ESS chip without this processing and shows the intrasample over distortion as Benchmark shows in their article.

Adding ~ 4 dB digital loss in Windows avoids this for all converters, side stepping the need for a Benchmark DAC. Four dB isn't a perfect solution in that its possible to create artificial signals where intersample overs are extreme. Typically this involves a signal ~ half the sample rate, and there are several threads in ASR examining this in detail.

For real real music, I think its safe to rely on Benchmark' extensive research and use 4 dB.

The A/D I use also supports an spdif optical input so that a CD player can be plumbed into the PC to resolve the intersample overs issue and provide EAPO filtering for shiny discs as well.
 

Vasr

Major Contributor
Joined
Jun 27, 2020
Messages
1,346
Likes
1,645
#15
Unfortunately, as Benchmark states in that article "Most converters clip whenever an inter-sample over occurs".

The DAC2 onwards uses special internal processing to avoid it by adding internal loss before upgaining again later. IIRC RME does as well. DAC1 uses an ESS chip without this processing and shows the intrasample over distortion as Benchmark shows in their article.

Adding ~ 4 dB digital loss in Windows avoids this for all converters, side stepping the need for a Benchmark DAC. Four dB isn't a perfect solution in that its possible to create artificial signals where intersample overs are extreme. Typically this involves a signal ~ half the sample rate, and there are several threads in ASR examining this in detail.

For real real music, I think its safe to rely on Benchmark' extensive research and use 4 dB.

The A/D I use also supports an spdif optical input so that a CD player can be plumbed into the PC to resolve the intersample overs issue and provide EAPO filtering for shiny discs as well.
I don't agree with the blanket recommendation of reducing source by 4dB (for an edge case that may or may not exist in your particular chain). The attenuation is not free. It has implications on dynamic range and if you are using a marginal amp later on with very efficient speakers, it might make the difference between hearing or not hearing hiss with normal volume. Combine that with the headroom you may lose for any room eq in the chain, the situation gets worse. So, the solution may be worse than the problem especially if the problem does not exist in your chain!

The correct solution is for the DAC (as a device not chip) vendor to take care of this depending on the chip they use and what the chip does. They can compensate in the gain stage later so that any attenuation they do pre can be normalized back to spec output voltage while keeping the noise components under control.

Do you know of any well-measuring currently available DAC that suffers from this?
 

Asylum Seeker

Senior Member
Joined
Feb 12, 2020
Messages
394
Likes
252
Location
Guatemala
#16
A debate has been long raging in the audio community that Windows isn't fit for use in a high resolution audio system. Sceptics counterargued that bits are bits and Windows audio degradations are a figment of an over-active audiophile imagination.

I decided to investigate this as I kept hearing issues with Windows, even after following common practice to (controversially) supposedly make it clean. I found some surprises along the way.

Sorry for the long post but my motivation is to share how to get effectively perfect audio from Windows, to save folks money and headaches, and to help end the endless debates. I'm including supporting objective test evidence in keeping with the spirit of ASR.

Over time, pieces of the "Windows audio sucks" puzzle emerged, but never a complete picture:
  • Benchmark popularized that upsampling causes intersample-overs and clipping distortion within DAC chips. This is fixed by adding some Windows' volume loss
  • Archimago showed that the Windows 10 upsampler (as of 2015) had significant performance issues. Avoiding the upsampler was the solution
  • Mathew Van Eerde showed that Windows has an embedded limiter (CAudioLimiter) that can cause distortion if the signal is near full scale. But I've seen no study on what to do about it. Was the limiter at the input of Windows audio engine, the output, or both? Do all sources needed to have volume reduced or would Windows' global volume work? I decided to find out.
A commonplace sledge hammer detente is to just give up and use ASIO or WASAPI exclusive and bypass Windows' audio engine all together, for bit perfect operation.

I was unhappy with this answer. I want better than bit perfect: a high performance digital filter engine to correct my room modes below Schroeder or to equalize (i.e. correct) my headphones regardless of what I was listening to, with Window's ease of use for all my audio sources. The common recommendation was yet another sledgehammer: buy expensive external hardware filtering boxes (e.g. RME or miniDSP SHD).

This just seemed wrong to me, it felt like giving up. External hardware adds cost and ironically ties you to hardware with frequency resolution lower than Windows can deliver with a more convenient integrated free software solution like Equalizer APO. But how about the performance of EAPO, is it "good enough"? Again, an online search turned up no answers. So I decided to answer that too.

The first step was to find test signals that could be viewed as faultless, with self distortion well below 24 bits. After performing a large study of the free REW and Audacity's tone generators (including trade off with bit rate and the performance of the various types of dither), I found their performance far outstripped even professional external hardware generators costing in the thousands (full disclosure, I used to work in an audio lab). As an example, this REW multi tone test stimulus (24 bit 44.1kHz with dither) was used in my measurements. Distortion components are >170 dB down. Ignore the noise floor, it has FFT gain, but it's "way down there".

View attachment 106545

All the measurements that follow are purely digital using REW through the Windows audio stack with no A/D or D/A conversions, and so any faults are Windows' alone.

Hidden APOs
Playing the multitone file through the Windows audio stack on my family Dell tower XPS8300, with no volume loss, no filters, all system sounds off, all effects disabled etc:

View attachment 106547
Windows uses audio processing objects (APOs) to provide software based digital signal processing for it's audio streams. First Surprise: Some hidden non defeatable APO made a mess of it, even with "all effects off' in Windows. Naughty Windows! My music system and work PCs didn't show this issue, so it may be caused by an APO for the Dell Realtek soundcard. To verify the measurement, I retested with RMAA's spectrum analyzer and the tones at a lower level (to make sure it wasn't intermediate clipping or the CAudioLimiter). Same outcome.

To try and fix this, I then installed (free) Equalizer APO (EAPO). This brilliant software supports a trouble shooting mode that turns off all "original" (stock) system APOs:

View attachment 106550

Result? Effective bit perfection through the Windows audio stack: first distortion component @ -170dB, per the source file:

View attachment 106552

The lesson here is that if your music system is Windows based, to guarantee no funny business from Windows audio, install EAPO even if you don't use filtering, and shut off "original APOs".

CAudioLimiter
Now, lets tackle CAudioLimiter. This is a level limiter built into the Windows audio stack that reduces the digital signal level if it approaches full scale. Benchmark and other sources have illustrated that such high signal level signals are not so uncommon in digital music files.

To test the CAudioLimiter, REW was used to generate a single test tone @ 0 dBFS, 24 bit. The first distortion component of the REW source tone is ~ -160 dB (again ignore noise floor due to FFT gain):

View attachment 106553

Here's CAudioLimiter's nasty fingerprint when this is played back without any loss. See how the limiter knocks the output down to -0.12 dBFS but adds a spray of distortion:

View attachment 106554

Using EAPO to set a pre-amp loss of 0.2 dB (loss with an input APO) completely avoids the CAudioLimiter. I think 150 dB dynamic range to the first distortion component should be good enough for even the fussiest audio junkie:

View attachment 106555

Filter Induced Digital Peaking
Perhaps less well known is that high pass filtering can also cause digital clipping, even if the filter only adds loss. How can this happen? The filter changes phase response which can then change how the different frequencies constructively add in the audio envelope. A good illustration of this is here.

This is a digital problem, not a Windows problem. Thankfully, the same solution used to avoid intersample overs, 4 dB digital preamp loss, should provide enough margin for this in practice as well.

Is EAPO "good enough"?
OK, so adding some loss in an input APO solves our clipping and limiter issues. Next question: what about EAPO, is it's performance really "good enough"? To answer this, I tested EAPO with this complex filter set (highest frequency notch is @ 100Hz)

View attachment 106556

Here's EAPOs digital output with the prior 4 tone REW test stimulus. Faultless, as expected from 32bit float processing used by EAPO:

View attachment 106557

EAPO also gets a knock for using "textbook" filters. These are known to cause "cramping" in high frequencies. In short, cramping is when the PEQ filter "bell" shape gets increasingly asymmetrical as it approaches half the sample rate. So I looked into this as well. In a nice outcome, it turns out that the filters generated by REW using "generic filter" setting are the same filters implemented by EAPO. What you see is what you get when using filters designed by REW, implemented by EAPO.

Upsampling Performance
Another question is whether automatic sample rate switching is needed in Windows, or if a fixed high sample rate can be set, relying on Windows upsampling. Archimago showed that Windows upsampling performed poorly in 2015, but I think the jury is still out. My testing in Dec '20 shows that the Windows upsampler is probably more than good enough. It appears like Windows made improvements since 2015. Playing a 44.1kHz file with upsampling to 96kHz, 24 bits, and EAPO set to -0.2 dB to avoid CAudioLimiter, the highest distortion component was at -134 dB:

View attachment 106575

If you're fussy (like I am), you can change the sample rate when playing back high resolution material, but I think leaving it set at 96kHz should be more than good enough.

Windows "Remote Desktop"
To sweeten the deal, Windows also provides the convenience of free remote desktop from your Android phone. You can sit in front of your speakers and tweak settings, and adjust EQ's etc in real time. This provides the same convenience as "Spotify Connect" but for all music sources whether Tidal or local file playback etc.

What About Analog?
I also want to address how to make this all work for you analog junkies. I own a pile of vinyl and a nice table so had to solve this for myself. I use a low cost external USB A/D tested in loopback showing >100 dB SNR, which blows away the performance of any RIAA preamplifier in front of it. I plumb that into the PC and through EAPO get all the same benefits of room and headphone equalization from vinyl. Getting this right ensures not clipping the A/D. I've created a separate spreadsheet to achieve this, but its beyond the scope here.

Summary Recommendations:
  • Install Equalizer APO and use it to disable original APOs and set EAPO's preamp gain at ~ -4 dB to avoid upsample overs, filtering induced peaks, and the Windows CAudioLimiter
  • Set Windows audio to 24 bits so that it's added dither doesn't compromise dynamic range
  • Set Windows sample rate to the same rate as the native file, or to 96 kHz if you play back high resolution material
  • Turn off Windows system sounds and enhancements
  • Install "remote desktop" for "Spotify Connect"-like added convenience, for all your digital sources
  • Take the money saved and buy more music, better speakers and a few bottles of wine
If set up correctly, Windows can provide clean, faultless audio and (free) high performance equalization which provides enormous pleasure and fidelity improvement that I think any open minded audio fan could get behind. All with the performance and convenience beyond external costly hardware solutions.

I'm hoping you found this helpful.
Or...or... Simply don't use Windows for audio.
 

Asylum Seeker

Senior Member
Joined
Feb 12, 2020
Messages
394
Likes
252
Location
Guatemala
#18
And spend a shit load more on hardware. Did you not read or understand the OP?
A shit load? I use my smartphone and a $110 DAC|Amp. You need not spend a lot...
 
Last edited:

Mnyb

Addicted to Fun and Learning
Forum Donor
Joined
Aug 14, 2019
Messages
641
Likes
766
Location
Sweden, Västerås
#19
Do you know of any well-measuring currently available DAC that suffers from this?
We can turn this around , do you know of anyone besides benchmark that actually cares about this why do you assume other manufacturers cares about it and have a fix implemented ?
It was even a problem with filters in CD players long ago and a known issue long before benchmark wrote some white paper about it .
You have to sacrifice real snr somewhere to fix this . Even if processing is done 32 bit you still have to leave this headroom in the converter part itself.
I think many DAC manufacturers views it as a loudness war music problem not their problem.
It's further compounded by our wish to also use EQ and room correction , so they should care that's rigth , but I'm not seen many that care.
RME possibly besides benchmark ?

Is it in Amirs test suite to test for problems with intersample overs , or can it be inferred from what's already measured ?

Asylum seeker does your smartphone do EQ and room correction , it's assumed that you want that hence the shit load of expensive hardware ?
 
Last edited:
Top Bottom