-
-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Loudness Nomalization seems to be clipping even when using F32 format #1320
Comments
@LebedevRI Can you look into this? |
@v-fox are you able to reliably reproduce the issue? |
Also, can you please show a screenshot of |
Yes, in fact, it's more aggressive than I thought. It triggers more often with less loud tracks, so I had to decrease target further to
|
Could you please try narrowing it a bit, namely, try disabling all of the:
Does it still reproduce with all of them disabled? If not, does it reproduce with one specific setting enabled? |
I've set target to LN And I would have bet on fading effects instead, since they make slight "crunching" glitch under pipewire, at least when manually pausing. But this seems to be unrelated. |
Aha. I would certainly suggest that you ask the upstream to stop doing that. |
@jonaski i'm not really sure how this can be addressed on strawberry's side. (I could supply a patch to remove bs2b from strawberry, if that's what is preferred :) ) |
@v-fox thank you for the report! This is indeed a very not-nice issue. |
@LebedevRI Thanks for pointing me to the right direction. |
Thanks @LebedevRI |
I think, simply patching out the offending code (i.e. clamping) is enough,
Just to spell it out explicitly: the fact that Loudness Normalization can result in values
I think that could be the best way forward,
Yup. It kind-of sounds like it's time for an official fork for the project. |
fwiw, already submitted to FreeBSD |
Disable clamping as it causes incorrect behaviour While at it return port to pool as maintainer hasn't responded on multiple bug reports. Reference: strawberrymusicplayer/strawberry#1320 Source: alexmarsev/libbs2b@5ca2d59 PR: 275403 Approved by: portmgr (maintainer timeout, 2+ weeks)
Submitting to Debian is a bit tedious, you have to do it through the mailing-list, so I'll leave that to someone else already in the Debian system. |
Thanks @LebedevRI |
I merged the libbs2b changes in Debian. Note that I am not familiar with related audio libraries, and I count on you to ensure the patch correctness. If the patch on libbs2b would introduce side effects, please do let people know. |
@hosiet thank you! We are reasonably sure that the patch is correct, yes. |
Describe the bug
"EBU R 128 Loudness Nomalization" seems to produce muffled output when peeking with "unsafe" values such as "-6" regardless if output format allows non-clipped overload or not.
To Reproduce
pipewire
to use F32 in software part (should be default already) and S32 (shouldn't matter) in hardware.easyeffects
with limiter at the end then use "pulse" output in Strawberry but "openal" should also work.As a result, if LN is "safely" below 0 but limiter boosted to peak sound is smooth
but if reversed, LN peaks to 0 but limiter has no boost, sound seems distorted.
Expected behavior
Output should be the same because with F32 clipping should always happen in limiter.
Screenshots:
Clipping during big cymbal smash in the song.
used EE profile:
~/.config/easyeffects/output/anti-V.json
(EQ step is for KZ PR2 planar headphones, disable it otherwise)In this example the EE profile is set up to do "-3" at input stage and "+6" before input of the LSP limiter (that is the last pre-hardware stage, not counting PW's internal format conversions), LN in Strawberry is set to "-9". This seems stable but using "+3" in limiter and "-6" in Strawberry seems to clip on peaks.
The hardware output of AK4490/LM4562|LME49{72,86}X-based DAC for planar headphones is set to "-12" or "-10" dB (they need more power than normal headphones, despite being mere ~16 Ohm).
System Information:
Additional context
Loudness Normalization is an incredible feature. No matter how much I fiddled about with "Replay Gain", it never worked. But this one does handle badly normalized files (in both ways, too loud and too quiet). It would be perfect if not for perceived clipping.
However, I might have hallucinated the whole thing since there is no logs for clipping/xruns anywhere, other than peaking in EE. But with limiter is should be smooth even with crazy +50 dB overload.
The text was updated successfully, but these errors were encountered: