Part 2 of 2: AIFF encoding for abcde
authorAndrew Strong <andrew.david.strong@gmail.com>
Fri, 14 Jul 2017 07:09:07 +0000 (17:09 +1000)
committerAndrew Strong <andrew.david.strong@gmail.com>
Fri, 14 Jul 2017 07:09:07 +0000 (17:09 +1000)
Documentations for the new AIFF encoding capabilities of abcde.

FAQ
README
abcde.1
abcde.conf

diff --git a/FAQ b/FAQ
index 64f4185..f7a7d48 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -418,7 +418,7 @@ A. The plan is to use FFmpeg (or avconv) when FFmpeg has a good quality native
    # Correct output type:
    OUTPUTTYPE="mp2"
    
    # Correct output type:
    OUTPUTTYPE="mp2"
    
-   So currently FFmpeg supports: alac, wavpack and mp2. FFmpeg native aac support will
+   Currently FFmpeg supports: alac, wavpack,mp2 and AIFF. FFmpeg native aac support will
    be added when it comes out of 'experimental'. FFmpeg is also used as the default
    encoder for the Matroska or mka container. A typical example, using the FFmpeg
    native ac3 encoder, is:
    be added when it comes out of 'experimental'. FFmpeg is also used as the default
    encoder for the Matroska or mka container. A typical example, using the FFmpeg
    native ac3 encoder, is:
diff --git a/README b/README
index ef8d8e7..874aea2 100644 (file)
--- a/README
+++ b/README
@@ -4,10 +4,10 @@ ABCDE
 abcde is a frontend command-line utility (actually, a shell script) that
 grabs tracks off a CD or a singletrack flac file with an embedded cuesheet,
 encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, M4A, Opus, WavPack,
 abcde is a frontend command-line utility (actually, a shell script) that
 grabs tracks off a CD or a singletrack flac file with an embedded cuesheet,
 encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, M4A, Opus, WavPack,
-Monkey's Audio (ape) and/or MPP/MP+(Musepack) format, and tags them, all
-in one go.
+Monkey's Audio (ape), MPP/MP+(Musepack) and/or AIFF format, and tags
+them, all in one go.
 
 
-Your finished Ogg/MP3/FLAC/Speex/M4A/Opus,WavPack/Ape/MPP's are, by default,
+Your finished Ogg/MP3/FLAC/Speex/M4A/Opus,WavPack/Ape/MPP/AIFF'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
 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
diff --git a/abcde.1 b/abcde.1
index 678024d..2e25902 100644 (file)
--- a/abcde.1
+++ b/abcde.1
@@ -1,7 +1,8 @@
 .TH abcde 1
 .SH NAME
 abcde \- Grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, AAC, 
 .TH abcde 1
 .SH NAME
 abcde \- Grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, AAC, 
-WavPack, Monkey's Audio (ape), MPP/MP+(Musepack), True Audio (tta) and/or MP2 format.
+WavPack, Monkey's Audio (ape), MPP/MP+(Musepack), True Audio (tta), MP2 format
+and/or AIFF (Audio Interchange File Format).
 .SH SYNOPSIS
 .B abcde
 .I [options] [tracks]
 .SH SYNOPSIS
 .B abcde
 .I [options] [tracks]
@@ -12,7 +13,8 @@ tagging or commenting it, is very involved.
 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 (MP3), Free Lossless
 Audio Codec (FLAC), Ogg/Speex, MPP/MP+(Musepack), M4A (AAC) wv (WavPack), 
 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 (MP3), Free Lossless
 Audio Codec (FLAC), Ogg/Speex, MPP/MP+(Musepack), M4A (AAC) wv (WavPack), 
-Monkey's Audio (ape), Opus, True Audio (tta) or MPEG Audio Layer II (MP2) format(s).
+Monkey's Audio (ape), Opus, True Audio (tta), MPEG Audio Layer II (MP2)
+or AIFF (Audio Interchange File Format) format(s).
 With one command, it will:
 .TP
 .B *
 With one command, it will:
 .TP
 .B *
@@ -33,7 +35,8 @@ 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), 
 .TP
 .B *
 Compress to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A, wv (WavPack), 
