echo "-n No lookup. Don't query CDDB, just create and use template"
echo "-N Noninteractive. Never prompt for anything"
echo "-o <type1[,type2]...>"
-echo " Output file type(s) (vorbis,mp3,flac,spx,mpc,wav,m4a,opus,wv). Defaults to vorbis"
+echo " Output file type(s) (vorbis,mp3,flac,spx,mpc,wav,m4a,opus,wv,ape). Defaults to vorbis"
echo "-p Pad track numbers with 0's (if less than 10 tracks)"
echo "-P Use UNIX pipes to read+encode without wav files"
echo "-r <host1[,host2]...>"
wv)
run_command tagtrack-$OUTPUT-$1 true
;;
+ ape) # This tagging syntax is suitable for Robert Muth's application 'apetag', the Monkey's Audio
+ # Console port (mac) used for encoding does not have the ability to tag. Andrew.
+ run_command tagtrack-$OUTPUT-$1 nice $ENCNICE "$APETAG" -i "$ABCDETEMPDIR/track$1.ape" -m overwrite \
+ -p artist="$TRACKARTIST" -p album="$DALBUM" -p title="$TRACKNAME" -p track=${TRACKNUM:-$1} \
+ -p year="$CDYEAR" -p genre="$CDGENRE" ${COMMENTOUTPUT:+-p comment="$COMMENTOUTPUT"}
+ ;;
aac)
run_command tagtrack-$OUTPUT-$1 true
;;
wv)
TEMPARG="PIPE_$WVCENCODERSYNTAX"
;;
+ ape)
+ TEMPARG="PIPE_$APENCODERSYNTAX"
+ ;;
aac)
TEMPARG="PIPE_$AACENCODERSYNTAX"
;;
$RUN_COMMAND nice $EFFECTIVE_NICE $WVENCODER $WVENCODEROPTS "$IN" -o "$OUT"
fi
;;
+ ape)
+ $RUN_COMMAND nice $EFFECTIVE_NICE $APENCODER "$IN" "$OUT" $APENCODEROPTS
+ ;;
aac)
# aac container is only used to catch faac encoded files where faac
# is compiled without mp4 support (with libmp4v2). Andrew.
SPEEXENCODERSYNTAX=default
MPCENCODERSYNTAX=default
WVENCODERSYNTAX=default
+APENCODERSYNTAX=default
AACENCODERSYNTAX=default
NORMALIZERSYNTAX=default
CUEREADERSYNTAX=default
MPCENC=mpcenc
# wv (wavpack)
WVENC=wavpack
+# ape
+APENC=mac
+APETAG=apetag
# m4a
AACENC=faac
MPCENCOPTS=
# wv
WVENCOPTS=
+# ape
+# Monkey's Audio Console (mac) chokes without a mode setting
+# so we set one here. Andrew.
+APENCOPTS='-c4000'
# m4a
AACENCOPTS=
spx:*) SPEEXENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
mpc:*) MPCENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
wv:*) WVENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
+ ape:*) APENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
m4a:*|aac:*) AACENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
esac
done
[ "$WVENCODERSYNTAX" = "default" ] && WVENCODERSYNTAX=wavpack
[ "$DOTAG" = "y" ]
;;
+ ape)
+ [ "$APENCODERSYNTAX" = "default" ] && APENCODERSYNTAX=mac
+ [ "$DOTAG" = "y" ]
+ ;;
aac)
[ "$AACENCODERSYNTAX" = "default" ] && AACENCODERSYNTAX=faac
[ "$DOTAG" = "n" ]
WVENCODER="$WVENC"
;;
esac
+case "$APENCODERSYNTAX" in
+ mac)
+ APENCODEROPTS="${APENCODEROPTSCLI:-$APENCOPTS}"
+ APENCODER="$APENC"
+ ;;
+esac
case "$AACENCODERSYNTAX" in
faac|neroAacEnc|fdkaac)
AACENCODEROPTS="${AACENCODEROPTSCLI:-$AACENCOPTS}"
PIPEENCODERSVARCHECK="PIPE_$MPCENCODER" ;;
wv)
PIPEENCODERSVARCHECK="PIPE_$WVENCODER" ;;
+ ape)
+ PIPEENCODERSVARCHECK="PIPE_$APENCODER" ;;
esac
decho "PIPERIPPERSVARCHECK: $( eval echo "\$$PIPERIPPERSVARCHECK" )"
if [ "$( eval echo "\$$PIPERIPPERSVARCHECK" )" = "$" ] || \
.TH abcde 1
.SH NAME
abcde \- Grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, AAC,
-WavPack and/or MPP/MP+(Musepack) format.
+WavPack, Monkey's Audio (ape) and/or MPP/MP+(Musepack) format.
.SH SYNOPSIS
.B abcde
.I [options] [tracks]
.BR abcde
is designed to automate this. It will take an entire CD and convert it into
a compressed audio format - Ogg/Vorbis, MPEG Audio Layer III, Free Lossless
-Audio Codec (FLAC), Ogg/Speex, MPP/MP+(Musepack), M4A (AAC) wv (WavPack)
-or Opus format(s).
+Audio Codec (FLAC), Ogg/Speex, MPP/MP+(Musepack), M4A (AAC) wv (WavPack),
+Monkey's Audio (ape) or Opus format(s).
With one command, it will:
.TP
.B *
Normalize the volume of the individual file (or the album as a single unit)
.TP
.B *
-Compress to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A, wv (WavPack)
-and/or Opus format(s), all in one CD read
+Compress to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A, wv (WavPack),
+Monkey's Audio (ape) and/or Opus format(s), all in one CD read
.TP
.B *
Comment or ID3/ID3v2 tag
Non interactive mode. Do not ask anything from the user. Just go ahead.
.TP
.B \-o [filetype][:filetypeoptions]
-Select output type. Can be "vorbis" (or "ogg"), "mp3", "flac", "spx", "mpc",
-"m4a", "wav", "wv" or "opus". Specify a comma-delimited list of output types to obtain
+Select output type. Can be "vorbis" (or "ogg"), "mp3", "flac", "spx", "mpc", "m4a",
+"wav", "wv", "ape" or "opus". Specify a comma-delimited list of output types to obtain
all specified types. See the OUTPUTTYPE configuration variable. One can pass
options to the encoder for a specific filetype on the command line separating
them with a colon. The options must be escaped with double-quotes.
subdirectory named after the artist under the current directory. This can be
modified using the OUTPUTFORMAT and VAOUTPUTFORMAT variables in your
\fIabcde.conf\fR. Each file is given an extension identifying its compression
-format, 'vorbis' for '.ogg', '.mp3', '.flac', '.spx', '.mpc', '.wav', 'wv' or '.opus'.
+format, 'vorbis' for '.ogg', '.mp3', '.flac', '.spx', '.mpc', '.wav', 'wv', 'ape' or '.opus'.
.SH CONFIGURATION
\fBabcde\fR sources two configuration files on startup - \fI/etc/abcde.conf\fR and
\fI$HOME/.abcde.conf\fR, in that order.
Specifies the style of encoder to use for WavPack. We support \'wavpack\'
as \'default\'.
.TP
+.B APENCODERSYNTAX
+Specifies the style of encoder to use for Monkey's Audio (ape). We support \'mac\',
+Monkey's Audio Console, as \'default\'.
+.TP
.B OPUSENCODERSYNTAX
Specifies the style of encoder to use for the Opus encoder. At this point only
\'opusenc\' is available for Opus encoding.
.B PATHNAMES
The following configuration file options specify the pathnames of their
respective utilities: LAME, TOOLAME, GOGO, BLADEENC, L3ENC, XINGMP3ENC, MP3ENC,
-VORBIZE, OGGENC, FLAC, SPEEXENC, MPCENC, AACENC, WVENC, OPUSENC, ID3, EYED3, METAFLAC,
-CDPARANOIA, CDDA2WAV, PIRD, CDDAFS, CDDISCID, CDDBTOOL, EJECT, MD5SUM, DISTMP3,
+VORBIZE, OGGENC, FLAC, SPEEXENC, MPCENC, AACENC, WVENC, APENC, OPUSENC, ID3, EYED3,
+METAFLAC, CDPARANOIA, CDDA2WAV, PIRD, CDDAFS, CDDISCID, CDDBTOOL, EJECT, MD5SUM, DISTMP3,
VORBISCOMMENT, NORMALIZE, CDSPEED, MP3GAIN, VORBISGAIN, MPPGAIN, MKCUE, MKTOC,
CUE2DISCID (see option "\-X"), DIFF and HTTPGET.
.TP
.B COMMAND-LINE OPTIONS
If you wish to specify command-line options to any of the programs \fBabcde\fR uses,
set the following configuration file options: LAMEOPTS, TOOLAMEOPTS, GOGOOPTS,
-BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, WVENCOPTS, OGGENCOPTS,
-FLACOPTS, SPEEXENCOPTS, MPCENCOPTS, AACENCOPTS, OPUSENCOPTS, ID3OPTS, EYED3OPTS,
+BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, WVENCOPTS, APENCOPTS,
+OGGENCOPTS, FLACOPTS, SPEEXENCOPTS, MPCENCOPTS, AACENCOPTS, OPUSENCOPTS, ID3OPTS, EYED3OPTS,
MP3GAINOPTS, CDPARANOIAOPTS, CDDA2WAVOPTS, PIRDOPTS, CDDAFSOPTS, CDDBTOOLOPTS,
EJECTOPTS, DISTMP3OPTS, NORMALIZEOPTS, CDSPEEDOPTS, MKCUEOPTS, VORBISCOMMMENTOPTS,
METAFLACOPTS, DIFFOPTS, FLACGAINOPTS, VORBISGAINOPTS and HTTPGETOPTS.
For each value in OUTPUTTYPE, \fBabcde\fR 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 'vorbis', 'mp3', 'flac', 'spx', 'mpc', 'm4a', 'wv' and/or 'wav', depending on the
+be 'vorbis', 'mp3', 'flac', 'spx', 'mpc', 'm4a', 'wv', 'ape' and/or 'wav', depending on the
OUTPUTTYPE you define. For example
.br
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}._${TRACKFILE}'
(for MP3s) id3 or eyeD3, id3 v1 and v2 tagging programs.
.TP
.B *
+For Monkey's Audio (ape) tagging Robert Muth's 'apetag' is required.
+.TP
+.B *
(optional) distmp3, a client/server for distributed mp3 encoding.
.TP
.B *
# speexenc - the only encoder for SPEEXENCODERSYNTAX
# mpcenc - encoder for MPCENCODERSYNTAX
# wavpack - encoder for WVENCODER
+# mac - for APENCODER
# faac, neroAacEnc, fdkaac - for AACENCODER
# opusenc - for OPUSENCODER
# default is a valid option for oggenc, lame, flac, speexenc, mpcenc, wavpack, faac and opus.
#SPEEXENCODERSYNTAX=default
#MPCENCODERSYNTAX=default
#WVENCODERSYNTAX=default
+#APENCODERSYNTAX=default
#AACENCODERSYNTAX=default
#OPUSENCODERSYNTAX=default
#SPEEXENC=speexenc
#MPCENC=mpcenc
#WVENC=wavpack
+#APENC=mac
#AACENC=faac
#OPUSENC=opusenc
# for a good quality encode
#WVENCOPTS=
+# Monkey's Audio (ape)
+# Without this set mac chokes unfortunately. Choices
+# are from 1000 to 5000.
+#APENCOPTS='-c3000'
+#APETAG=apetag
+
# M4A/AAC
# For faac options see 'faac --long-help' and consider
# using '-q 250' for a good quality encode.
# OUTPUTTYPE can be any of a number of formats, either a single format
# (e.g. "ogg") or a combination of them separated with ","
# (e.g. "flac,mp3"). Currently recognised and supported are:
-# "flac", "m4a", "mp3, "mpc", "ogg", "opus", "spx", "vorbis", "wav", "wv"
+# "flac", "m4a", "mp3, "mpc", "ogg", "opus", "spx", "vorbis", "wav", "wv", "ape"
#OUTPUTTYPE=ogg
# Output filename format - change this to reflect your inner desire to