• 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!
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: 107
  • 02.png
    02.png
    24.6 KB · Views: 104
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: 56
  • Screenshot 2025-04-21 174016.png
    Screenshot 2025-04-21 174016.png
    55.4 KB · Views: 53
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:
Back
Top Bottom