Rubyripper: Secure ripping on Linux

|

It is often recommended that Linux users try to get EAC working with Wine. However, this doesn't always work.

When Wine and EAC don't want to cooperate, Rubyripper, with its test-and-copy layer on top of cdparanoia's oft-bemoaned correction, is the next best thing.

So, without further ado...

Installation (Linux)
Method 1: install via your distro's package manager
This is the most convenient way, but it won't always give you the most up-to-date version, even if Rubyripper is in your distro's repositories

Ubuntu / Debian-based distros: GetDeb.net Deb
• GetDeb.net now offers the latest Deb installer of rubyripper for Ubuntu.

Method 2: install from the tarball
1. Download the tarball from http://code.google.com/p/rubyripper/downloads/list (0.5.5 is the current version at the time of writing)
2. untar it in ~/local (or the directory of your choice): tar -xjvf rubyripper-0.5.5.tar.bz2
3. Install the dependencies listed in the README. (if you're using this method because the distro-provided version is out of date, you can still use the package manager to install these)
3.1 Ubuntu-specific: Install the following packages: cdparanoia ruby-gnome2 libgettext-ruby1.8 ruby-full flac cd-discid eject vorbis-tools vorbisgain mp3gain.
4. Follow the installation instructions in the README file.

Method 3: run it from your home directory
1. Download the tarball from http://code.google.com/p/rubyripper/downloads/list (0.5.5 is the current version at the time of writing)
2. untar it in ~/local (or the directory of your choice): tar -xjvf rubyripper-0.5.5.tar.bz2
3. Install the dependencies listed in the README. (if you're using this method because the distro-provided version is out of date, you can still use the package manager to install these)
3.1 Ubuntu-specific: Install the following packages: cdparanoia ruby-gnome2 libgettext-ruby1.8 ruby-full flac cd-discid eject vorbis-tools vorbisgain mp3gain.

Installation (Mac)
Check out resipsa's Rubyripper: OS X installation and usage tutorial. Then come back to this tutorial to complete the configuration. The commandline menu system will look different, but the options should be the same.

Configuration
Launch Rubyripper

Click the Preferences button in the upper left corner of the window

Secure Ripping
1. Look up your CD drive's read offset in the AccurateRip database.
(One way to identify your CD drive is to issue the command: lshw. Another way is: dmesg|grep CD-ROM).
2. Copy the read offset value into the Cdrom offset field

Recommended Ripping Options:
• Match all chunks: 2 times
• Match erroneous chunks: 3 times
• Maximum trials: 20

You can probably leave the Ripping options at their defaults, however:
• it doesn't hurt to bump the Match erroneous chunks value up to 3.
• If you don't set the Maximum trials, a badly scratched CD could cause Rubyripper to keep trying for hours before randomly getting matches on bad chunks. (note: if this happens, please do not upload your rip)

Ripping related:
• Pass cdparanoia options: -Z
· This disables cdparanoia's built-in correction and leaves you relying entirely on Rubyripper's test-and-copy method. The speed benefit of this might be worth it, given cdparanoia's reputation of not having very secure correction on its own.

Codecs
FLAC
• --best -V
· This will produce the smallest files, but encoding may take a little longer (what.cd recommendation, equal to -8).
• -5 -V
· This is the default compression level, slightly larger than the highest compression, -8, but the encoding will go faster.

Vorbis
(note: many/most Linux distributions ship the official xiph.org encoder. The tweaked and tuned aoTuV beta 5 encoder is recommended as superior by HydrogenAudio. If your distro doesn't ship this version, you may wish to check out the section on aoTuV Oggenc under Other codecs)
• -q 6
· This is the lowest quality preset allowed. Its nominal bitrate is 192kbps, but the actual average can vary widely depending on the type of music.
• -q 7
· 224kbps nominal bitrate. Again, actual ABR can vary greatly.
• -q 8
· 256kbps nominal bitrate. Again, actual ABR can vary greatly.
• presets other than q6.x, q7.x, and q8.x are no longer allowed on What.CD


Lame Mp3
• -V2 --vbr-new
· V2 is the lowest quality VBR preset allowed on the tracker.
• -V0 --vbr-new
· This is the highest quality VBR preset. Many people prefer this.
• -b 320
· This will give you the maximum possible constant bitrate of 320kbps. Many view this to be overly wasteful compared to V0 (which can hit 320kbps when it needs to) and not necessary, but some people appreciate that extra little bit.

Note: The switch --vbr-new, which enabled a superior VBR mode in LAME 3.97 and some previous versions, is no longer needed with LAME 3.98 as it is now the default VBR mode. However, if you're still using LAME 3.97 or older, you have to add --vbr-new to your commandline to use that mode.

Other
This is where you would put settings for other codecs, such as AAC (with FAAC), or updated versions of the above codecs that your distribution doesn't yet include.

FAAC


aoTuV Oggenc
1. If your distribution does not already ship a version of oggenc with Aoyumi's tunings, download it from http://artfwo.googlepages.com/oggenc-aotuvb5.bz2 and uncompress it somewhere where you can run it.
2. Disable the Create m3u playlist option in the Codec related section at the bottom of the window
3. Include the following line in the Other field of Rubyripper's codec settings: ~/local/bin/oggenc-aotuvb5 -q 7 -d %y -N %n -t "%t" -l "%b" -a "%a" -G "%g" -o "%o.ogg" %i
3.1. Replace ~/local/bin/ with the directory where you placed the executable
3.2. Replace -q 7 with your desired quality preset.

Normalization and Replay Gain
ReplayGain and peak normalization are two ways of making music from different sources play back at the same volume without manual tweaking of the volume nob.

Normalization is a lossy process and doesn't change the perceived loudness very effectively. Do not normalize

Replay Gain, however, calculates the perceived loudness of a track or album and adds tags to the files so that supporting audio players (such as Foobar2000, Amarok with the replaygain script, and the Rockbox DAP firmware, among others) can be set to change the volume automatically upon playback or just ignore the tags altogether if the user so chooses.

ReplayGain has two modes, album/audiophile and track/radio. The former is preferred when listening to entire albums at once; the latter is good for listening to tracks out of context from their albums, such as with random playlists.

FLAC and Ogg Vorbis
• Choose Use replaygain on audio files
· Select Album / Audiophile modus

ReplayGain is perfectly acceptable for these formats and is in fact highly encouraged. Applying replay gain in Album/Audophile modus will cause both album and track gain to be written to the tags.

MP3
You can still apply replay gain to mp3 rips, but there are some caveats that must be mentioned:

With the way Rubyripper invokes the mp3gain utility, it alters the actual audio data. This is a lossless process, since the scanner adds an APEv2 tag to the end of the file with information necessary to revert the change. Supporting players can still switch between album and track modes, and other players will play the altered audio with the mode chosen when the scan was done.

However, the original volume may be unobtainable in some players without first altering the audio again. Also, there is a risk of the APEv2 tags being corrupted or erased by poorly implemented or configured id3 taggers.

This leaves you with three options:
• Do not apply ReplayGain to mp3 rips
· Choose Don't standardize volume
• Revert the changes made by the scanner, leaving only the tags, which can still be used by supporting players.
· Choose Use replaygain on audio files
· use the following command in a terminal window: mp3gain -u /*.mp3
• Apply ReplayGain manually without passing the -a or -r switches
· Choose Don't standardize volume
· use the following command in a terminal window: mp3gain /*.mp3

Freedb
The defaults should be sufficient here.

However, if you would prefer to use Musicbrainz' FreeDB gateway (which often has better data but doesn't have quite so many albums in its database), change the Freedb server to the following:
freedb.musicbrainz.org.

Other
Filenaming schemes must include, at the very least, Artist and Album in the directory name and Tracknumber and Trackname in the filename.

• Base directory: this can be wherever you want the resulting files to be.
• The following are decent settings but can be tweaked so long as all the appropriate data remains.
· Standard: %a - %b (%y)/%n - %t
· Various artists: %a - %b (%y)/%n - %va - %t

Click the arrow by Show options for "Filenaming scheme" for a list of variables that can be used.


The Programs of choice and Debug options are matters of personal preference and do not actually have any effect on the rip.

Troubleshooting
Rubyripper freezes after ripping the first track (Rubyripper 0.5.3 or earlier)
Set Preferences > Codecs > Number of extra encoding threads to 0.

Explanation: This is apparently a bug introduced with version 0.17 of the ruby gnome bindings. As a work-around, Rubyripper 0.5.4 no longer uses extra threads for encoding.
Issue 221 on Rubyripper's code.google.com issue tracker

Rubyripper doesn't find the CD drive.
Try the following in a terminal window:
$ ls -l /dev/cdrom*

You should get output something like the following:
lrwxrwxrwx 1 root root 4 2008-10-08 16:56 /dev/cdrom -> scd0

In Preferences > Secure Ripping > Cdrom device, replace "cdrom" with the device name shown after the arrow.

2 comments:

Billy Bob said...

Thanks Man !! You saved me hours of wasted time and crappy mp3s

MonoTovarisj said...

Super article was just what I was looking for.

Post a Comment