Volume Normalization Made Easy with MPD (and a few scripts)

If you use MPD (Music Player Daemon) like I do to provide whole-house audio or to give you simple command-line music queuing, these two scripts won’t look like much, but they’re definitely useful.

I wrote a wrapper script to help mp3gain and abe2id3.py do their magic quickly and to allow MPD to accurately and nicely do replaygain. The MP3Gain utility apparently writes by default to APE
tags, which aren’t used by MPD. But apparently mp3gain has issues corrupting ID3 data if you write directly to ID3 tags, and will just crash and abort if it runs into an error instead of continuing onward.

If you use MPoD or any other smartphone MPD controller, it usually has an option for fetching album covers from your webserver. But the directory tree has to be the same as your music directory setup…and who wants to expose their whole music directory to the internet?  I’ve got a script (using rsync) to help with that as well.