CD Ripping: abcde is the best

Here I thought I was going to be stuck using Exact Audio Copy on Windows, which never stood up to my odd needs for CD ripping along with poor stability.

What I wanted was a program that would look at the disc and tag accordingly with CDDB, then rip the files securely once with cdparanoia or some other secure ripping tool, and then encode the files to multiple formats as I dictated. Little did I know that the tool existed for Linux as a command line program called abcde.

Thanks to a website known as Andrew's Corner, configuring the program was a small matter of copying and modifying the syntax to my needs into a .abcde.conf file in the home directory.

Now when I want to rip a CD, I pop it in, run the command "abcde," make sure the CD it found was correct, and then walk away. (Quick tip: if the program brings up a list of multiple album options, press q to go back to abcde)

This is amazing. It's like someone went into my brain, found what CD ripper I wanted to exist, and then said, "I made it for you, there it is in Debian." Well, to be fair, I did configure the thing, but still.

Also, having never used CDParanoia before, I was pleasantly surprised to find it has real time smiley faces to tell you the status of the rip, which is the best thing I've ever seen and is far more useful than Exact Audio Copy's red bars indicating something I initially assumed was "how much fun you're not having right now."

Here is my modified version of the code if anyone's interested.

# -----------------$HOME/.abcde.conf----------------- #
#
# A sample configuration file to convert music cds to
# MP3, Ogg Vorbis, FLAC
# using abcde version 2.4.2
#
# http://andrews-corner.org/abcde.html
# minor mods by http://minimalinux.blogspot.com
# -------------------------------------------------- #

OGGENCODERSYNTAX=oggenc # Specify encoder for Ogg Vorbis
MP3ENCODERSYNTAX=lame # Specify encoder for MP3
FLACENCODERSYNTAX=flac # Specify encoder for FLAC

OGGENC=oggenc # Path to Ogg Vorbis encoder
LAME=lame # Path to MP3 encoder
FLAC=flac # Path to FLAC encoder

OGGENCOPTS='-q 3' # Options for Ogg Vorbis
LAMEOPTS='--preset standard' # Options for MP3
FLACOPTS='--verify --best' # Options for FLAC

OUTPUTTYPE="ogg,mp3,flac" # Encode to all 3 formats!

CDROMREADERSYNTAX=cdparanoia
CDPARANOIA=cdparanoia
CDPARANOIAOPTS="--never-skip=40"

# Give the location of the CD identification program:
CDDISCID=cd-discid

OUTPUTDIR="$HOME/Music/abcde/"
ACTIONS=cddb,playlist,read,encode,tag,move,clean
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
VAOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'
ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'
VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}'

# Create playlists for single and various-artist encodes. I would suggest
# commenting these out for single-track encoding.
PLAYLISTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}.m3u'
VAPLAYLISTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}.m3u'

mungefilename ()
{
echo "$@" | sed s,:,-,g | tr / _ | tr -d \'\"\?\[:cntrl:\]
}
MAXPROCS=1 # Run a few encoders simultaneously
PADTRACKS=y # Makes tracks 01 02 not 1 2
EXTRAVERBOSE=n # Useful for debugging
EJECTCD=n # Please eject cd when finished :-)


My changes:
-It doesn't eject the CD
-The program is not extra verbose
-It only rips FLAC, OGG and MP3
-I left FLAC at high quality
-MP3 is at V2 (about 256kbps)
-OGG is at Q3 (about 112kbps)

The program needs more programs than is required by apt-get, so snap those up. I ended up having to install id3v2, but abcde was rather nice about telling me I needed it. Also, the program supports more codecs than this, and even can do Speex for audiobooks (though for optimal Speex you need to downsample to 8 or 16 mHz).

One more thing I don't need Windows for. Heck, this is far and above so much better than what I used before. When I came up with that great nugget quote "Minimalism is finding our tools and stripping them down in our own way to meet our own needs," this was exactly what I was talking about.

Stabilized

I knew it would happen eventually.

For those of you who don't read Distrowatch religiously (not me, of course! what are we talking about?) you probably still heard that Debian 6.0 became stable a couple of weeks ago. If you enjoyed using the testing version of it at all you would know it's incredibly stable.

Of the bad things I can say about Debian, the worst be that my wi-fi driver is more sensitive to drops than in Ubuntu or Fedora. That's it. This is mainly because in Debian, fixing any issues I have are pretty much my burden, and I did that already a weekend ago. You set it up once and it's done. So, now I have my GNOME desktop that is what I want. And that's it.

Now that my distro-hopping days have finally ended, my habits have changed as well. I've noticed this in my past few installations. I take less risks and try less cool things. I'm boring, and I like it that way!

I'm still minimalist though. Very clean desktop we have here. But your actions really do change once you decide to never install your OS again. Sure, that's hyperbole, but it's also the mentality I'm inside of right now, and it's a fantastic change.

It sure does make for a lack of stuff to post on this blog, though. Sorry 'bout that.