• 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!
Ah ok thanks. So it's not something that just de facto interferes with audio playback. I'll leave it on for convenience.
 
Looks like REW gets the signal before it hits the limiter.
Other than that, I'm out of ideas. I don't know why WASAPI loopback shows the effect of the limiter on my system but not yours.
I believe the difference is whether the device provides any volume controls to the operating system or not. From what I understand @Aerith Gainsborough has RME Adi-2 (not sure if DAC or Pro), which doesn't provide volume controls to the OS. What do you have @edechamps ?

Here I have Tanchjim Space and FiiO K3. K3 doesn't provide volume controls to the OS. I played a file in Foobar2000 and captured wasapi loopback in Audacity and analog output through Adi-2 Pro. Space's loopback is affected by the limiter and K3's is not:

wasapi.loopback.png


On the analog side, shared mode limits on both and exclusive mode skips the limiting, so no surprises:

fiiok3.analog.png

tanchjim.analog.png
 
So here's something I'm sure people in this thread would find interesting: I found a way to completely remove CAudioLimiter from the audio path!

What I realized is that CAudioLimiter is an APO like any other, and like all APOs, it has its own registered COM class with its own CLSID. This blog post has the CLSID - it's {D69E0717-DD4B-4B25-997A-DA813833B8AC}. We can deliberately mess up that class registration so that the Windows audio engine cannot find it anymore. Luckily, if the Windows audio engine can't load that APO, then audio still works - it just bypasses the missing APO!

Here's the procedure:

  1. In the Registry Editor, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D69E0717-DD4B-4B25-997A-DA813833B8AC}.
  2. You're gonna have to mess with the permissions to be able to make the required changes. Change the owner of the InProcServer32 subkey to Administrators, then give Administrators Full control.
  3. Make any change that would prevent the class from being loaded. For example, change the (default) value to add a "DISABLED" prefix so that the path to audioeng.dll is broken.
  4. Restart the Windows Audio service (audiosrv).

After I did this, audio still worked fine but I was unable to trigger the limiter - the audio pipeline goes all the way up to 0.00 dBFS without any additional distortion. I think it should be truly bit-perfect now (in 24-bit at least - in 16-bit there is still dithering), but I haven't confirmed it.

Just did that on my laptop with Windows 11 24H2. It works i guess. I used "stupid" method to confirm.....

Noticed that output voltage from headphone out on my Topping DX1 is slightly different for 60Hz Sine Wave at 0db in exclusive mode vs shared (lower in shared mode). So, i thought it must be Windows limiter. After "Registry Hack", voltage is the same both in exclusive and shared mode.

There is a downside to this though: pretty nasty distortion if you happen to mix two audio streams that go to 0dB FS. Tested that by playing back two audio files that both have strong basslines.

Yes, there is ugly distorion if i play song which is almost or at 0db + 60Hz Sine tone at 0db, but, i never listen to 2 sources at the same time (and system sounds are disabled anyway), so i left windows audio limiter disabled. It is very simple to eneble it, so no problem for me.
 
Last edited:
2 Questions (third is optional :) ) if someone is willing to answer, simple yes or no is good enough for me, i'm just curious to find answers :)

Since i have serious problem with headphone out channel balance on my Topping DX1 (connected to laptop via USB), i set analog Volume potentiometer position near max which gives same output voltages for both channels with "perfect" balance and im using Windows system volume control to control volume.

Windows 11 24H2 is set at 48.000 sample rate and 32 bit depth because i use it for youtube mostly and 48.000 is prevalent on Youtube, and for local files i'm using exclusive mode so resolution and bit depth are "native".


Questions:

1. Do i get bit perfect output into DAC no matter what volume setting in windows volume control i set when in exclusive mode (yes, Topping DX1 is volume-controlled from Windows in exclusive mode)?

2. Does 32 bit depth setting which i choosed in Windows helps for non exclusive mode in "bits preservation" when Windows system volume is at -20db for example or is it irrelevant and i lose bit(s) because of Windows system volume control no matter what bit depth i choose?

3. Since Youtube sometimes have audio also in 44.100 if i'm not mistaken, should i set Windows to more than 48.000 which is my current setting? Most Youtube content i watch/listen is encoded with Opus audio codec, and that is 48000 if i got that right.

Thanks
 
1. Do i get bit perfect output into DAC no matter what volume setting in windows volume control i set when in exclusive mode (yes, Topping DX1 is volume-controlled from Windows in exclusive mode)?

Exclusive mode is always bit-perfect as far as Windows is concerned, regardless of how volume control is done.

2. Does 32 bit depth setting which i choosed in Windows helps for non exclusive mode in "bits preservation" when Windows system volume is at -20db for example or is it irrelevant and i lose bit(s) because of Windows system volume control no matter what bit depth i choose?

If you are operating with hardware volume control (if it works in exclusive mode then you are), then changing the system volume will not change the bits that are sent to the DAC. The bit depth setting is therefore irrelevant as far as volume control is concerned.

3. Since Youtube sometimes have audio also in 44.100 if i'm not mistaken, should i set Windows to more than 48.000 which is my current setting? Most Youtube content i watch/listen is encoded with Opus audio codec, and that is 48000 if i got that right.

You will not hear the difference.
 
If you are operating with hardware volume control (if it works in exclusive mode then you are), then changing the system volume will not change the bits that are sent to the DAC. The bit depth setting is therefore irrelevant as far as volume control is concerned.

