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). Defaults to vorbis"
+echo " Output file type(s) (vorbis,mp3,flac,spx,mpc,wav,m4a,opus,wv). 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]...>"
mpc)
run_command tagtrack-$OUTPUT-$1 true
;;
+ wv)
+ run_command tagtrack-$OUTPUT-$1 true
+ ;;
aac)
run_command tagtrack-$OUTPUT-$1 true
;;
mpc)
TEMPARG="PIPE_$MPCENCODER"
;;
+ wv)
+ TEMPARG="PIPE_$WVCENCODERSYNTAX"
+ ;;
aac)
TEMPARG="PIPE_$AACENCODERSYNTAX"
;;
# Musepack SV7 which used mppenc....
$RUN_COMMAND nice $EFFECTIVE_NICE $MPCENCODER $MPCENCODEROPTS --artist "$TRACKARTIST" --album "$DALBUM" --title "$TRACKNAME" --track "$1" --genre "$CDGENRE" --year "$CDYEAR" --comment "$COMMENT" "$IN" "$OUT"
;;
+ wv)
+ if [ "$DOTAG" = "y" ]; then
+ # wavpack tagging is done inline using Apev2 tags:
+ $RUN_COMMAND nice $EFFECTIVE_NICE $WVENCODER $WVENCODEROPTS -w Artist="$TRACKARTIST" -w Album="$DALBUM" -w Title="$TRACKNAME" \
+ -w Track="$1" -w Genre="$CDGENRE" -w Year="$CDYEAR" -w Comment="$COMMENT" "$IN" -o "$OUT"
+ else
+ $RUN_COMMAND nice $EFFECTIVE_NICE $WVENCODER $WVENCODEROPTS "$IN" -o "$OUT"
+ fi
+ ;;
aac)
# aac container is only used to catch faac encoded files where faac
# is compiled without mp4 support (with libmp4v2). Andrew.
FLACENCODERSYNTAX=default
SPEEXENCODERSYNTAX=default
MPCENCODERSYNTAX=default
+WVENCODERSYNTAX=default
AACENCODERSYNTAX=default
NORMALIZERSYNTAX=default
CUEREADERSYNTAX=default
SPEEXENC=speexenc
# mpp (Musepack)
MPCENC=mpcenc
+# wv (wavpack)
+WVENC=wavpack
# m4a
AACENC=faac
SPEEXENCOPTS=
# mpc
MPCENCOPTS=
+# wv
+WVENCOPTS=
# m4a
AACENCOPTS=
flac:*) FLACENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
spx:*) SPEEXENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
mpc:*) MPCENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
+ wv:*) WVENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
m4a:*|aac:*) AACENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
esac
done
esac
# If nothing has been specified, use oggenc for oggs and lame for mp3s and flac
-# for flacs and speexenc for speex and mpcenc for mpcs and faac for m4as
+# for flacs and speexenc for speex and mpcenc for mpcs and faac for m4as and
+# wavpack for wvs...
# Getting ready for multiple output changes
for OUTPUT in $(echo $OUTPUTTYPE | tr , \ )
[ "$MPCENCODERSYNTAX" = "default" ] && MPCENCODERSYNTAX=mpcenc
[ "$DOREPLAYGAIN" = "y" ] && NEEDMPPGAIN=y
;;
+ wv)
+ [ "$WVENCODERSYNTAX" = "default" ] && WVENCODERSYNTAX=wavpack
+ [ "$DOTAG" = "y" ]
+ ;;
aac)
[ "$AACENCODERSYNTAX" = "default" ] && AACENCODERSYNTAX=faac
[ "$DOTAG" = "n" ]
MPCENCODER="$MPCENC"
;;
esac
+case "$WVENCODERSYNTAX" in
+ wavpack)
+ WVCENCODEROPTS="${WVENCODEROPTSCLI:-$WVENCOPTS}"
+ WVENCODER="$WVENC"
+ ;;
+esac
case "$AACENCODERSYNTAX" in
faac|neroAacEnc|fdkaac)
AACENCODEROPTS="${AACENCODEROPTSCLI:-$AACENCOPTS}"
PIPEENCODERSVARCHECK="PIPE_$SPEEXENCODER" ;;
mpc)
PIPEENCODERSVARCHECK="PIPE_$MPCENCODER" ;;
+ wv)
+ PIPEENCODERSVARCHECK="PIPE_$WVENCODER" ;;
esac
decho "PIPERIPPERSVARCHECK: $( eval echo "\$$PIPERIPPERSVARCHECK" )"
if [ "$( eval echo "\$$PIPERIPPERSVARCHECK" )" = "$" ] || \
# Make sure a buncha things exist
for X in $CDROMREADER $CDDISCID ${NEEDTAGGER+$TAGGER} $MP3ENCODER \
$OGGENCODER $OPUSENCODER $FLACENCODER $SPEEXENCODER $MPCENCODER \
- $AACENCODER $CDDBTOOL \
+ $AACENCODER $WVENCODER $CDDBTOOL \
${NEEDHTTPGET+$HTTPGET} ${NEEDDISTMP3+$DISTMP3} \
${NEEDCOMMENTER+$VORBISCOMMENT} ${NEEDMETAFLAC+$METAFLAC} \
${NEEDNORMALIZER+$NORMALIZER} ${NEEDEJECT+$EJECT} \
.TH abcde 1
.SH NAME
-abcde \- Grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, AAC and/or MPP/MP+(Musepack) format.
+abcde \- Grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, AAC,
+WavPack 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) or Opus format(s).
+Audio Codec (FLAC), Ogg/Speex, MPP/MP+(Musepack), M4A (AAC) wv (WavPack)
+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 and/or Opus format(s), all in one CD read
+Compress to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A, wv (WavPack)
+and/or Opus format(s), all in one CD read
.TP
.B *
Comment or ID3/ID3v2 tag
.TP
.B \-o [filetype][:filetypeoptions]
Select output type. Can be "vorbis" (or "ogg"), "mp3", "flac", "spx", "mpc",
-"m4a", "wav" or "opus". Specify a comma-delimited list of output types to obtain
+"m4a", "wav", "wv" 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' or '.opus'.
+format, 'vorbis' for '.ogg', '.mp3', '.flac', '.spx', '.mpc', '.wav', 'wv' 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 M4A (AAC) encoder. We support \'faac\'
as \'default\' as well as higher quality audio with neroAacEnc and fdkaac.
.TP
+.B WVENCODERSYNTAX
+Specifies the style of encoder to use for WavPack. We support \'wavpack\'
+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, OPUSENC, ID3, EYED3, METAFLAC,
+VORBIZE, OGGENC, FLAC, SPEEXENC, MPCENC, AACENC, WVENC, 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.
.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, OGGENCOPTS,
+BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, WVENCOPTS, OGGENCOPTS,
FLACOPTS, SPEEXENCOPTS, MPCENCOPTS, AACENCOPTS, OPUSENCOPTS, ID3OPTS, EYED3OPTS,
MP3GAINOPTS, CDPARANOIAOPTS, CDDA2WAVOPTS, PIRDOPTS, CDDAFSOPTS, CDDBTOOLOPTS,
EJECTOPTS, DISTMP3OPTS, NORMALIZEOPTS, CDSPEEDOPTS, MKCUEOPTS, VORBISCOMMMENTOPTS,
encoder. Defaults to "vorbis". Valid settings are "vorbis" (or "ogg")
(Ogg/Vorbis), "mp3" (MPEG-1 Audio Layer III), "flac" (Free Lossless Audio
Codec), "spx" (Ogg/Speex), "mpc" (MPP/MP+ (Musepack)), "m4a" (AAC)),
-"wav" (Microsoft Waveform) or "opus" (Opus Interactive Audio Codec). Values
+"wv" (WavPack", "wav" (Microsoft Waveform) or "opus" (Opus Interactive Audio Codec). Values
like "vorbis,mp3" encode the tracks in both Ogg/Vorbis and MP3 formats. For example
.br
OUTPUTTYPE=vorbis,flac
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' and/or 'wav', depending on the
+be 'vorbis', 'mp3', 'flac', 'spx', 'mpc', 'm4a', 'wv' and/or 'wav', depending on the
OUTPUTTYPE you define. For example
.br
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}._${TRACKFILE}'
.B *
An Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A encoder or Opus encoder
(oggenc, vorbize, lame, gogo, bladeenc, l3enc, mp3enc, flac, speexenc, mpcenc, faac,
-neroAacEnc, fdkaac, opusenc).
+neroAacEnc, fdkaac, wavpack, opusenc).
.TP
.B *
An audio CD reading utility (cdparanoia, icedax, cdda2wav, pird,
.BR mpcenc (1),
.BR faac (1),
.BR fdkaac (1),
+.BR wavpack (1),
.BR id3 (1),
.BR eyeD3 (1),
.BR wget (1),