Ripping CDs to FLAC

2003 July 30
by darkness

Tonight I opted to start ripping my CDs. I’m ripping to FLAC because I’ve now got the disk space for it, and I figure I should rip my CDs before they get stolen from my car or something. (Note: please don’t steal my CDs from my car. I KNOW WHO YOU ARE.) I was putting off ripping to FLAC and keeping albums in FLAC on a permanent basis because I was unsure that there was a standard for FLAC data a la ID3v2.4.0. It seems that, at least in FLAC 1.1.0, there is a metaflac command which can be used to add this kind of data to a track.

I went out looking for programs to use. I have written my own script to do ripping and encoding (with LAME) in a combination of bash and python. I liked that script well enough, but I figured that maybe someone has something written that I could use to greater effect, nicer interface, something like that.

As it turns out I was mostly wrong. First I looked at Emptytree Seedy. Emptytree looks cool, and might do what I want, but honestly I don’t need something quite this heavy… I think. Its interface does look nice, but honestly I’d probably prefer something with a console interface. Also I’m not entirely sure that Emptytree Seedy supports the method of operation that I want: pop a CD in the drive, CD is ripped, optionally normalized, encoded to FLAC, tagged to the best of CDDB’s ability, and then the drive is ejected. When next a CD appears in the drive the software should detect it and start ripping again. As I seem to recall, this is basically how my shell script worked.

So then I went through all four pages of CD audio ripping applications at Freshmeat. The ones I found that might be acceptable are — in no particular order – Jack, rip, YaRET, and I just found abcde in another Mozilla window and it looks acceptable.

First I tried YaRET. I got it all nice and configured, installed libcdaudio, normalize, AppConfig, Audio::CD, and libmad, and… it doesn’t seem to work. I set it to normalize the entire album (batch mode) and after ripping it just sits there. I don’t feel like debugging Perl right now, so I think we’re moving on.

Next I tried abcde. Got it set up. Think it works. Realize it doesn’t expect to keep being handed CDs. The problem here is that I could be ripping the next CD while normalizing and encoding the last. Get discouraged.

So now I’m kind of maybe writing my own, which is pretty insane I bet. I might end up using abcde in parts, really. Hey, yeah, that makes the most sense. abcde seems to have a nice interface for telling it exactly which portions of its abilities you’re wanting to use (like “rip,tag,encode” or something like that). I’ll just start two processes: one that rips, and one that normalizes/encodes/tags. Hopefully that’s easy. Much easier than writing from scratch.

While I’m thinking about it, Disc-Cover looks kind of neat. I think I also saw a reference to a CD Cover Database somewhere; might need to check in to that later.

No Comments

Leave A Comment

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS