Music Management in Linux: Ripping CD’s with abcde

When one sets out to rip a CD in Linux, he is confronted by many options. The user can use a graphical music player such as Rhythmbox, Banshee, or Amarok to rip said CD, along with many other dedicated ripping solutions. I recently purchased Rosetta Stone Hebrew Levels 1 – 3 which comes with 12 (read ‘em, TWELVE) discs of audio companion material. Let’s just say I needed a way to rip 12 discs fast, preferably in a terminal. Enter abcde.A Better CD Encoder, otherwise known as “abcde,” is a Linux program that can rip a CD as fast as is possible and allows the input of lots of custom options for how you want to rip the disc. It supports encoding to MP3 format using a couple of libraries (such as lame), encoding to Ogg Vorbis, remote fetching of album info using CDDB, tagging such as ID3, autogeneration of m3u playlists, remote distributed MP3 encoding, and automatic disc ejection after completion, to name only a few of its many features. Basically, if you can dream it, you can do it with abcde.

Let’s install it. Run

sudo apt-get install abcde id3 id3v2

to install abcde and ID3 for tagging files. Alternatively, you can click here to install abcde through your browser. Please note that you probably should install “lame” before trying to rip cds to MP3 files. To install lame, make sure you have Medibuntu in your sources list and run

sudo apt-get install lame

before ripping any discs. Alternatively, if you want to install “lame” through your browser and you already have the Medibuntu repository installed, you can click here.

Now that it’s all ready and installed, let’s try ripping a CD! Let’s pop open a terminal and create a new directory to rip our CD to.

mkdir -p "Desktop/Rips"
cd ~/Desktop/Rips

As a good starting point, I recommend the following command line options to rip the CD to the current directory:

abcde -N -g -d /dev/cdrom -a read,encode,tag -o mp3  -x

This does a few clever things. Since, in my case, I had a TON of CDs to rip and really didn’t want to be bothered with anything until each encode is done, I passed the “-N” option which basically puts abcde in non-interactive mode. In addition, I passed the “-x” parameter, telling abcde to simply eject the disc after it has finished all of its operations. I also passed “-g” which tells lame to enable “gapless” encoding for songs. Few things bother me as much as unnecessary gaps between songs on an album, and this simple parameter eliminates that problem outright, providing you’re using lame as an encoder. I specified /dev/cdrom as my CD-ROM device, though this is usually unnecessary since abcde defaults to using /dev/cdrom anyway. I passed “-a read,encode,tag” to tell abcde to simply take the CD, rip the raw output from it, encode it, tag it using default values, and be done. I wanted a non-interactive rip, and I definitely got it! The last parameter I passed was “-o mp3″, informing abcde to encode the songs to MP3 files.

First, abcde uses a program called cdparanoia to rip the raw wave files from the CD to the local hard disk. Then, it passes those files to the encoder, in my case lame, and then it tags the files using some default values and puts them in a new directory under the current working directory. Fast. Painless. Noninteractive. Exactly what I needed.

This certainly isn’t the only way to configure abcde, either. abcde definitely feels like one of those swiss-army-knife-like programs I’ll use on a fairly regular basis to bring music from a CD into my music library. Combine it with a tool like EasyTAG, and you’re in business.

4 thoughts on “Music Management in Linux: Ripping CD’s with abcde

  1. Pingback: TK Kocheran

  2. Pingback: how do you mount an iso image file to the cdrom in linux? | Linux Appliance

  3. Pingback: rfkrocktk

  4. abcde can be very nice (and I still often end up using it), but it has some drawbacks … for instance, it doesn’t seem to automatically read disk and track titles, or maybe there are often errors doing so and it gives up, so if the CD you’re ripping isn’t in the CDDB database, you’ll have to enter all that stuff by hand.

    It turns out that “cdrdao” _can_ read track titles that abcde can’t, and comes with a tool to translate the resulting output file to the CDDB format abcde uses, so getting the track titles often isn’t too bad (though the character encoding the CD uses may not be what you want so will need conversion).

    Anyway, I guess my only point is that it often seems to turn out that even with abcde, I very rarely get a simple “plug -n- chug” experience… ^^;

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>