Rubyripper So, you’ve liberated yourself from the prison of proprietary audio formats like MP3 and decided to move to an open format with growing industry support and a far superior sound quality: you’ve selected FLAC. And if you run a GNU/Linux distro on your computer, there may not be a more bulletproof tool than Rubyripper for making high-quality (almost exact) copies of your audio CDs in the FLAC format.

How to install Rubyripper on a Debian-based distro

To get the latest release, browse to http://code.google.com/p/rubyripper/downloads/list. At the time of this writing, the current version is Rubyripper-0.6.0. Download and extract to a directory of your choosing.

You’ll need a few prerequisites and some recommended packages — on Debian 5.0.5 (lenny):

$ sudo apt-get install cdparanoia ruby cd-discid eject vorbisgain normalize-audio

I also recommend ruby-gettext for translations and ruby-gtk2 for the GUI interface. However, obtaining these packages varies across distros — do a quick search and make sure you have these packages installed before proceeding. In my case, I got them via the libgettext-ruby1.8 and ruby-gnome2 packages, respectively.

To do the typical configure/make/install dance, go to the extracted rubyripper-0.6.0 directory and:

$ ./configure --enable-lang-all --enable-gtk2 --enable-cli --prefix=/usr

Or, choose your language(s):

$ ./configure --enable-lang=de,hu --enable-gtk2 --enable-cli --prefix=/usr

Finally:

$ sudo make install
$ make clean

The installed executables will be named rrip_cli and rrip_gui.

You may also run them directly from the install directory:

$ ./rubyripper_gtk2.rb

Or:

$ ./rubyripper_cli.rb

However, it’s also handy that a Rubyripper launcher is installed under Applications > Sound & Video.

If you ever change your mind and want to uninstall:

$ sudo make uninstall
$ make clean

Ripping CDs

The obvious first step is to insert an audio CD into your drive. By default, Rubyripper expects this to be /dev/cdrom, but tweak this to your needs in the Preferences > Secure Ripping applet.

The other important value to specify is the offset value for your cdrom drive. An easy way to find the exact vendor and model is to use the lshw command. In my case:

$ sudo lshw | grep -A 5 *-cdrom
           *-cdrom
                description: DVD-RAM writer
                product: CDDVDW SH-S223Q
                vendor: TSSTcorp
                physical id: 0
                bus info: scsi@0:0.0.0

By cross-referencing my drive with http://www.accuraterip.com/driveoffsets.htm, I can see that the offset value is +6. Yours may be different.

So, why is this offset value important? Basically, because Rubyripper is meant for “secure ripping” and the offset value of any drive using a shingle write/access technique plays a part in the equation. Rubyripper aims to deliver high quality rips from audio CDs by ripping the same track with cdparanoia multiple times and then comparing the results. Directly from the README file:

The underlying philosophy is that errors are random and therefore will differ with each trial. Since the files don’t always match directly proves that at least part of this is true. However, it might be that some read errors are not random and will happen exactly the same with multiple trials. In this case an error would slip through unnoticed.

A completely secure rip can never be guaranteed, neither by Exact Audio Copy (which inspired Rubyripper), nor by any other ripper. Factors like the quality of the audio-cd and the quality of the cdrom drive are very important as well. Despite these problems Rubyripper tries to do it’s very best.

From here on out, things are pretty simple and intuitive. The default FLAC encoding and cdparanoia options will probably work just fine for you, but here are some useful links for tweaking things to your liking if you choose:

A few helpful tips

Ripping to a single FLAC file. At first, this might seem like a silly idea, but it turns out there are lots of valid reasons you may choose this option. For example, there may not be any silence between the songs on your CD (such as Pink Floyd, The Wall), or maybe you’re old-fashioned and you only listen to all songs on the CD contiguously, or it could be that you just prefer to manage fewer files on your hard disk. Whatever the rationale, I highly recommend that you tick the Create cuesheet option as well. This will allow you to navigate the tracks while you listen in players that support cuesheets — I use Audacious. Also, most CD writer software can use the cuesheet to put the track markers in the right places and read the CD-TEXT values if you ever burn your FLAC file back to an audio CD. The cuesheet is basically some metadata and a list of “index markers” in the file:

REM GENRE Rock
REM DATE 1979
REM COMMENT "Rubyripper 0.5.7"
REM DISCID aa09370d
PERFORMER "Pink Floyd"
TITLE "The Wall (Disc 1)"
FILE "./Pink Floyd - The Wall (Disc 1).flac" WAVE
  TRACK 01 AUDIO
    TITLE "In The Flesh"
    PERFORMER "Pink Floyd"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "The Thin Ice"
    PERFORMER "Pink Floyd"
    INDEX 01 03:19:42
  TRACK 03 AUDIO
    TITLE "Another Brick In The Wall (Part I)"
    PERFORMER "Pink Floyd"
    INDEX 01 05:49:35
  TRACK 04 AUDIO
    TITLE "The Happiest Days Of Our Lives"
    PERFORMER "Pink Floyd"
    INDEX 01 09:00:20
[...]

Ripping multiple formats at once. On the Codecs tab, you can tick multiple codecs at once. This is handy if you have two different target devices and require different formats. For example, my portable player supports OGG Vorbis files, but not FLAC. However, when playing tracks on my home stereo system through my Roku SoundBridge and mt-daapd, I play FLAC files. As an organizational bonus, Rubyripper provides a %f variable in the filenaming schema, so the different file types end up in different directories.

As always, I hope this helps. Cheers.

Share

  2 Responses to “HOW-TO: Rip audio CDs to FLAC format with Rubyripper”

  1. …this helped a lot,
    thank you very much for this detailed guidance on secure cd-ripping,
    I discovered rubyripper from here, always used grip before,
    but I think rubyripper is better choice.
    greets, wulle

  2. [...] assume your FLAC files are tagged with the artist name, song title, etc. (Maybe you previously ripped them with Rubyripper?) The little script below will do the [...]

 Leave a Reply

(required)

(required)

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>

   
Your Ad Here