A. Dunno. You must ask the guys who created and defined the format. The
standard is MPEGplus (MPP/MP+) but the files use .mpc extension.
+Q. I want the new *put the newest and coolest codec there* format to be
+ supported by abcde. Abcde is so cool but i want to encode also to this
+ new format...
+A. Patches are welcome! ;)
+ No, seriously, if the format is usable, available for Linux and open
+ source/free software, it should be fairly easy to integrate. Support for
+ AAC (m4p) should be the next one to be introduced.
+
OBSOLETE
--------
Q. I set KEEPWAVS to "y" but abcde insists on erasing my directory, along
-No serious ones ;)
+* If the some info contains a * (star) the directory creation fails. Being addressed
=====
abcde is a frontend command-line utility (actually, a shell script) that
-grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC or Ogg/Speex
-format, and tags them, all in one go.
+grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or
+MPP/MP+(Musepack) format, and tags them, all in one go.
-Your finished Ogg/MP3/FLAC/Speex's are, by default, stored in a subdirectory of
-the current directory (named after the artist) with a filename based on the
+Your finished Ogg/MP3/FLAC/Speex/MPP's are, by default, stored in a subdirectory
+of the current directory (named after the artist) with a filename based on the
track title. Spaces are replaced by underscores, and apostrophes and
control codes are filtered out. Colons are replaced with an underscore and a
hyphen. The end result usually looks like: Our_Lady_Peace/01.Supermans_Dead.ogg
encoding - to optimize for disk conservation, use -l.
abcde can also take advantage of SMP systems, just like make. Try
-'abcde -j 2' - it'll run two encoder jobs while it rips the next
-track.
+'abcde -j 2' - it'll run two encoder jobs while it rips the next track.
abcde now uses FreeDB by default. To use a different FreeDB mirror or
another CDDB service, change the CDDBURL option in your abcde.conf.
You can get a trial version of mp3enc at:
http://www.iis.fhg.de/amm/download/ or:
* FLAC encoder (flac) or:
-* Ogg/Speex encoder (speexenc)
+* Ogg/Speex encoder (speexenc) or:
+* MPP/MP+(Musepack) encoder (mppenc)
* normalize for volume normalization.
* CD Paranoia, an audio CD reading utility,
* Or cdda2wav, the audio CD reading utility cdparanoia was born from,
TODO:
----
+* Get the echo instances to behave consistently
+
* move the wav files to a different dir if the user wants to keep the tracks
* read the TOC and CDTEXT files and store them
* read the complete CD to a single file, storing TOC seems a good idea to
# Copyright for this work is to expire January 1, 2010, after which it
# shall be public domain.
-VERSION=2.1.20-2.2pre2
+VERSION=2.2pre2
usage ()
{
echo "-n No lookup. Don't query CDDB, just create and use template"
echo "-N Noninteractive. Never prompt for anything"
echo "-m Modify playlist to include CRLF endings, to comply with some players"
-echo "-o Output file type(s) (ogg,mp3,flac,spx). Defaults to ogg"
+echo "-o Output file type(s) (ogg,mp3,flac,spx,mpc). Defaults to ogg"
echo "-p Pad track numbers with 0's (if less than 10 tracks)"
echo "-r [host1,host2...] Also encode on these remote hosts"
echo "-s Start the track numbering at a given number"
# errors, so I have not tried it myself.
## FIXME ## Needs some cleanup to determine if an empty tag sent
## FIXME ## to the encoder ends up empty.
- run_command encodetrack-$OUTPUT-$1 nice $ENCNICE $MPPENCODER $MPPENCOPTS --artist "$TRACKARTIST" --album "$DALBUM" --title "$TRACKNAME" --track "$1" --genre "$CDGENRE" --year "$CDYEAR" --comment "$COMMENT" "$IN" "$OUT"
+ run_command encodetrack-$OUTPUT-$1 nice $ENCNICE $MPPENCODER $MPPENCODEROPTS --artist "$TRACKARTIST" --album "$DALBUM" --title "$TRACKNAME" --track "$1" --genre "$CDGENRE" --year "$CDYEAR" --comment "$COMMENT" "$IN" "$OUT"
;;
esac
done
{
# Query the CD to get the track info, unless the user specified -C
if [ -z "$DISCID" ]; then
- echo -n "Getting CD track info... "
+ vecho -n "Getting CD track info... "
TRACKINFO=$($CDDISCID $CDROM)
# Make sure there's a CD in there by checking cd-discid's return code
if [ "$?" = "1" ]; then
done
[ x"$USELOCALRESP" = "x" ] && USELOCALRESP="y"
else
- echo "y">&2
+ echo "y" >&2
fi
if [ "$USELOCALRESP" = "y" ]; then
#echo "Using local copy of CDDB data"
fi
else
# We need some code to show the selected option when local repository is selected and we have found a match
- vecho "Using cached CDDB match..."
+ vecho "Using cached CDDB match..." >&2
# Display the $ABCDETEMPDIR/cddbchoices file created above
# Pick a pager so that if the tracks overflow the screen the user can still view everything
if [ -r "$ABCDETEMPDIR/cddbchoices" ]; then
exit 1
fi
CDDBDATA="$ABCDETEMPDIR/cddbread.$(checkstatus cddb-choice)"
- echo -n "Edit selected CDDB data? [y/n] ("
+ echo -n "Edit selected CDDB data? [y/n] (" >&2
if [ "$INTERACTIVE" = "y" ]; then
if [ "$UNKNOWNDISK" = "y" ]; then
echo -n "y): " >&2
FLACOPTS=
# speex
SPEEXENCOPTS=
+# mpc
+MPPENCOPTS=
ID3OPTS=
ID3V2OPTS=
# Custom filename munging:
mungefilename ()
{
- echo "$@" | sed s,:,\ -,g | tr \ / __ | tr -d \'\"\?\[:cntrl:\]
+ echo "$@" | sed s,:,\ -,g | sed 's,*,-,g' | tr \ / __ | tr -d \'\"\?\[:cntrl:\]
}
# pre_read
"abcde 1-5 7 9" will process tracks 1, 2, 3, 4, 5, 7, and 9.
.SH OUTPUT
Each track is, by default, placed in a separate file named after the track
-in a subdirectory named after the artist under the current directory. Each
-file is given an extension identifying its compression format, '.ogg',
-\'.mp3', '.flac', '.spx', or '.mpc'.
+in a subdirectory named after the artist under the current directory.
This can be modified using the OUTPUTFORMAT and VAOUTPUTFORMAT
-variables in your abcde.conf.
+variables in your abcde.conf. Each file is given an extension identifying
+its compression format, '.ogg', '.mp3', '.flac', '.spx', or '.mpc'.
.SH CONFIGURATION
abcde sources two configuration files on startup - /etc/abcde.conf and
$HOME/.abcde.conf, in that order.
The configuration variables have to be set as follows:
.TP
.B VARIABLE=value
-.TP
Except when "value" needs to be quoted or otherwise interpreted. If other
variables within "value" are to be expanded upon reading the configuration
file, then double quotes should be used. If they are only supposed to be
Variables are included
using standard shell syntax. Allowed variables are GENRE, ALBUMFILE, ARTISTFILE,
TRACKFILE, TRACKNUM, and YEAR. Default is
-\'${ARTISTFILE}/${TRACKFILE}.${OUTPUTTYPE}\'.
+\'${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}-${TRACKFILE}\'.
Make sure to use single quotes around this variable. TRACKNUM is
-automatically zero-padded.
+automatically zero-padded, when the number of encoded tracks is higher than
+9. When lower, you can force with '-p' in the command line.
.TP
.B OUTPUTTYPE
Specifies the encoding 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), "spx" (Ogg/Speex)
+(MPEG-1 Audio Layer III), "flac" (Free Lossless Audio Codec), "spx" (Ogg/Speex)
and "mpc" (MPP/MP+ (Musepack)). Values like "ogg,mp3" encode the tracks in
both Ogg/Vorbis and MP3 formats.
.P
For each value in OUTPUTTYPE, abcde expands a different process for encoding,
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', depending on the OUTPUTTYPE you define.
+be 'ogg', 'mp3', 'flac', 'spx' and/or 'mpc', depending on the OUTPUTTYPE you define.
For example
.P
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}._${TRACKFILE}'
.B PATHNAMES
The following configuration file 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, NORMALIZE, DISTMP3, VORBISCOMMENT, and CDSPEED.
+VORBIZE, OGGENC, FLAC, SPEECENC, MPPENC, ID3, ID3V2, CDPARANOIA, CDDA2WAV,
+HTTPGET, CDDISCID, CDDBTOOL, EJECT, NORMALIZE, DISTMP3, VORBISCOMMENT, and
+CDSPEED.
.TP
.B COMMAND-LINE OPTIONS
If you wish to specify command-line options to any of the programs abcde
uses, set the following configuration file options: LAMEOPTS, GOGOOPTS,
BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS,
-OGGENCOPTS, FLACOPTS, SPEEXOPTS, ID3OPTS, ID3V2OPTS, CDPARANOIAOPTS,
-CDDA2WAVOPTS, HTTPGETOPTS, CDDBTOOLOPTS, EJECTOPTS, DISTMP3OPTS,
-NORMALIZEOPTS, CDSPEEDOPTS, and CDSPEEDVALUE.
+OGGENCOPTS, FLACOPTS, SPEEXENCOPTS, MPPENCOPTS, ID3OPTS, ID3V2OPTS,
+CDPARANOIAOPTS, CDDA2WAVOPTS, HTTPGETOPTS, CDDBTOOLOPTS, EJECTOPTS,
+DISTMP3OPTS, NORMALIZEOPTS, CDSPEEDOPTS, and CDSPEEDVALUE.
.TP
.B CDROM
If set, it points to the CD-Rom device which has to be used for audio
.BR distmp3 (1),
.BR distmp3host (1),
.BR curl(1)
-.SH AUTHOR
+.SH AUTHORS
Robert Woodcock <rcw@debian.org>
Jesus Climent <jesus.climent@hispalinux.es>
#OGGENC=oggenc
#FLAC=flac
#SPEEXENC=speexenc
+#MPPENC=mppenc
+
#ID3=id3
#ID3V2=id3v2
#CDPARANOIA=cdparanoia
# Copyright (C) 1999 Nathaniel Smith <njs@uclink4.berkeley.edu>
# Copyright (C) 1999, 2000, 2001 Robert Woodcock <rcw@debian.org>
-# Copyright (C) 2003 Jesus Climent <jesus.climent@hispalinux.es>
+# Copyright (C) 2003, 2004 Jesus Climent <jesus.climent@hispalinux.es>
# This code is hereby licensed for public consumption under either the
# GNU GPL v2 or greater, or Larry Wall's Artistic License - your choice.
#
abcde (2.1.20-2.2pre2-1) unstable; urgency=low
- * Added support for MPP/MP+(Musepack) encoding. Although I am trying to
+ * Added support for MPP/MP+(Musepack) encoding. Although I am trying to
get 2.2 for Debian Sarge release, mpc seems safe enough to introduce. See
corecodec.org for code.
* Some POSIX shell corrections (making the code more portable). Thanks to
* Small MacOS X fix, allowing directories with "()" to work. Thanks to Evan
Jones.
- On the MacOS X, I still do not know if abcde works correctly. If does
- not, please, drop a note. Or else.
+ not, please, drop a note. Or else.
* DOSPLAYLIST also changes "/" with "\".
* Option "-s <number>" added to modify the numbering from a starting point
(Closes: #95828). Geez! That is low bug number...
work (at least there is no support for them in abcde) (Closes: #112692).
* New "0" choice for "None of the above" has been introduced. If selected, a
template is created and the user encouraged to edit it (Closes: #147683).
+ * New options for when the PLAYLIST already exists: erase, append or keep.
+ * Small bug fixes along the code:
+ - abcde.1 corrections
+ - abcde corrections
+ - abcde.conf additions
- -- Jesus Climent <jesus.climent@hispalinux.es> Mon, 26 Apr 2004 12:19:22 +0000
+ -- Jesus Climent <jesus.climent@hispalinux.es> Sat, 10 Jul 2004 10:42:12 -0300
abcde (2.1.19-1) unstable; urgency=low
Package: abcde
Architecture: all
-Depends: cd-discid, wget, cdparanoia | cdda2wav, vorbis-tools (>= 1.0beta4-1) | lame | flac | bladeenc | speex
+Depends: cd-discid, wget, cdparanoia | cdda2wav, vorbis-tools (>= 1.0beta4-1) | lame | flac | bladeenc | speex
Conflicts: cdgrab
Replaces: cdgrab
Provides: cdgrab
Suggests: eject, distmp3, id3 (>= 0.12), id3v2, normalize
Description: A Better CD Encoder
A frontend program to cdparanoia, wget, cd-discid, id3, and your favorite
- Ogg/Vorbis, MP3, FLAC or Ogg/Speex encoder (defaults to oggenc). Grabs an
- entire CD and converts each track to Ogg/Vorbis, MP3, FLAC or Ogg/Speex,
- then comments or ID3-tags each file, with one command.
+ Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or MPP/MP+(Musepack) encoder (defaults
+ to oggenc). Grabs an entire CD and converts each track to the specified
+ formats and then comments or ID3-tags each file, with one command.
+ .
+ With abcde you can encode several formats with one single command, using a
+ single CD read operation. It also allows you to read and encode while not
+ on the internet, and later query a CDDB server to tag your files.