vicwomg / pikaraoke

Youtube-based Karaoke machine for Raspberry Pi, OSX, Windows, and Linux
494 stars 129 forks source link

[FEATURE] volume normalization #342

Closed TekyTech closed 4 weeks ago

TekyTech commented 3 months ago

sezaaru already mentioned it as a passing remark inside of a post about an unrelated bug/issue.

I thought I’d bring it up on its own as a separate feature suggestion, if possible at all.

It would be great to have volume normalization in the app because the volume of videos from YouTube are very uneven.

Another option if changing is not possible, maybe, if possible to test the volume and show it as a number in dB or percentage or any other indication of volume in the drop down list where search results are shown. Just after the name of the song.

It often happens that almost identical versions of songs are found, but they do have a great difference in volume. So users would be able to choose better right from that list.

Less desirable but still an improvement would be to have a setting of min volume and max volume filter to show only songs within that range and filter out anything outside of the range.

Thanks!

vicwomg commented 4 weeks ago

Now supported in the latest version as a -n or --normalize_audio command line launch option

TekyTech commented 4 weeks ago

AWESOME! May I ask you, is there any reason for anybody NOT to want to use normalization by default and run with command line option only if for some reason the user wants not to use normalization? Would you expect most users want normalization (then it is logical to make it by default) or most would prefer no normalization?

Also do you think it would be possible for the user (admin) to be able to change a setting in the user interface. Either dynamically (instantly, for the next song) or at least as a setting even if it requires a restart of the app?

The reason for this is because if the karaoke machine is running headless or by users who had someone else set it up for the family but then they don't need to get into any technical details how to change the startup line, or even where it is (as you know there are so many places and methods how the app can be started on startup.

Also if it is possible to do as a setting in the interface, then users can easily try both, and switch back and forth depending on their preferences, whichever option they like more.

Anyway, Thank you very much for doing it, as always! All the best.

vicwomg commented 4 weeks ago

The main reason is that it’s CPU intensive and will probably cripple slower pi devices. Keeping it an experimental flag for now while I hear feedback from users

On Tue, Sep 3, 2024 at 8:17 PM TekyTech @.***> wrote:

AWESOME! May I ask you, is there any reason for anybody NOT to want to use normalization by default and run with command line option only if for some reason the user wants not to use normalization? Would you expect most users want normalization (then it is logical to make it by default) or most would prefer no normalization?

Also do you think it would be possible for the user (admin) to be able to change a setting in the user interface. Either dynamically (instantly, for the next song) or at least as a setting even if it requires a restart of the app?

The reason for this is because if the karaoke machine is running headless or by users who had someone else set it up for the family but then they don't need to get into any technical details how to change the startup line, or even where it is (as you know there are so many places and methods how the app can be started on startup.

Also if it is possible to do as a setting in the interface, then users can easily try both, and switch back and forth depending on their preferences, whichever option they like more.

Anyway, Thank you very much for doing it, as always! All the best.

— Reply to this email directly, view it on GitHub https://github.com/vicwomg/pikaraoke/issues/342#issuecomment-2327832544, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7KXNUSFICH7GM4UZ7JLELZUZ3TDAVCNFSM6AAAAABKAI5B3WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRXHAZTENJUGQ . You are receiving this because you modified the open/close state.Message ID: @.***>

TekyTech commented 4 weeks ago

Aha! Now it makes perfect sense. Thank you!