enricocid / Music-Player-GO

🎶🎼 Very slim music player 👨‍🎤 100% made in Italy 🍕🌳🌞🍝🌄
GNU General Public License v3.0
1.79k stars 216 forks source link

bs1770gain (Replaygain) support ? #164

Open breversa opened 4 years ago

breversa commented 4 years ago

Hello !

I’m looking for a bs1770gain-supporting (http://bs1770gain.sourceforge.net/) music player. Is it a planned feature for Music Player GO ?

enricocid commented 4 years ago

Didn't know about this feature but I can have a look into it! Keep in mind that I've slowed down the development because of some personal issues. So I ask You some patience 😉

breversa commented 4 years ago

No worries ! :-) Here’s what I can tell you, if that helps :

Replaygain is a way to make all music sound the same volume, which is totally awesome when listening to your music collection at random like I do. :-) It does so by calculating the "sound level" of the file, comparing it to a fixed value (89/90dB), and writing the difference in the files’s metadata.

First, you need to calculate the Replaygain for each of your files. There used to be several tools for that, namely mp3gain, aacgain, vorbisgain, and metaflac, but many are no longer maintained.

However, there’s now bs1770gain which is both currently maintained AND up to the latest sound-engineering best practices (though the website also mixes with politics. Feel free to ignore that).

Second, you need a Replaygain-supporting audio player (here’s where Music Player GO comes into play) that can read the Replaygain tags, then apply the corresponding volume correction. The trick is to recognise the different tag formats. See the --unit command-line option and examples (2019-06-28 | 0.6.0-β21 in News)

Vanilla Music does it, but development is slowing down and IMO losing momentum. Also, it misses my second-"must have" feature which is "play when headphones are plugged in".

Does that help a bit ? :-)

enricocid commented 4 years ago

Super helpful, thank You👌🕵🏻‍♂️😉