[GH-ISSUE #15] Volume normalization #6

Closed
opened 2026-02-27 19:28:14 +03:00 by kerem · 8 comments
Owner

Originally created by @cortegedusage on GitHub (Jan 29, 2018).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/15

I think volume normalisation also should be added to this repo.
I've been using
https://github.com/herrernst/librespot/tree/volume-normalization/src

for a couple of weeks now, and it's working quite well

Originally created by @cortegedusage on GitHub (Jan 29, 2018). Original GitHub issue: https://github.com/librespot-org/librespot/issues/15 I think volume normalisation also should be added to this repo. I've been using https://github.com/herrernst/librespot/tree/volume-normalization/src for a couple of weeks now, and it's working quite well
kerem 2026-02-27 19:28:14 +03:00
Author
Owner

@alin23 commented on GitHub (Jan 29, 2018):

@cortegedusage Sounds good!
I will prepare a PR for this if @ComlOnline is ok with it.

<!-- gh-comment-id:361172187 --> @alin23 commented on GitHub (Jan 29, 2018): @cortegedusage Sounds good! I will prepare a PR for this if @ComlOnline is ok with it.
Author
Owner

@ComlOnline commented on GitHub (Jan 29, 2018):

Yeah that would be great, the only thing I ask is that you add a compile time flag like --features "normalization" as we're discussing in other issues we plan on keeping librespot relatively slimline in its default build state and also have a proper daemon style thing with all the bells and whistles.

<!-- gh-comment-id:361226677 --> @ComlOnline commented on GitHub (Jan 29, 2018): Yeah that would be great, the only thing I ask is that you add a compile time flag like --features "normalization" as we're discussing in other [issues ](https://github.com/librespot-org/librespot/issues/7#issuecomment-361105399)we plan on keeping librespot relatively slimline in its default build state and also have a proper daemon style thing with all the bells and whistles.
Author
Owner

@herrernst commented on GitHub (Jan 29, 2018):

@ComlOnline I don't see a point hiding this few lines of code (that don't have any dependencies) behind a compile-time feature flag; also, they are not executed if the command line flag isn't added when running.

@alin23 If you don't mind waiting, I will prepare a pull request in the next days which fixes the edge cases where clipping (distortion) does occur.

<!-- gh-comment-id:361394045 --> @herrernst commented on GitHub (Jan 29, 2018): @ComlOnline I don't see a point hiding this few lines of code (that don't have any dependencies) behind a compile-time feature flag; also, they are not executed if the command line flag isn't added when running. @alin23 If you don't mind waiting, I will prepare a pull request in the next days which fixes the edge cases where clipping (distortion) does occur.
Author
Owner

@alin23 commented on GitHub (Jan 29, 2018):

@herrernst I can wait ^_^

<!-- gh-comment-id:361394421 --> @alin23 commented on GitHub (Jan 29, 2018): @herrernst I can wait ^_^
Author
Owner

@ComlOnline commented on GitHub (Jan 29, 2018):

@herrernst I see your point and you are correct. I didn't see the command line flag, my fault.
My next question is should normalization be the default function and you have to pass a flag to turn it off?
I think most people would unknowingly appreciate this.

<!-- gh-comment-id:361399972 --> @ComlOnline commented on GitHub (Jan 29, 2018): @herrernst I see your point and you are correct. I didn't see the command line flag, my fault. My next question is should normalization be the default function and you have to pass a flag to turn it off? I think most people would unknowingly appreciate this.
Author
Owner

@herrernst commented on GitHub (Jan 31, 2018):

I now consider my branch ready for merging: https://github.com/herrernst/librespot/tree/volume-normalization
I wouldn't want this feature enabled by default; the remaining problem is that I'm not able to figure out if an album is played vs. a playlist, so it only applies track-specific normalization. But that is not what you want if you play an album, because you lose inter-track dynamics, and if there are gapless transitions (like a live album), volume would change abruptly when changing tracks.

<!-- gh-comment-id:362074653 --> @herrernst commented on GitHub (Jan 31, 2018): I now consider my branch ready for merging: https://github.com/herrernst/librespot/tree/volume-normalization I wouldn't want this feature enabled by default; the remaining problem is that I'm not able to figure out if an album is played vs. a playlist, so it only applies track-specific normalization. But that is not what you want if you play an album, because you lose inter-track dynamics, and if there are gapless transitions (like a live album), volume would change abruptly when changing tracks.
Author
Owner

@ComlOnline commented on GitHub (Jan 31, 2018):

@herrernst Please could you make a PR?
And I agree about inter track dynamics, usually the album will be mixed so the tracks are complimentary.

<!-- gh-comment-id:362076333 --> @ComlOnline commented on GitHub (Jan 31, 2018): @herrernst Please could you make a PR? And I agree about inter track dynamics, usually the album will be mixed so the tracks are complimentary.
Author
Owner

@sashahilton00 commented on GitHub (Mar 22, 2018):

Added by #162

<!-- gh-comment-id:375158514 --> @sashahilton00 commented on GitHub (Mar 22, 2018): Added by #162
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#6
No description provided.