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/>.