Seth Woolley's Man Viewer

abcde(1) - abcde - Grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC or Ogg/Speex format - man 1 abcde

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

ABCDE(1)                                                              ABCDE(1)



NAME
       abcde  -  Grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC or
       Ogg/Speex format.

SYNOPSIS
       abcde [options] [tracks]

DESCRIPTION
       Ordinarily, the process of grabbing the data off a CD and encoding(3,n)  it,
       then  tagging or commenting it, is very involved.  abcde is designed to
       automate this. It will take an entire CD and convert  it  into  a  com-
       pressed  audio format - Ogg/Vorbis, MPEG Audio Layer III, Free Lossless
       Audio Codec (FLAC) or Ogg/Speex. With one command, it will:

       *      Do a CDDB query over the Internet to look(1,8,3 Search::Dict) up your CD  or  use  a
              locally stored CDDB entry

       *      Grab a track from your CD

       *      Compress it to Ogg/Vorbis, MP3, FLAC and/or Ogg/Speex format

       *      Comment or ID3 tag it

       *      Give it an intelligible filename

       *      Delete the intermediate WAV file(1,n) (or save it for later use)

       *      Repeat until finished

OPTIONS
       -1     Encode  the  whole  CD in(1,8) a single file. The resulting file(1,n) uses
              the CD title for tagging.

       -a [actions]
              Comma-delimited list of actions to perform. Can be one  or  more
              of:  cddb,  read(2,n,1 builtins), normalize, encode, tag, move(3x,7,3x curs_move), playlist, clean.
              Normalize and encode imply read. Tag implies cddb, read(2,n,1 builtins), encode.
              Move implies cddb, read(2,n,1 builtins), encode, tag. Playlist implies cddb. The
              default is to do all actions except normalize and playlist.

       -b     Enable batch mode normalization.  See  the  BATCH  configuration
              variable.

       -c [filename]
              Specifies  an additional configuration file(1,n) to parse. Configura-
              tion options in(1,8) this file(1,n) override those in(1,8)  /etc/abcde.conf  or
              $HOME/.abcde.conf.

       -C [discid]
              Allows  you  to  resume  a session for discid when you no longer
              have the CD available (abcde will automatically  resume  if(3,n)  you
              still  have the CD in(1,8) the drive). You must have already finished
              at least the "read(2,n,1 builtins)" action during the previous session.

       -d [devicename]
              CD-ROM block device that contains audio tracks to be read.

       -D     Capture debugging information (you'll want to  redirect  this  -
              try 'abcde -D 2>logfile')

       -j [number]
              Start  [number]  encoder  processes at once. Useful for SMP sys-
              tems. Overrides the MAXPROCS configuration variable. Set  it  to
              "0" when using distmp3 to avoid local encoding(3,n) processes.

       -k     Keep the wav files after encoding.

       -l     Use  the  low-diskspace algorithm. See the LOWDISK configuration
              variable.

       -L     Use a local CDDB repository. See CDDBLOCALDIR variable.

       -n     Do not query CDDB database. Create and use a template. Edit  the
              template to provide song names, artist(s), ...

       -N     Non interactive mode. Do not ask anything from the user. Just go
              ahead.

       -m     Create DOS-style  playlists,  modifying  the  resulting  one  by
              adding CRLF line endings. Some hardware players insist on having
              those to work.

       -o [filetype]
              Select output type. Can be "ogg", "mp3", "flac" or "spx".  Spec-
              ify  a comma-delimited list of output types to obtain all speci-
              fied types. See the OUTPUTTYPE configuration variable.

       -p     Pads track numbers with 0s.

       -r [hosts...]
              Remote encode on this comma-delimited  list  of  machines  using
              distmp3. See the REMOTEHOSTS configuration variable.

       -S [speed]
              Set the speed of the CD drive. Needs CDSPEED and CDSPEEDOPTS set(7,n,1 builtins)
              properly and both the program and device must support the  capa-
              bility.

       -v     Show the version(1,3,5) and exit(3,n,1 builtins)

       -V     Be  a bit more verbose. On slow networks the CDDB requests might
              give the sensation nothins is happening.

       -x     Eject the CD when all tracks have been  read.  See  the  EJECTCD
              configuration variable.

       -h     Get help information.

       [tracks]
              A list of tracks you want abcde to process. If this isn't speci-
              fied, abcde will process the entire CD. Accepts ranges of  track
              numbers  - "abcde 1-5 7 9" will process tracks 1, 2, 3, 4, 5, 7,
              and 9.

