-
Notifications
You must be signed in to change notification settings - Fork 659
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
Distorted audio when using dynamic normalisation #745
Comments
Could you please provide the following information:
Finally, please explain what its meant by "even when in-app volume is set to 0%" in that downstream issue. As I understand it, the audio is distorted even when volume is set to 0 or mute? Does the distortion differ depending on the volume setting? |
And if you use PipeWire, which backend? IIRC ALSA, Jack, GStreamer, Pulseaudio, or Rodio would be possible. Does it happen with other backends + PipeWire as well? |
I did a bit of digging, I couldn't get this to reproduce in vanilla
let player_config = PlayerConfig {
gapless: cfg.values().gapless.unwrap_or(false),
bitrate: bitrate.unwrap_or(Bitrate::Bitrate320),
normalisation: cfg.values().volnorm.unwrap_or(false),
normalisation_pregain: cfg.values().volnorm_pregain.unwrap_or(0.0),
..Default::default()
}; Thus, it uses the default value for So I suppose the question now is can the logic to convert the value from dB to ratio be pushed into an object creation function for |
Why can't ncspot use NormalisationData::db_to_ratio themselves? |
It can, of course, but it feels like a leaky abstraction for an external application to have to pull a default value out, transform it, and then explicitly pass it back in when it just wants it to be default initialized. |
I agree with @rbuch the default should just make sense. This was an oversight on my end. I'll update it later this weekend. |
Thanks for digging around 😅 I was getting worried. |
Audio sounds highly distorted and seems to be clipping when using the current default dynamic normalisation added in #660. Changing back to using basic normalisation or disabling normalisation altogether fixes the issue.
(Discovered via
ncspot
, the corresponding issue there is: hrkfdn/ncspot#522.)The text was updated successfully, but these errors were encountered: