Provided by: mp3cd_1.27.0-3_all bug


       mp3cd - Burns normalized audio CDs from lists of MP3s/WAVs/Oggs/FLACs


       mp3cd [OPTIONS] [playlist|files...]

        -s, --stage STAGE  Start at a certain stage of processing:
                               clean   Start fresh (default, requires playlist)
                               build   Does not clean (requires playlist)
                               decode  Turns MP3s/Oggs/FLACs into WAVs
                               correct Fix up any WAV formats
                               norm    Normalizes WAV volumes
                               toc     Builds a Table of Contents from WAVs
                               toc_ok  Checks TOC validity
                               cdr_ok  Checks for a CDR
                               burn    Burns from the TOC
        -q                 Quits after one stage of processing
        -t, --tempdir DIR  Set working dir (default "/tmp/mp3cd-$USER")
        -d, --device PATH  Look for CDR at "PATH" (default "/dev/cdrecorder")
        -r, --driver TYPE  Use CDR driver TYPE (default up to cdrdao)
        -n, --simulate     Don't actually burn a disc but do everything else.
        -E, --no-eject     Don't eject drive after the burn.
        -L, --no-log       Don't redirect output to "tool-output.txt"
        -T, --no-cd-text   Don't attempt to write CD-TEXT tags to the audio CD
        -c, --cdrdao ARGS  Pass the option string ARGS to cdrdao.
        -S, --skip STAGES  Skip the comma-separated list of stages in STAGES.
        -V, --version      Report which version of the script this is.
        -v, --verbose      Shows commands as they are executed.
        -h, --usage        Shows brief usage summary.
            --help         Shows detailed help summary.
            --longhelp     Shows complete help.


       -s STAGE, --stage STAGE
               Starts processing at a given stage. This is used in case you had to stop
               processing, or a file was missing, or things generally blew up. It is especially
               useful if a burn fails because then you don't have to start totally over and re-
               WAV the files. If you just want to perform a single step, use --quit to abort
               after the stage you request with --stage. Also see --skip.

               clean   This is the default starting stage. The temp directory is cleared out.  A
                       playlist is required, since we expect to move to the build stage next,
                       which requires it.

               build   This stage examines the playlist from the command line, and tries to
                       create a list of symlinks from the given playlist. So far, "mp3cd" can
                       understand ".m3u" files, XMLPlaylist files, and lists of files.

               decode  All the files are converted into WAVs. So far, "mp3cd" knows how to decode
                       MP3, Ogg, and FLAC files. (WAVs will be left as they are during this

               correct The WAV files are corrected to have the correct bitrate and number of
                       channels, as required for an audio CD.

               norm    The WAV files' volumes are normalized so any large differences in volume
                       between records will be less noticeable.

               toc     Generates a Table of Contents for the audio CD.

               toc_ok  Validates the TOC, just in case something went really wrong with the WAV

               cdr_ok  Verifies that there is a CDR ready for burning.

               burn    Actually performs the burn of all the WAV files to the waiting CDR.

       -q, --quit
               Aborts after one stage of processing. See --stage.

       -t DIR, --tempdir DIR
               Use a working directory other than "/tmp/mp3cd-username". This is where all the
               file processing occurs. You will generally need at least 650M free here (or more
               depending on the recording length of your destination CD).

       -d PATH, --device PATH
               Use a device path other than "/dev/cdrecorder".

       -r TYPE, --driver TYPE
               Use a CDRDAO driver other than what cdrdao automatically detects. Note that some
               drivers may not support CD-TEXT mode. In this case, try "generic-mmc-raw".

       -c ARGS, --cdrdao ARGS
               Pass the given option string of ARGS to cdrdao during each command.

       -n, --simulate
               Do not actually write to the disc but simulate the process instead.

       -E, --no-eject
               Don't eject drive after the burn.

       -L, --no-log
               Don't redirect output to "tool-output.txt". All information will instead be
               redirected to the terminal via standard output (STDOUT). This will cause a lot of
               low-level detail to be displayed.

       -T, --no-cd-text
               Don't attempt to write CD-TEXT tags to the audio CD. Some devices and drivers do
               not support this mode. See --driver for more details.

       -S STAGES, --skip STAGES
               While processing, skips the stages listed in the comma-separated list of stages
               given in STAGES. This would only be used if you really know what you're doing. For
               example, if the audio is already normalized and you didn't want to burn a CD, you
               could skip the normalizing and burning stages by giving "--skip norm,burn". See
               --stage and --quit.

       -V, --version
               Report which version of mp3cd this is.

       -v, --verbose
               Shows commands as they are executed.

       -h, --usage
               Show brief usage summary.

       --help  Show detailed help summary.

               Shows the full command line instructions.


       This script implements the suggested methods outlined in the Linux MP3 CD Burning mini-

       This will burn a playlist (.m3u, XMLPlaylist or command line list) of MP3s, Oggs, FLACs,
       and/or WAVs to an audio CD. The ".m3u" format is really nothing more than a list of fully
       qualified filenames. The script handles making the WAVs sane by resampling if needed, and
       normalizing the volume across all tracks.

       If a failure happens, earlier stages can be skipped with the '-s' flag.  The file
       "tool-output.txt" in the temp directory can be examined to see what went wrong during the
       stage. Some things are time-consuming (like decoding the audio into WAVs) and if the CD
       burn fails, it's much nicer not to have to start over from scratch. When doing this, you
       will not need the m3u file any more, since the files have already been built. See the list
       of stages using '-h'.


       Requires "cdrdao", and that /dev/cdrecorder is a valid symlink to the /dev/sg device that
       cdrdao will use. Use .cdrdao to edit driver options. (See "man cdrdao" for details.)

       Requires "sox" to decode MP3 and check/correct WAV formats.

       Requires "normalize" to process the audio.

       Optionally requires "oggdec" to decode Ogg to WAV files.

       Optionally requires "flac" to decode flac to WAV files.

       Optionally requires "Config::Simple" Perl module if you want to use the .mp3cdrc file.


               Default options can be recorded in this file. The option names are the same as
               their command line long-name. Command line options will override these values. All
               options are run through perl's eval. For example:
                   tempdir: /scratch/mp3cd/$ENV{'USER'}
                   device: /dev/burner


        Kees Cook <>


        J. Katz (Ogg support)
        Alex Rhomberg (XMLPlaylist support)
        Kevin C. Krinke (filelist inspiration, and countless many patches)
        James Greenhalgh (flac support)


       perl(1), cdrdao(1), sox(1), oggdec(1), flac(1), sox(1), normalize(1).


        Copyright (C) 2003-2011 Kees Cook,

        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 2
        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, write to the Free Software
        Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.