OUTPUT
       Each track is, by default, placed in(1,8) a separate file(1,n)  named(5,8)  after  the
       track in(1,8) a subdirectory named(5,8) after the artist under the current direc-
       tory. Each file(1,n) is given an extension identifying its compression  for-
       mat,  '.ogg',  .mp3',  '.flac', or '.spx'.  This can be modified using
       the OUTPUTFORMAT and VAOUTPUTFORMAT variables in(1,8) your abcde.conf.

CONFIGURATION
       abcde sources two configuration files on startup - /etc/abcde.conf  and
       $HOME/.abcde.conf, in(1,8) that order.

       The configuration variables have to be set(7,n,1 builtins) as follows:

       VARIABLE=value

       Except  when  "value"  needs  to be quoted or otherwise interpreted. If
       other
              variables  within  "value"  are  to be expanded upon reading the
              configuration file(1,n), then double quotes should be used.  If  they
              are  only  supposed to be expanded upon use (for example OUTPUT-
              FORMAT) then single quotes must be used.

       All sh escaping/quoting rules apply.

       Here is a list of options abcde recognizes:

       CDDBURL
              Specifies a server to use for CDDB lookups.

       OGGENCODERSYNTAX
              Specifies the  style  of  encoder  to  use  for  the  Ogg/Vorbis
              encoder. Valid options are oggenc (default for Ogg/Vorbis) and
              vorbize.  This affects the default location of the binary, the
              variable  to  pick  encoder command-line options from, and where
              the options are given.

       MP3ENCODERSYNTAX
              Specifies the style of encoder to use for the MP3 encoder. Valid
              options  are  lame  (default  for  MP3),  gogo,  bladeenc,
              l3enc and mp3enc.  Affects the same way as  explained  above
              for Ogg/Vorbis.

       FLACENCODERSYNTAX
              Specifies  the  style of encoder to use for the FLAC encoder. At
              this point only flac is available for FLAC encoding.

       SPEEXENCODERSYNTAX
              Specifies the style of encoder to use for Speex encoder. At this
              point only speexenc is available for Ogg/Speex encoding.

       NORMALIZERSYNTAX
              Specifies  the  style  of  normalizer to use.  Valid options are
              default and normalize' (and both run normalize),  since  we
              only support it, ATM.

       HELLOINFO
              Specifies  the Hello information to send(2,n) to the CDDB server. The
              CDDB protocol requires you to send(2,n) a valid username and hostname
              each  time(1,2,n) you connect. The format of this is username@hostname.

       CDDBLOCALDIR
              Specifies a directory where we store a  local  CDDB  repository.
              The  entries  must  be  standard CDDB entries, with the filename
              being the DISCID value. Other CD playing  and  ripping  programs
              (like  Grip) store the entries under ~/.cddb and we can make use
              of those entries.

       CDDBCOPYLOCAL
              Store local copies of the CDDB entries under  the  $CDDBLOCALDIR
              directory.

       CDDBUSELOCAL
              Actually use the stored copies of the CDDB entries. Can be over-
              riden using the "-L" flag (if(3,n) is CDDBUSELOCAL  in(1,8)  "n").  If  an
              entry  is  found, we always give the choice of retrieving a CDDB
              entry from the internet.

       OUTPUTDIR
              Specifies the directory to place completed tracks/playlists  in.

       WAVOUTPUTDIR
              Specifies  the temporary directory to store .wav files in. Abcde
              may use  up  to  700MB  of  temporary  space  for  each  session
              (although  it  is  rare to use over 100MB for a machine that can
              encode music as fast as it can read(2,n,1 builtins) it).

       OUTPUTFORMAT
              Specifies the format for  completed  Ogg/Vorbis,  MP3,  FLAC  or
              Ogg/Speex  filenames.   Variables  are  included  using standard
              shell syntax. Allowed variables are  GENRE,  ALBUMFILE,  ARTIST-
              FILE,   TRACKFILE,   and   TRACKNUM.   Default   is   ${ARTIST-
              FILE}/${TRACKFILE}.${OUTPUTTYPE}.   Make  sure  to  use  single
              quotes  around  this  variable.  TRACKNUM is automatically zero-
              padded.

       OUTPUTTYPE
              Specifies the encoding(3,n) format to output, as well as the  default
              extension  and  encoder.  Defaults  to "ogg". Valid settings are
              "ogg" (Ogg/Vorbis), "mp3" (MPEG-1 Audio Layer 3),  "flac"  (Free
              Lossless   Audio  Codec)  and  "spx"  (Ogg/Speex).  Values  like
              "ogg,mp3" encode the tracks in(1,8) both Ogg/Vorbis and MP3  formats.

       For  each  value  in(1,8)  OUTPUTTYPE, abcde expands a different process for
       encoding(3,n), tagging and moving, so you can use  the  format  placeholder,
       OUTPUT, to create different subdirectories to hold the different types.
       The variable OUTPUT will be 'ogg', 'mp3', 'flac' and/or 'spx',  depend-
       ing on the OUTPUTTYPE you define.  For example

       OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACK-
       NUM}._${TRACKFILE}'

       VAOUTPUTFORMAT
              Just like OUTPUTFORMAT but for Various Artists discs. Default is
              whatever OUTPUTFORMAT is set(7,n,1 builtins) to.

       PATHNAMES
              The  following  configuration file(1,n) options specify the pathnames
              of their respective  utilities:  LAME,  GOGO,  BLADEENC,  L3ENC,
              XINGMP3ENC, MP3ENC, VORBIZE, OGGENC, FLAC, SPEECENC, ID3, ID3V2,
              CDPARANOIA, CDDA2WAV, HTTPGET, CDDISCID, CDDBTOOL,  EJECT,  NOR-
              MALIZE, DISTMP3, VORBISCOMMENT, and CDSPEED.

       COMMAND-LINE OPTIONS
              If  you  wish to specify command-line options to any of the pro-
              grams abcde uses, set(7,n,1 builtins) the following configuration file(1,n)  options:
              LAMEOPTS,  GOGOOPTS,  BLADEENCOPTS,  L3ENCOPTS,  XINGMP3ENCOPTS,
              MP3ENCOPTS,  VORBIZEOPTS,   OGGENCOPTS,   FLACOPTS,   SPEEXOPTS,
              ID3OPTS,  ID3V2OPTS,  CDPARANOIAOPTS, CDDA2WAVOPTS, HTTPGETOPTS,
              CDDBTOOLOPTS,     EJECTOPTS,     DISTMP3OPTS,     NORMALIZEOPTS,
              CDSPEEDOPTS, and CDSPEEDVALUE.

       CDROM  If  set(7,n,1 builtins), it points to the CD-Rom device which has to be used for
              audio extraction. Abcde tries to guess the right device, but  it
              may fail.

       MAXPROCS
              Defines  how  many  encoders to run at once. This makes for huge
              speedups on SMP systems. You should run one encoder per  CPU  at
              once  for  maximum  efficiency,  although more doesn't hurt very
              much. Set it "0" when using mp3dist to  avoid  getting  encoding(3,n)
              processes in(1,8) the local host.

       LOWDISK
              If set(7,n,1 builtins) to y, conserves disk space by encoding(3,n) tracks immediately
              after reading them. This is  substantially  slower  than  normal
              operation but requires several hundred MB less(1,3) space to complete
              the encoding(3,n) of an entire CD. Use only if(3,n) your system is low  on
              space and cannot encode as quickly as it can read.

       BATCH  If  set(7,n,1 builtins)  to y, enables batch mode normalization, which preserves
              relative volume differences between tracks  of  an  album.  Also
              enables nogap encoding(3,n) when using the lame encoder.

       KEEPWAVS
              It defaults to no, so if(3,n) you want to keep those wavs ripped from
              your CD, set(7,n,1 builtins) it to "y". You can use the "-k" switch(1,n) in(1,8) the  com-
              mand  line.  The default behaviour with KEEPWAVS set(7,n,1 builtins) is the keep
              the  temporary  directory  and  the  wav  files  even  you  have
              requested the "clean" action.

       PADTRACKS
              If  set(7,n,1 builtins)  to  "y",  it adds 0's to the file(1,n) numbers to complete a
              two-number holder. Usefull when encoding(3,n) tracks 1-9.

       PLAYLISTFORMAT
              Specifies the format for  completed  playlist  filenames.  Works
              like   the   OUTPUTFORMAT  configuration  variable.  Default  is
              ${ARTISTFILE}_-_${ALBUMFILE}.m3u.  Make  sure  to  use  single
              quotes around this variable.

       PLAYLISTDATAPREFIX
              Specifies  a  prefix for filenames within a playlist. Useful for
              http playlists, etc.

       COMMENT
              Specifies a comment to embed in(1,8) the ID3 or Ogg comment field  of
              each  finished  track. Can be up to 28 characters long. Supports
              the same syntax as  OUTPUTFORMAT.  Does  not  currently  support
              ID3v2.

       REMOTEHOSTS
              Specifies  a  comma-delimited  list of systems to use for remote
              encoding(3,n) using distmp3. Equivalent to -r.

       mungefilename
              mungefilename() is an abcde shell function that can be  overrid-
              den  via  abcde.conf.  It  takes CDDB data as $1 and outputs the
              resulting filename on stdout.  It  defaults  to  eating  control
              characters,  apostrophes  and question marks, translating spaces
              and forward slashes to underscores, and translating colons to an
              underscore and a hyphen.
              If  you modify this function, it is probably a good idea to keep
              the forward slash munging (UNIX cannot store a file(1,n) with  a  '/'
              char in(1,8) it) as well as the control character munging (NULs can't
              be in(1,8) a filename either, and newlines and such in(1,8) filenames  are
              typically not desirable).

       EJECTCD
              If  set(7,n,1 builtins) to "y", abcde will call eject(1) to eject the cdrom from
              the drive after all tracks have been read.

BACKEND TOOLS
       abcde requires the following backend tools to work:

       *      An Ogg/Vorbis, MP3, FLAC or Ogg/Speex encoder (oggenc,  vorbize,
              lame, gogo, bladeenc, l3enc, mp3enc, flac, speexenc)

       *      An audio CD reading utility (cdparanoia, cdda2wav, dagrab)

       *      cd-discid, a CDDB DiscID reading program.

       *      An HTTP retrieval program: wget, fetch (FreeBSD) or curl (Mac OS
              X, among others).

       *      (for MP3s) id3 or id3v2, id3 v1 and v2 tagging programs.

       *      (optional) distmp3, a client/server for distributed  mp3  encod-
              ing.

       *      (optional) normalize, a WAV file(1,n) volume normalizer.

SEE ALSO
       cdparanoia(1),  cdda2wav(1),  dagrab(1),  normalize(1), oggenc(1), vor-
       bize(1), flac(1), speexenc(1), id3(1), wget(1), fetch(1), cd-discid(1),
       distmp3(1), distmp3host(1), curl(1)

AUTHOR
       Robert  Woodcock  <rcw@debian.org> Jesus Climent <jesus.climent@hispal-
       inux.es>



                                                                      ABCDE(1)

References for this manual (incoming links)