Looks like REW gets the signal before it hits the limiter.
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 ?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.
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:
- In the Registry Editor, navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D69E0717-DD4B-4B25-997A-DA813833B8AC}
.- 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.- 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.- 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.
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.
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.
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.
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:
- In the Registry Editor, navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D69E0717-DD4B-4B25-997A-DA813833B8AC}
.- 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.- 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.- 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.
VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK
). The apoenum tool will also throw an error before listing all available APOs too, because of the broken path.HKEY_CLASSES_ROOT\AudioEngine\AudioProcessingObjects\{D69E0717-DD4B-4B25-997A-DA813833B8AC}
, replace the value of APOInterface0
with {00000000-0000-0000-0000-000000000000}
.Removes all Windows audio components (well, bypasses them) - so no APOs including EAPO etcSo, using wasapi exclusive mode removes caudiolimiter from the signal path ?
If not, i have found this tutorial that explains how to remove it : https://bjtaudio.com/winlimiter.htm
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 .listening experience told me exclusive mode do not disables the limiter
Not foobar components though, those still work, like Mathaudio EQ or limiters, etc unless one plays DSD, that wipes them.Removes all Windows audio components (well, bypasses them) - so no APOs including EAPO etc
-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)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.
exclusive mode do not disables the limiter