-Monkey's Audio (ape), Opus format(s) True Audio (tta) and/or MP2, all in one CD read
+Monkey's Audio (ape), Opus format(s), True Audio (tta), MP2 or AIFF
+(Audio Interchange File Format) all in one CD read
 .TP
 .B *
 Comment or ID3/ID3v2 tag
 .TP
 .B *
 Comment or ID3/ID3v2 tag
@@ -157,7 +160,7 @@ 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", 
 .TP
 .B \-o [filetype][:filetypeoptions]
 Select output type. Can be "vorbis" (or "ogg"), "mp3", "flac", "spx", "mpc", "m4a", 
-"wav", "wv", "ape", "opus" or "mka".  Specify a comma-delimited list of output types
+"wav", "wv", "ape", "opus", "mka" or "aiff".  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.
 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.
@@ -238,7 +241,7 @@ 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',
 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',
-\(aq.ape', '.opus' or '.mka'.
+\(aq.ape', '.opus', '.mka' or 'aiff'.
 .SH CONFIGURATION
 \fBabcde\fR sources two configuration files on startup - \fI/etc/abcde.conf\fR and
 \fI$HOME/.abcde.conf\fR, in that order.
 .SH CONFIGURATION
 \fBabcde\fR sources two configuration files on startup - \fI/etc/abcde.conf\fR and
 \fI$HOME/.abcde.conf\fR, in that order.
@@ -374,6 +377,10 @@ point only \'ffmpeg\' is available to utilise the mka container. Safe audio code
 for mka include Vorbis, MP2, MP3, LC-AAC, HE-AAC, WMAv1, WMAv2, AC3, eAC3 and Opus.
 See the FAQ document for more information.
 .TP
 for mka include Vorbis, MP2, MP3, LC-AAC, HE-AAC, WMAv1, WMAv2, AC3, eAC3 and Opus.
 See the FAQ document for more information.
 .TP
+.B AIFFENCODERSYNTAX
+Specifies the style of encoder to use for Audio Interchange File Format (AIFF). 
+At this point only \'ffmpeg\' is available to utilise the AIFF container. 
+.TP
 .B NORMALIZERSYNTAX
 Specifies the style of normalizer to use.  Valid options are \'default\'
 and \'normalize'\ (and both run \'normalize-audio\'), since we only support it,
 .B NORMALIZERSYNTAX
 Specifies the style of normalizer to use.  Valid options are \'default\'
 and \'normalize'\ (and both run \'normalize-audio\'), since we only support it,
@@ -419,7 +426,7 @@ TWOLAME, MID3V2, TTA and TTAENC.
 .TP
 .B COMMAND-LINE OPTIONS
 If you wish to specify command-line options to any of the programs \fBabcde\fR uses,
 .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, GOGOOPTS,
+set the following configuration file options: LAMEOPTS, GOGOOPTS, AIFFENCOPTS,
 BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, WAVEPACKENCOPTS, APENCOPTS,
 OGGENCOPTS, FLACOPTS, SPEEXENCOPTS, MPCENCOPTS, FAACENCOPTS, NEROAACENCOPTS, FDKAACENCOPTS, 
 OPUSENCOPTS, ID3OPTS, EYED3OPTS, MP3GAINOPTS, CDPARANOIAOPTS, CDDA2WAVOPTS, PIRDOPTS, 
 BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, WAVEPACKENCOPTS, APENCOPTS,
 OGGENCOPTS, FLACOPTS, SPEEXENCOPTS, MPCENCOPTS, FAACENCOPTS, NEROAACENCOPTS, FDKAACENCOPTS, 
 OPUSENCOPTS, ID3OPTS, EYED3OPTS, MP3GAINOPTS, CDPARANOIAOPTS, CDDA2WAVOPTS, PIRDOPTS, 
@@ -459,16 +466,17 @@ encoder. Defaults to "vorbis". Valid settings are "vorbis" (or "ogg")
 (Ogg/Vorbis), "mp3" (MPEG-1 Audio Layer III), "flac" (Free Lossless Audio
 Codec), "mp2" (MPEG-1 Audio Layer III), "spx" (Ogg/Speex), "mpc" (MPP/MP+ (Musepack),
 "m4a" (AAC or ALAC),"wv" (WavPack"), "wav" (Microsoft Waveform), "opus"
 (Ogg/Vorbis), "mp3" (MPEG-1 Audio Layer III), "flac" (Free Lossless Audio
 Codec), "mp2" (MPEG-1 Audio Layer III), "spx" (Ogg/Speex), "mpc" (MPP/MP+ (Musepack),
 "m4a" (AAC or ALAC),"wv" (WavPack"), "wav" (Microsoft Waveform), "opus"
-(Opus Interactive Audio Codec), "tta" (True Audio) or "mka" (Matroska). Values like
-"vorbis,mp3" encode the tracks in both Ogg/Vorbis and MP3 formats. For example:
+(Opus Interactive Audio Codec), "tta" (True Audio), "mka" (Matroska) or
+"aiff" (Audio Interchange File Format). Values like "vorbis,mp3" encode
+the tracks in both Ogg/Vorbis and MP3 formats. For example:
 .br
 OUTPUTTYPE=vorbis,flac
 .br
 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
 .br
 OUTPUTTYPE=vorbis,flac
 .br
 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', mp2, 'wv', 'ape', 'tta', 'wav'
-and/or 'mka' depending on the OUTPUTTYPE you define. For example
+be 'vorbis', 'mp3', 'flac', 'spx', 'mpc', 'm4a', mp2, 'wv', 'ape', 'tta', 'wav'
+'mka' and/or 'aiff' depending on the OUTPUTTYPE you define. For example
 .br
 OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}._${TRACKFILE}'
 .TP
 .br
 OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}._${TRACKFILE}'
 .TP
index efd536d..e255444 100644 (file)
@@ -70,6 +70,7 @@
 # opusenc - for OPUSENCODERSYNTAX
 # twolame, ffmpeg - for MP2ENCODERSYNTAX
 # tta, ttaenc - for TTAENCODERSYNTAX
 # opusenc - for OPUSENCODERSYNTAX
 # twolame, ffmpeg - for MP2ENCODERSYNTAX
 # tta, ttaenc - for TTAENCODERSYNTAX
+# ffmpeg - for AIFFENCODERSYNTAX
 # default is a valid option for oggenc, lame, flac, speexenc, mpcenc, wavpack,
 # fdkaac, opus, twolame and tta. Currently this affects the default location of the
 # binary, the variable to pick encoder command-line options from, and where
 # default is a valid option for oggenc, lame, flac, speexenc, mpcenc, wavpack,
 # fdkaac, opus, twolame and tta. Currently this affects the default location of the
 # binary, the variable to pick encoder command-line options from, and where
@@ -86,6 +87,7 @@
 #OPUSENCODERSYNTAX=default
 #MP2ENCODERSYNTAX=default
 #TTAENCODERSYNTAX=default
 #OPUSENCODERSYNTAX=default
 #MP2ENCODERSYNTAX=default
 #TTAENCODERSYNTAX=default
+#AIFFENCODERSYNTAX=default
 
 # Specify the syntax of the normalize binary here - so far only 'normalize'
 # is supported.
 
 # Specify the syntax of the normalize binary here - so far only 'normalize'
 # is supported.
 # are from 1000 to 5000.
 #APENCOPTS='-c4000'
 
 # are from 1000 to 5000.
 #APENCOPTS='-c4000'
 
+#AIFF
+# These options needed by FFmpeg for tagging and selection of id3v2 version:
+#  1. '-write_id3v2 1' allows id3v2 tagging while '-write_id3v2 0' disables tagging
+#  2. '-id3v2_version 4' gives version id3v2.4 while '3' gives id3v2.3 
+#AIFFENCOPTS="-write_id3v2 1 -id3v2_version 4"
+
 # M4A/AAC
 # There are now 6 AAC encoders available to abcde, the default being
 # fdkaacenc. Note that the old AACENCOPTS has been rendered obsolete by
 # M4A/AAC
 # There are now 6 AAC encoders available to abcde, the default being
 # fdkaacenc. Note that the old AACENCOPTS has been rendered obsolete by
 # 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:
 # 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", "mka", "spx", "vorbis", "wav", "wv", "ape"
+# "flac", "m4a", "mp3, "mpc", "ogg", "opus", "mka", "spx", "vorbis", "wav", "wv", "ape", "aiff"
 #OUTPUTTYPE=ogg
 
 # Output filename format - change this to reflect your inner desire to
 #OUTPUTTYPE=ogg
 
 # Output filename format - change this to reflect your inner desire to