A small shell script to grab audio from a CD and encode/compress it.

0c868928 license as code block · by Georg Hopp


A small script to rip and encode audio from a CD.


./getcd.sh [-t(m|f|o|w)] [-p path] [-e encoder] [-c cddbitem] [-h]
   [-I interface] [-D device] [-v[v|0]] [-q] [-s]
   [--help] [--encoding=(m|f|o|w)] [--encoder=(lame|bladeenc)]
   [--path=<string>] [--interface=(cooked_ioctl|generic_scsi)]



  • -h | --help : online help
  • -v : set verbosity level.
  • -q : make the script silent. Equivalent to -v0
  • -t | --encoding : encoding type
  • -p | --path : base path
  • -e | --encoder : encoder
  • -c : CDDB entry selection
  • -I | --interface : specifies cdda2wav interface to use
  • -D | --device : specifies device to use with cdda2wav.
  • -s : sampler indicator

Verbosity settings (-v)

  • -v0 : disable all output
  • -v : be more verbose
  • -vv : enables debug

Encoding type (-t | --encoding)

You can specify either m for encoding to mp3 using lame, or f for making lossless encoding using flac, or o for making ogg/vorbis, or w for uncompressed wav. Omitting this results in encoding to flac. Mp3s will be placed under a subfolder mp3 and flacs under a subfolder flac.

Base path (-p | --path)

Specifies the path to save the encoded data. Defaults to the users home directory.

Encoder (-e | --encoder)

Specifies the mp3 encoder to use. Valid encoders are actually:

  • lame
  • bladeenc

Defaults to lame.

CDDB entry selection (-c)

Specifies the CDDB-Entry to use.

Sometimes there is more than 1 entry for a cd in cddb. Then you can specify wich one to use by this option. You can checkout all entries using cddb.pl.

Cdda2wav interface selection (-I | --interface)

Valid interfaces are generic_scsi and cooked_ioctl. Please note that cooked_ioctl is not available on all systems. Defaults to cooked_ioctl if device begins with /dev else to generic_scsi

Cdda2wav device selection (-D | --device)

All values that are valid for cdda2wav are valid here.

Defaults to /dev/cdrom

sampler indicator (-s)

If set indicates that this disk contains various artists (is a sampler). In this case the artist is written in the title information of cddb most likely. Giving this option the script will show a title list and give the oppotunity to enter a delimiting string so that title and artist information can be split properly and fill the mp3id or whatever correctly.


  • bash


  • flac
  • cdrtools
  • cdrdao
  • lame
  • other...


No contribution now, sorry.


This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.


Georg Hopp georg@steffers.org