So, to confirm since I'm new to all this.... For DAC/Amp combo with hardware volume control that means that exclusive and shared mode is practicaly the same no matter if Windows system volume control is very low or at 100% if sample rate is matched in Windows to the source file (so that in shared mode there is no sampling conversion)? I disabled windows limiter via Registry Editor so that is not an issue.

Tnx
 
Last edited:
So, to confirm since I'm new to all this.... For DAC/Amp combo with hardware volume control that means that exclusive and shared mode is practicaly the same no matter if Windows system volume control is very low or at 100% if sample rate is matched in Windows to the source file (so that in shared mode there is no sampling conversion)? I disabled windows limiter via Registry Editor so that is not an issue.

Assuming Windows audio settings are set to 24-bit output or more (Windows will dither if outputting 16-bit), and assuming you don't have any APOs running, then yes.
 
So here's something I'm sure people in this thread would find interesting: I found a way to completely remove CAudioLimiter from the audio path!

What I realized is that CAudioLimiter is an APO like any other, and like all APOs, it has its own registered COM class with its own CLSID. This blog post has the CLSID - it's {D69E0717-DD4B-4B25-997A-DA813833B8AC}. We can deliberately mess up that class registration so that the Windows audio engine cannot find it anymore. Luckily, if the Windows audio engine can't load that APO, then audio still works - it just bypasses the missing APO!

Here's the procedure:

  1. In the Registry Editor, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D69E0717-DD4B-4B25-997A-DA813833B8AC}.
  2. You're gonna have to mess with the permissions to be able to make the required changes. Change the owner of the InProcServer32 subkey to Administrators, then give Administrators Full control.
  3. Make any change that would prevent the class from being loaded. For example, change the (default) value to add a "DISABLED" prefix so that the path to audioeng.dll is broken.
  4. Restart the Windows Audio service (audiosrv).

After I did this, audio still worked fine but I was unable to trigger the limiter - the audio pipeline goes all the way up to 0.00 dBFS without any additional distortion. I think it should be truly bit-perfect now (in 24-bit at least - in 16-bit there is still dithering), but I haven't confirmed it.

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.
 
Hi !

Whatever i can do, windows audio still distorts a very little bit if system volume and player volume both on 100% - tried all the tricks here (except disabling caudio limiter) - i'm using foobar2000 and aimp, wasapi shared and/or exclusive mode, old win7 system, solid state logic ssl2 usb interface, eq apo as room correction (expect in exclusive mode, which disable it ofc)

It's not a distortion per se if everything is on 100%, more like a more compressed and fatiguing output. The only way i can get seemingly distortion free audio is reducing player or system volume by -6db. Seemingly the only solution that works here but i would like both player and system on 100% volume and distortion free audio if possible, is there anything i do wrong ?
 
I'm at the opposite side. Volume of the active usb speakers at max, windows (laptop,win7pro) volume set at 80% , the playback level controlled by players slides (foobar, mpc, vls). Wasapi exclusive.
 
Just followed the instructions and disabled caudiolimiter in windows registry. I didn't do any measurment but my listening experience told me exclusive mode do not disables the limiter, because audio was still a bit compressed and fatiguing at 100% system/100% player gain. Just testing now how it changed, but seems like the audio do not shows any unwanted artifacts like compression neither in shared nor exclusive mode even if everything is on 0db/100%.
 
Last edited:
listening experience told me exclusive mode do not disables the limiter
It does not disable the limiter because wasapi exclusive bypasses any of the windows audio stack . You can't have heard the limiter in wasapi exclusive because it wasn't there .
 
Removes all Windows audio components (well, bypasses them) - so no APOs including EAPO etc
Not foobar components though, those still work, like Mathaudio EQ or limiters, etc unless one plays DSD, that wipes them.
 
I would bet your imagination & bias is influencing what you're hearing. But you can solve any problems by not running at 100% volume (slightly under) so it's a non-issue really.
 
it can be listening bias or psychoacoustics yes, still good enhancement here because i can use eapo as room correction in shared mode without the limiter altering my output.
 
I would bet your imagination & bias is influencing what you're hearing. But you can solve any problems by not running at 100% volume (slightly under) so it's a non-issue really.
-6db player or system gain was the only solution here so far, which is a lot. eapo instructions (disabling original win apo's or lowering preamp gain by 4db) didn't do the trick here, audio was still compressed and tiring to listen to above -6db player or system level. (i'm using shared mode at most of the times because eapo helps a lot to remove unwanted bass freqs in the room)
 
Last edited:
exclusive mode do not disables the limiter

It does. WASAPI Exclusive bypasses the entire Windows Audio Engine (behind the scenes it goes straight to WDM-KS directly from the app), and therefore bypasses all APOs including CAudioLimiter. It is bit-perfect all the way to the hardware driver. This is easy to prove using various methods like bit-perfect DAC checks, digital cable loopback, virtual audio driver etc.

This would suggest that what you heard was not CAudioLimiter (which is not easy to hear) but something else. Or may be entirely in your head, as is so often the case in audio.
 
ok. disabling the limiter still has benefits for those who don't want to use exclusive mode for some reason, for example they need eqapo as room correction.

i just shared a link how to do this, it doesn't really matter what i hear or don't hear.
 
Back
Top Bottom