• Welcome to ASR. 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!

Ending the Windows Audio Quality Debate

I think you're being overparanoid, but in any case, if you really insist in disabling CAudioLimiter, you can either use the Equalizer APO -1 dB trick described earlier in this thread, or you can get rid of CAudioLimiter entirely. Obviously, if you do the latter, you will get nastier distortion when multiple streams are playing at the same time and producing out of range samples after mixing.

Oh, and also make sure to disable any other APOs by making sure the "use enhancements" checkbox is unchecked in the Windows control panel audio device settings. (Unless you're using Equalizer APO, of course.)

If the Windows audio shared mode sample rate matches the sample rate of the file, bit depth is set to at least 24-bit, APOs are disabled, and CAudioLimiter is removed, the shared Windows audio pipeline has been demonstrated to be bit-perfect.



Yes. That's another way to defeat CAudioLimiter: just set the app volume slightly lower than max.
If I am using ALC1220 Toslink to external DAC, is ticking "disable all enhancements" in mmsys.cpl enough to make sure no APOs are loaded? Also, unticking all "encoded formats" under "Supported Formats" (DTS Audio, Dolby Digital, WMA Pro Audio). Or do I need to do something else as well? Like changing/deleting stuff from HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio ?
 
Hello everyone! I had been lurking in this topic to learn about Equalizer APO and Windows audio in general.

Just signed up here in order to alert you of an issue/consequence of this workaround: audio capturing software and features stop working. At least in Windows 11 24H2 (haven't tested other releases), Discord screen share stopped including audio, and OBS Studio's “Window capture” and “Application audio capture” stopped working (in OBS, logs show a failure regarding WASAPI's VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK). The apoenum tool will also throw an error before listing all available APOs too, because of the broken path.

Other resources say CAudioLimiter can be disabled by the following registry edit:
  • In HKEY_CLASSES_ROOT\AudioEngine\AudioProcessingObjects\{D69E0717-DD4B-4B25-997A-DA813833B8AC}, replace the value of APOInterface0 with {00000000-0000-0000-0000-000000000000}.
I haven't properly tested if this actually works (i.e., if it effectively removes CAudioLimiter), but at least audio capturing still works afterwards.
Curious if your method actually does the same thing without breaking. No idea how to properly test though.
 
Am i missing something?
Enhacements are disabled, but, PEACE works just fine. Windows 11 24H2
 

Attachments

  • 01.png
    01.png
    21.9 KB · Views: 294
  • 02.png
    02.png
    24.6 KB · Views: 294
I’ve considered DDF’s findings and the proposed solution. I was not fully happy knowing that inter-sample peaks could still cause clipping in my DAC’s reconstruction process — despite a “perfect” Windows audio stack. I felt this risk required a targeted solution. A -4 dB loss is a robust approach for inter-sample peaks, but I opted for a different method. To address this I set up EqualizerAPO to meet the true peak limiting guidelines of BS.1770 and EBU R128 by adding a limiter with inter-sample peak detection (Loudmax), and setting the limiter’s output to -1.0dB, or -1.2dB for Loudmax.
 
Last edited:
I’ve considered DDF’s findings and the proposed solution. I was not fully happy knowing that inter-sample peaks could still cause clipping in my DAC’s reconstruction process — despite a “perfect” Windows audio stack. I felt this risk required a targeted solution. A -4 dB loss is a robust approach for inter-sample peaks, but I opted for a different method. To address this I set up EqualizerAPO to meet the true peak limiting guidelines of BS.1770 and EBU R128 by adding a limiter with inter-sample peak detection (Loudmax), and setting the limiter’s output to -1.0dB, or -1.2dB for Loudmax.
I also opt for Loudmax in my system, first reducing gain by -0.5dB and then setting the limiter to that threshold. Going up to -1dB or more makes no sense with already mastered material. With -0.5dB you should be sure that DAC upsampling will not generate intersample peaks.
Clearly if you have enough headroom it is an extra guarantee.
 
Here's what Audacity helped me figure it out.
System is Windows 11 with the audio properties set at 32bit / 352.8kHz (shared mode) with EqualizerAPO (no preamp, no VST plugin installed...just an empty install of EAPO) installed for the DAC (Topping E30 II).

1st entry in Audacity is a loopback capture from MusicBee using WASAPI in shared mode.
2nd entry is the FLAC file (heavily clipped as can be seen) used for playback in MusicBee
3rd entry is the difference between 1st and 2nd entries (2nd was inverted within Audacity)

While I'm not here to reject the work of DDF (I did enjoy his findings and all of the thread), it seems that Windows, at least in my case, can get rid of clipping just by increasing the sample rate. With 96kHz, 3 points of the same song show clipping, at 174kHz or higher, clipping is gone for the full song.
 

Attachments

  • Screenshot 2025-04-21 172836.png
    Screenshot 2025-04-21 172836.png
    304.4 KB · Views: 177
  • Screenshot 2025-04-21 174016.png
    Screenshot 2025-04-21 174016.png
    55.4 KB · Views: 161
While I'm not here to reject the work of DDF (I did enjoy his findings and all of the thread), it seems that Windows, at least in my case, can get rid of clipping

CAudioLimiter is, as the name implies, a soft limiter. It will turn 0 dBFS hard clipping into soft clipping. So yes, in that sense, it can "get rid of clipping". That's precisely what it's designed to do (although it's normally supposed to handle mixing- or APO-induced clipping, not clipping in the original content).

The reason why some people think that's a problem is because it's messing with the original content - if there's clipping in the original file then that's a problem with the file, and it's not the playback system's job to attempt to "fix" problems in the original signal. Though it's interesting to point out that, at least in theory, it's conveivable CAudioLimiter could make some content sound better in some cases (also, it may mitigate intersample peaks).
 
That makes sense now, why the output was cleaned of any clipping.
 
Hello, thank you for all of the research put into this thread. I have some questions that I've been struggling to figure out myself:

- I'm already using EQ profiles from AutoEQ with EAPO/PEACE, and each of them already has some pre-amp values applied, like -5 dB, -2.6 dB, etc., to avoid clipping. So do I need to add another -4 dB?

- I'm using the headphones monitoring port on my Fifine AM8 USB microphone to monitor my voice while recording, and I tend to leave it there to listen to music and do some noob production. But the max audio output on that port is only 16 bit. So is it better if I plug my headphones into the 24 bit port on the motherboard Mediatek soundcard?

- People say that the lower you go on the Windows volume slider, the more bits you lose, and that's why 24 bit is preferred. But my microphone has a separate knob that control its audio output volume rather than the Windows volume slider. Then if I set the Windows volume to max and control the volume through the microphone knob, would it bypass that bit loss problem? And how far can I reduce the Windows volume before affecting the 16 bit?

Sorry for these noob questions. I'm falling into the rabbit hole, as the more I dig into this, the more confused I get because there are so many different opinions. Thank you in advance.
 
- I'm already using EQ profiles from AutoEQ with EAPO/PEACE, and each of them already has some pre-amp values applied, like -5 dB, -2.6 dB, etc., to avoid clipping. So do I need to add another -4 dB?
Wheter it clips or not depends on the material that is being played. EqAPO can give false readings, only because it says it could theoretically clip does not mean it will. For example I do my own 5.1/7.1 downmix in EqAPO and I assume it will show what theoretically could happen if all channels were at max volume, however this rarely happens. I have a -9dB preamp in my 5.1 downmix, if I exclude the downmix my output signal becomes 9dB louder but the peak gain shown in EqAPO changes only by 0.1dB...

If you have a good soundcard like an RME you can see what is actually being sent out. Unless you have the volume at 100 in windows, I wouldn't worry https://www.audiosciencereview.com/...oid-windows-linux-hardware.62265/post-2285145

- I'm using the headphones monitoring port on my Fifine AM8 USB microphone to monitor my voice while recording, and I tend to leave it there to listen to music and do some noob production. But the max audio output on that port is only 16 bit. So is it better if I plug my headphones into the 24 bit port on the motherboard Mediatek soundcard?
The amount of bits is only relevant at the lower levels, not at max level. So with 16bit your theoretically best noisefloor will be at -96dB, while with 24bit it will be -144dB. You can see from the measurements in this very forum that while most DACs will surpass 16bit performance in the analogue domain, most amplifiers will not. In other words this perceived difference of 8bits does not exist to this extent in the real world.

"This relationship is the origin of statements like "16-bit audio has a dynamic range of 96 dB". Each extra quantization bit increases the dynamic range by roughly 6 dB." https://en.wikipedia.org/wiki/Signal-to-noise_ratio

- People say that the lower you go on the Windows volume slider, the more bits you lose, and that's why 24 bit is preferred. But my microphone has a separate knob that control its audio output volume rather than the Windows volume slider. Then if I set the Windows volume to max and control the volume through the microphone knob, would it bypass that bit loss problem? And how far can I reduce the Windows volume before affecting the 16 bit?
You are also losing "bits" with the analogue volume control, only they are not called "bits", but the principle is the same. Where and how to modify volume is a question of gain staging. It depends how much noise the device has, where you lower the volume, since this will worsen the signal-to-noise ratio. Typically I would try to have an analogue volume control around the 50% point since they are typically best (in terms of channel balance) at this point and then try to change the volume in the digital domain.

I suggest you watch this, specifically this section:



Noise is noise, wheter in the analog or digital domain does not matter. It's just 2 ways of representing the same thing. Your last 2 questions relate entirely to gain staging, go research that and you will understand.
 
Last edited:
I’ve considered DDF’s findings and the proposed solution. I was not fully happy knowing that inter-sample peaks could still cause clipping in my DAC’s reconstruction process — despite a “perfect” Windows audio stack. I felt this risk required a targeted solution. A -4 dB loss is a robust approach for inter-sample peaks, but I opted for a different method. To address this I set up EqualizerAPO to meet the true peak limiting guidelines of BS.1770 and EBU R128 by adding a limiter with inter-sample peak detection (Loudmax), and setting the limiter’s output to -1.0dB, or -1.2dB for Loudmax.
Small addendum: Configuring the audio device to 192kHz and adding a -0.2dB preamp gain in EqualizerAPO is a pretty decent solution as well. However, some of the apps I use have bugs with sample rates over 48kHz. Plus, I work on DAW projects mostly at 44.1kHz and 48kHz, and I can't be bothered switching back to 192kHz manually.

Regarding the -4dB preamp approach it might involve more psychology than science, possibly influenced by the appeal of a respected DAC brand Benchmark, mimicing their unique selling point using software may feel satisfying. A sobering though is that it's increasingly redundant using -4dB preamp gain at 192kHz (or at 44.1kHz with Loudmax-ISP on) given the current landscape of volume normalization in streaming services and local apps like Foobar2000 with ReplayGain. Intersample overs will be minimal in practice, making the -4dB approach more relevant when playing music without volume normalization at 44.1/48kHz, something which shouldn't be advised.
 
The weird thing is, i hear a tiny bit of distortion, even at -4db. I thought it was because my studio speakers, but further lowering the volume until -8db eliminated the quick ear fatigue in my case, even my tinnitus became much more tolerable now. Especially high frequencies became cleaner and much less piercing. I didn't measure anything but my ears definetly told me that -4db is still not enough.

Media player uses wasapi driver exclusive mode, win audio limiter disabled in the registry. All dsp processing, eq, replaygain disabled in the player, runs on 24/96.
 
Last edited:
The weird thing is, i hear a tiny bit of distortion, even at -4db. I thought it was because my studio speakers, but further lowering the volume until -8db eliminated the quick ear fatigue in my case, even my tinnitus became much more tolerable now. Especially high frequencies became cleaner and much less piercing. I didn't measure anything but my ears definetly told me that -4db is still not enough.

Media player uses wasapi driver exclusive mode, win audio limiter disabled in the registry. All dsp processing, eq, replaygain disabled in the player, runs on 24/96.
Confirmation bias, hindsight bias, anchoring bias, availability heuristic, self-serving bias, cognitive dissonance reduction, perceptual bias, selective perception, attribution bias, fundamental attribution error, framing effect, illusory correlation, status quo bias, affect heuristic, halo effect, sunk cost fallacy, escalation of commitment, psychological reactance, cognitive biases, heuristics, perceptual distortion, subjective perception, perception psychology, cognitive perception.

Can be any of these, measurements are the only thing which matters in this case.
 
The weird thing is, i hear a tiny bit of distortion, even at -4db. I thought it was because my studio speakers, but further lowering the volume until -8db eliminated the quick ear fatigue in my case, even my tinnitus became much more tolerable now. Especially high frequencies became cleaner and much less piercing. I didn't measure anything but my ears definetly told me that -4db is still not enough.

Media player uses wasapi driver exclusive mode, win audio limiter disabled in the registry. All dsp processing, eq, replaygain disabled in the player, runs on 24/96.
Sounds like you discovered the magic of lower volume. You were probably cranking up the volume to high before if it was effecting your tinnitus. Not really relevant to the issues with windows apo, though.
 
Sounds like you discovered the magic of lower volume. You were probably cranking up the volume to high before if it was effecting your tinnitus. Not really relevant to the issues with windows apo, though.

Thanks for being an arrogant asshat, very scientific really.
 
Thanks for being an arrogant asshat, very scientific really.
The truth hurts? What he suggested has a scientific backing. Simple -- and not even necessarily large -- level difference has interesting psychoacoustic effects.
 
Confirmation bias, hindsight bias, anchoring bias, availability heuristic, self-serving bias, cognitive dissonance reduction, perceptual bias, selective perception, attribution bias, fundamental attribution error, framing effect, illusory correlation, status quo bias, affect heuristic, halo effect, sunk cost fallacy, escalation of commitment, psychological reactance, cognitive biases, heuristics, perceptual distortion, subjective perception, perception psychology, cognitive perception.

Can be any of these, measurements are the only thing which matters in this case.

Sensitive ear. Period.
 
Very scientific really. :rolleyes:
Feel free to test yourself anyway. Just try to play the same song on -0.1 and -8db preamp gain on a matched listening level. The difference is so significant, even my half-deaf neighbor would pick in a blind a/b test.
 
Last edited:
Back
Top Bottom