MP3CD(1) User Contributed Perl Documentation MP3CD(1)NAMEmp3cd - Burns normalized audio CDs from lists of MP3s/WAVs/Oggs/FLACs
SYNOPSISmp3cd [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.
OPTIONS-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 stage.)
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 files.
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.
--longhelp
Shows the full command line instructions.
DESCRIPTION
This script implements the suggested methods outlined in the Linux MP3
CD Burning mini-HOWTO:
<http://tldp.org/HOWTO/MP3-CD-Burning/>
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'.
PREREQUISITES
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.
http://www.spies.com/Sox/
Requires "normalize" to process the audio.
http://www.cs.columbia.edu/~cvaill/normalize/
Optionally requires "oggdec" to decode Ogg to WAV files.
http://www.gnu.org/directory/audio/ogg/OggEnc.html/
Optionally requires "flac" to decode flac to WAV files.
http://flac.sourceforge.net/
Optionally requires "Config::Simple" Perl module if you want to use the
.mp3cdrc file.
http://search.cpan.org/~sherzodr/Config-Simple/
FILES
~/.mp3cdrc
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
AUTHOR
Kees Cook <kees@outflux.net>
Contributors:
J. Katz (Ogg support)
Alex Rhomberg (XMLPlaylist support)
Kevin C. Krinke (filelist inspiration, and countless many patches)
James Greenhalgh (flac support)
SEE ALSOperl(1), cdrdao(1), sox(1), oggdec(1), flac(1), sox(1), normalize(1).
COPYRIGHT
Copyright (C) 2003-2011 Kees Cook
kees@outflux.net, http://outflux.net/
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
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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.
http://www.gnu.org/copyleft/gpl.html
perl v5.20.2 2015-08-30 MP3CD(1)