bentrip --- Bennett's simple CD ripper

I recently got my very first digital music player. That got me interested, for the first time, in ripping my CD collection. I knew I wanted Ogg Vorbis, but other than that I knew nothing. I got joyously lucky, I follow the lfs-chat list and remembered some discussion about it from only a few weeks ago, checked my archives, and voila, a pointer to rip. For someone with my tastes, it's almost perfect. I don't do GUIs, I like perl. It introduced me to a good set of tools that fit together nicely, CDDB_get.pm, cdparanoia, and oggenc, along with reasonable parameters and options to run 'em with.

Then I wanted it to behave a little differently. First, I wanted it to never, ever ask any questions. So I waded in and found the code in rip very, very simple. Most of the code there, in fact, was to deal with supporting alternate rippers and encoders, and provide cmdline control over lots of options. I wanted so much less. So I wrote it.

From the first, the primary goal was to be completely non-interactive; I didn't want it to be asking me any questions, ever. Take the best guess it can (first return from cddb), fill in anything that's missing with placeholders, and let 'er rip. As it were.

Then I found that the service it was using, tcp port 888 on freedb.freedb.org, was down a lot. I suspect it may be because I'm in the US, and the US mirror server is down. But it may be something else.

Rather than try to fix it, I decided to base the next rewrite on a local copy of the db, since freedb.org is so kind as to publish their db in a highly portable, easy-to-parse format for free download.

I downloaded the lot, and reformatted it. The downloadable database is a tar.bz2 weighing in around 300MB, with 14M files in it. The subset of the info that I cared about formatted very simply as a text file with 14M lines, 470MB. The text file is pretty packed, it doesn't compress as much as one might think, bz2 only gets it down to 180M.

Uncompressed, however, and run through sort, lookups only take c. 1/5 second with look(1) even on a slow laptop, Joy!

Please find here the converter, the ripper,, and a pre-converted, sort-u'd, bzip2-ed copy of the database. Download that last and put into place with something like

    bzip2 -d <freedb.bz2 >$HOME/.freedb
and "bentrip" should start working --- if you've installed its prerequisites CDDB_get, cdparanoia,, and oggenc (from vorbis-tools). Links directly as specified at the site of the script that got me started, <URL:http://rip.sf.net/>.