Several people have asked me for the scripts that I use to maintain my music collection (probably because I can't shut up about it). So I've created a little code repository. Please, please, please don't judge my coding abilities on this stuff. They are just crappy little scripts, and abcde isn't even mine, it's GPL'd shellscript that I've tweaked to deal with my foreign CDs. Ok, so here's what I've added.
- flac-mp3-transcoder - Does what it says. Transcodes flac files to mp3 files. It expects a directory structure with two parallel directories: flac and mp3. The flac directory is obviously the master, I keep it owned by root and write permissions turned off. The mp3 directory is ephemeral and can be reconstructed from scratch if I decide to change the encoding options (although it takes about 5 days to do the full encoding of my files). Everytime the script is run is goes through all of the files and only encodes the ones that don't have corresponding mp3 files. I have code in their to download the album cover art from Amazon and do some integrity checking, but they don't work very well so they're turned off by default.
- recreate-cd-from-flac - Takes a directory to a collection of flac files as a argument, transcodes them to wav, and then burns a CD. I've found that it's much easier to burn a new CD with this before I head out to my car than search for the original CD.
- add-track-title-to-flac-metadata - The CDDB data isn't perfect, and sometimes (like with classical music), it sucks majors ass. It's easy to use metaflac to change the album name and artist on the command line, but I use this to rest my fingers (and my sanity) when changing the titles in the metadata to what I've already name the files.
- abcde (A Better CD Encoder) - I've tweaked this script to work better with CDs that have accent marks and stuff. It calls the latin1-to-ascii script because the flac encoder has a little bug and can't deal with anything but plain old ascii. I plan on fixing it, but in the meantime we have this workaround. Oh yeah, and I also tweaked it to also leave a turd around called .working-directory with the original CDDB data so I can add back the accent marks once I fix flac.
- latin1-to-ascii - Converts letters with accent marks to their equivalents without. Yes it sucks to do this, and that's why it's also known as The Dumb American Script. But it's needed at least until I fix that flac bug. I ripped this one off also, I converted someone's python script into perl and called it my own. Yeah, yeah, I know.
I totally welcome your contributions if you think the scripts are worth maintaining. I'd really like to make flac-mp3-transcoder better. If it becomes a real project I'll move the script(s) into a publicly accessible Subversion database.