Encoding CDROM Audio

Encoding CDs is dated, but has still has merit, falling into the preservation-of-formats category. The most recent encoded CD in my house was from August, 2009.

Taking a trip down memory lane, re-installing:

rip – A command-line based audio CD track ripper and MP3, FLAC, or Ogg Vorbis encoder

The installation is easy.  Download the latest (today, it is 1.07 – 2003 vintage).  The archive will extract into rip-1.07.

Opinions on how and where to install freeware vary, but for this post, I’ll say I put rip in /applications/rip-1.07/bin.  Rip also include two perl modules to make CDDB and MP3 tagging possible: CDDB_get-1.66.tar.gz and MP3-Info-0.91.tar.gz.  Extracting these two archives, and running the following in their respective directories sets things up properly:

perl Makefile.PL PREFIX=/applications/rip-1.07
make install

Once installed, if you set PERL5LIB to /applications/rip-1.07/share/perl5, and add /applications/rip-1.07/bin to your PATH, you are ready to run rip.

My preference is to name MP3 files as [TRACK]_[SONG NAME].mp3 while encoding at 256 Kbps. Therefore, issuing this command completed the deal:

rip -c -b 256 -f “%N_%S”

More rip help:

$ rip -help

USAGE: rip [option(s)] 


  -b   --bitrate NUM          set bitrate for encoding to NUM kbps
  -B   --bladeenc             use bladeenc for MP3 encoding
  -c   --cddb                 use CDDB to rename output files (must be online)
  -C   --comment              add your comments to each track via file tagging
  -d   --dev DEV              force input to come from device DEV
  -D   --debug                leave debug info in the file /tmp/rip-stderr
  -e   --eject                eject CD tray after doing everything else
  -f   --format FORMAT        use FORMAT when naming the output file

                                      %A   artist name
                                      %T   title of album
                                      %S   song name
                                      %N   track number

                              example:   rip -f "%A - %T - %N - %S"
                              example:   rip -f "%A_-_%S"

  -F   --flac                 use FLAC for lossless compression
  -g   --generate DIR/NAME    playlist NAME created in DIR (DIR may be omitted)
  -G   --gogo                 use GOGO for MP3 encoding
  -h   --help                 print this help to the screen
  -l   --lazy                 uses -t, -c, -g, -b/q, -m, and -e implicitly,
                              creates a playlist in $PWD in a common format,
                              moves output audio files to $PWD/ArtistName/
  -L   --lame                 use LAME for MP3 encoding
  -m   --move DIR             place all of the ripped/encoded tracks in DIR
  -M   --many                 rip many CDs one after the other (loop thru script)
  -n   --nounderscore         do NOT use an underscore '_' in filenames
  -N   --notlame              use notlame for MP3 encoding
  -O   --oggenc               use oggenc and encode to Ogg Vorbis files
  -p   --paranoia             use 160 kbps and do not accept skips on rip
  -P   --play                 play finished files in XMMS during rip
  -q   --quality NUM          use variable bitrate encoding with quality NUM
                              only works when LAME or oggenc is the encoder
                              see that encoder's documentation when choosing NUM
  -Q   --quiet                rip and encode tracks without any visible output
  -r   --rename               ask for proper name of all tracks before ripping
  -s   --speed NUM            force CD-ROM device to read at speed NUM
  -S   --superlazy            same functionality as -l/--lazy except that all
                              output is to $PWD/ArtistName/AlbumTitle/ instead
  -t   --trayclose            close CD tray before doing anything else
  -T   --tag                  tag the output file with artist/song/album info
  -v   --verbose              print lots of info about what script is doing
  -V   --version              print rip's version information
  -w   --wav                  rip CD tracks to WAV files and no further
  -Y   --cdparanoia           rip CDs using cdparanoia (this is the default)
  -Z   --cdda2wav             rip CDs using cdda2wav instead of cdparanoia


  rip 1 3-5 7 9-11 12 14      rip tracks 1 3 4 5 7 9 10 11 12 and 14 to MP3
  rip 6                       rip track 6 to MP3 using default encoder
  rip -c 6                    rip track 6 and rename its MP3 file via CDDB
  rip -c -d /dev/dvd 6        rip using /dev/dvd as the input device
  rip -c -m ~/mp3 6           simliar: moves output MP3 files to dir ~/mp3


  rip -P                      rip entire CD to MP3 and play tracks as we go
  rip -Pet                    similar: also closes and ejects CD tray
  rip -S                      laziness at its best IMHO (must be online)
  rip -S 1 3-5 7 12           superlazy rip specific tracks
  rip -TOPS                   similar: also tags, uses oggenc, and plays

  If you do not specify which track numbers to rip, then all tracks are ripped.
  You may now specify a subset of tracks to rip during a lazy rip

  The default output directory is the Present Working Directory ($PWD).
  Use -m/--move to alter/change the $PWD to a different directory, DIR.
  If the DIR you give -m/--move doesn't exists, rip will create it for you.

  If no specific encoder is flagged, rip uses the first encoder it finds.
  Encoders are searched in this order: gogo, lame, bladeenc, oggenc, flac, notlame.


  Copyright (C) 2003 by Gregory J. Smethells and licensed under the GPL

If you prefer loss-less audio files, then you should encode to FLAC, not MP3:

rip -c -F -f “%N_%S”

Comments are closed.