music-pipeline is a Python 3 script I
wrote to process my music conversions automatically.
Features:
Maintains three music file hierarchies:
One of archival quality flac, ogg and mp3 files
One of mp3's for use on a phone
One of catenated mp3's for use on a car stereo
Converts ogg/flac to mp3
Downsamples mp3 files for use on a phone or car stereo, keeping the originals in a separate directory hierarchy
Allows blacklisting of tracks, for songs with annoying lyrics
Catenates the resulting mp3 files into one file per album, for use on a car stereo that cannot handle a
large number of "songs"
Avoids reconverting/recatenating already-processed files, for speed
Renaming an album in the archival-quality hierarchy will automatically remove the old name from the other
two hierarchies and reconvert to their new names
Ditto for renaming a song.
Adding a song to the blacklist will eliminate it from the phone hierarchy, and recatenate
into the car hierarchy
Vacated, empty directories are automatically removed from the phone and car hierarchies
Usage looks like:
$ ./music-pipeline -h
below cmd output started 2018 Tue Nov 20 08:55:27 AM PST
Usage: ./music-pipeline
--base-dir /digital-assets/sound
--archival-dir Music
--phone-dir Phone-Music
--car-dir Car-Music
--archival-dir, --phone-dir and --car-dir must be relative to --base-dir
It depends on catenate-mp3s,
which is a small bash script for concatenating multiple mp3 files into
a single mp3 file.
It also depends on ffmpeg for the conversions. It should
be available in most Linux package repositories.