Q. Who created abcde? Who develops it nowadays?
A. It was originally created by Robert Woodcook. He decided to give up
- maintaining it at some point in 2002 and Jesus Climent took over. In 2012,
- Colin Tuckley and Steve McIntyre joined in to help. Contact
- jesus.climent@hispalinux.es, colint@debian.org or 93sam@debian.org if you
- have a problem or a suggestion.
+ maintaining it at some point in 2002 and Jesus Climent took
+ over. In 2012, Colin Tuckley and Steve McIntyre joined in to
+ help. During 2015-2016 Andrew Strong helped out. Currently Steve
+ maintains abcde. You can contact Steve directly with comments or
+ suggestions at the following email address: Steve McIntyre
+ <93sam@@debian.org>. Or (and maybe better!) try the abcde-users
+ mailing list: abcde-users@lists.einval.com
1. INSTALLATION
============
Q. How can I install abcde on my system?
-A. To get abcde you can use a pre-packaged version, available for Debian,
- FreeBSD, OpenBSD, NetBSD and others.
- In case you want to install your own release, you need to download the
- source and install the complementary programs (abcde is just a frontend
- and its functionality is provided by other programs).
+A. To get abcde you can use a pre-packaged version, available for
+ Debian, Ubuntu, FreeBSD, OpenBSD, NetBSD and others.
+ In case you want to install your own release, you need to download
+ the source and install the complementary programs (abcde is just a
+ frontend and its functionality is provided by other programs).
abcde needs cd-discid. Grab it from:
http://www.hispalinux.es/~data/files/cd-discid/
Q. I have a problem, and I reported some time ago. Have you solved it already?
A. Maybe. Try downloading the master branch of the development from
- http://git.einval.com/cgi-bin/gitweb.cgi?p=abcde.git
+ https://git.einval.com/cgi-bin/gitweb.cgi?p=abcde.git
Q. When are you going to release a new version?
-A. When it is ready. I keep on having new ideas and adding them to the trunk
- (stored in the URL above), so I dont release until all the ideas are
- finished.
+A. When it is ready. :-) We keep on adding new ideas to the trunk
+ (stored in the URL above) and release periodically when we think
+ it's due.
2. EXECUTION
Q. (Thanks to Amaya) Where are those options and settings defined? Why dont
you include a proper abcde.conf as an example?
-A. I do. It should be installed under /etc/abcde.conf and contains more or
+A. We do. It should be installed under /etc/abcde.conf and contains more or
less all the defaults abcde uses. You can use $(HOME)/.abcde.conf to
override those defaults. More information can be obtained from the man page
which can be consulted using "man abcde".
it.
A. From version 2.2 onwards, abcde includes some checkings with cdparanoia, to
try to get this right.
- (It is not easy to find a data track on a CD. Right now, I can only think
- of getting the track info from CDDB and ask the user for continuing should
- a "data" track name is found. But the solution is far from been optimal.
- For now, if you find a "data" track and you know the number, restart abcde
- specifying the tracks to be encoded, leaving out the data one).
+ (It is not easy to find a data track on a CD. If you find a "data"
+ track and you know the number, restart abcde specifying the tracks
+ to be encoded, leaving out the data one).
Q. I am requested to have "eject" when setting the speed although I do not use
it for anything.
A. Yes. When asked which one you want to select, use "X,Y" where X and Y are
the numbers of the selections you want to find the difference between.
+Q. I get stuck at the screen with multiple CDDB results. How do I exit this
+ screen so I can make my final selection?
+A. abcde tries to use the system's default pager to display these results
+ and thus the actual application used and the method to exit from this
+ application may vary from system to system.
+ Many systems will be using the applications 'more' or 'less' as their
+ pager and the common key to exit this screen is the letter 'q'. If this
+ does not work on your system you should investigate what your system's
+ default pager application is and from there learn the correct method of
+ exiting this screen.
+
Q. I don't like CDDB/FreeDB. How can I use Musicbrainz instead?
A. Set CDDBMETHOD=musicbrainz and try it!
+Q. Some of my CDs are on FreeDB, but others are only on
+ Musicbrainz. It's painful having to switch!
+
+A. Since version 2.9, you can specify multiple lookup methods in
+ CDDBMETHOD, abcde will use all of them, and display all the results
+ for you to choose your favourite. This even includes CD-TEXT. To
+ enable all the options, use
+
+ CDDBMETHOD="musicbrainz,cddb,cdtext" in abcde.conf, or
+
+ "-Q musicbrainz,cddb,cdtext"
+
+ on the command line
4. abcde and Album Art
===================
Q. Can abcde download album art?
-A. As of abcde 2.6.1 it is possible to download a suitable cover
+A. As of abcde 2.7 it is possible to download a suitable cover
image from within abcde that can be used by applications such
as Audacious and vlc to illustrate playback with an album cover.
Many hardware playback devices such as iPODs will also use this
from within an ~/.abcde.conf file. The technique works in 3 possible
ways:
- 1. If CDDBMETHOD is musicbrainz the album art is downloaded from
+ 1. If CDDBMETHOD includes musicbrainz the album art is downloaded from
coverartarchive by MBID (MusicBrainz Identifier)
2. If 1 fails, download is tried from amazon by ASIN (Amazon
Standard Identification Number)
You will need to install your distro's package of glyr, a music
related metadata search engine, and it is strongly advised that
- you use 'musicbrainz' for your cddb lookups. To access the more
+ you use 'musicbrainz' in your cddb lookups. To access the more
advanced features of getalbumart it is also strongly advised that
you install the ImageMagick package of your distro. getalbumart
will work without ImageMagick but functionality will be reduced.
from online by typing in a URL or by typing in the path to a local file.
Q. What if I want my album art embedded?
-A. The philosophy of getalbumart at the moment is to simply place the album
- art in the same location as the encoded files. Perhaps this will change
- one day. In the meantime you can use abcde's post_encode function in
- your ~/.abcde.conf file to embed the album art. Here is an example for
- mp3 embedding using eyeD3:
-
- #----------------------------------------------------------------#
- post_encode ()
- {
- ARTISTFILE="$(mungefilename "$TRACKARTIST")"
- ALBUMFILE="$(mungefilename "$DALBUM")"
-
- if [ "$OUTPUTTYPE" = "mp3" ] && [ "$TAGGER" = "$EYED3" ] ; then
- vecho "Preparing to embed the album art..." >&2
- else
- vecho "Not embedding album art, you need mp3 output and eyeD3 tagging..." >&2
- return 1
- fi
-
- if [ "$VARIOUSARTISTS" = "y" ] ; then
- FINDPATH="$(eval echo "$VAOUTPUTFORMAT")"
- else
- FINDPATH="$(eval echo "$OUTPUTFORMAT")"
- fi
-
- TRIMPATH="$(dirname "$OUTPUTDIR/$FINDPATH")"
- cd "$TRIMPATH"
-
- if [ -e "cover.jpg" ] ; then
- for i in *.mp3
- do
- eyeD3 --add-image cover.jpg:FRONT_COVER "$i"
- done
- mkdir backup && mv cover.jpg backup
- vecho "Your files have had the album art embedded..." >&2
- else
- vecho "No album art found so no image embedded..." >&2
- fi
- }
- #----------------------------------------------------------------#
-
- Variations of the 'for' loop in this example should work for other encoding
- types. For example with flac:
-
- #--------------------
- for i in *.flac
- do
- metaflac --import-picture-from=cover.jpg "$i"
- done
- #--------------------
-
- With other appropriate adjustments to the $OUTPUTTYPE and $TAGGER checks of
- course...
-
+A. As of abcde 2.8.2 it is possible to have the album art automatically
+ embedded in the mp3 container using eyeD3, embedded in the flac container
+ using metaflac, embedded in the m4a container using AtomicParsley,
+ embedded in the wv container using wvtag and embedded into an ogg
+ container using vorbiscomment.
+
+ There are 3 different ways to accomplish this:
+
+ 1. Use the command line '-B' option (this will also call getalbumart)
+ 2. Use the command line '-a embedalbumart' option to add to list of actions
+ 3. Use 'embedalbumart' in the 'ACTIONS' list in ~/.abcde.conf
+
+ Adding newer containers for album art embedding should be fairly straightforward
+ and these will be added when the right combination of available abcde developer
+ time and abcde user interest occurs...
4. FORMATS
=======
Q. What formats can I encode my music to?
-A. As for version 2.2, abcde includes support for MP3, Ogg/Vorbis,
- Ogg/Speex, Flac and MPP/MP+(Musepack). Support for AAC will be added once
- an FLOSS encoder/decoder is working.
+A. As of version 2.8.2 abcde includes support for MP3, Ogg/Vorbis,
+ Ogg/Speex, Flac, MPP/MP+(Musepack), AAC, AIFF (Audio Interchange File Format),
+ Alac, WavPack, TTA (True Type Audio), APE (Monkey's Audio), Opus,
+ AC3 and MP2.
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
and net broadcasters have to pay license fees), some release engineering
groups and release management teams have decided not to provide MP3 encoding
tools.
- These distributions or operative systems have decided to use Ogg/Vorbis as
+ These distributions or operating systems have decided to use Ogg/Vorbis as
the default encoding format, since it contains no (known) patent claims
and they are (supposed to be) completely Free (released under a BSD-like
license).
If you are among those individuals, you might need to add support for MP3
encoding to your system:
- Debian : check http://ftp.nerim.net/debian-marillat to install lame in your
- system. Others prefer bladeenc. Check www.apt-get.org or google.
+ Debian : By default includes LAME support.
RedHat : search on rpmfind.net
FreeBSD: By default includes LAME support.
OpenBSD: Available by specifying you want to install the port with LAME
support, or by just installing it later from the ports tree.
NetBSD : Available in pkgsrc.
- Others : Please, help me here.
+ Others : Please, help us here.
Q. Huh! Why is MPPENCODER (with MPP) and .mpc the extension?
A. Dunno. You must ask the guys who created and defined the format. The
These streams should correctly have the .aac file extension and some
players (such as Audacious) will not even play mpeg-2/ADTS streams when
they are placed in an .m4a container.
- As of version 2.6.1 abcde tests the version of faac being used for mp4v2
+ As of version 2.7 abcde tests the version of faac being used for mp4v2
support and then appropriately places the audio either in .m4a or .aac.
Note that tagging is not possible with mpeg-2/ADTS streams in .aac.
+
+Q. How do I encode to Apple Lossless Audio Codec (alac)?
+A. As of abcde 2.7.1 there are 3 ways to encode to alac: using qaac, refalac
+ or FFmpeg. To use qaac or refalac follow the installation directions here:
+
+ http://www.andrews-corner.org/qaac.html#installation
+
+ and then set your ~/.abcde.conf file as follows:
+
+ AACENCODERSYNTAX=qaac
+ QAAC="$HOME/.wine/drive_c/qaac/qaac.exe"
+ # Or use the Open Source alac encoder with this small hack:
+ # QAAC="$HOME/.wine/drive_c/qaac/refalac.exe"
+ QAACENCOPTS="--alac --threading --verbose"
+ OUTPUTTYPE="m4a"
+
+ To use FFmpeg (or avconv) set your ~/.abcde.conf file as follows:
+
+ AACENCODERSYNTAX=ffmpeg
+ FFMPEG=ffmpeg
+ # Or give the path to avconv instead:
+ # FFMPEG=avconv
+ FFMPEGENCOPTS="-c:a alac"
+ OUTPUTTYPE="m4a"
+
+ And then sit back and enjoy the music :)
+
+Q. Will FFmpeg be used with abcde for any other audio formats?
+A. The plan is to use FFmpeg (or avconv) when FFmpeg has a good quality native
+ encoder available. For example FFmpeg has a low quality native native encoder
+ for Vorbis and AAC which will not be used but a great reverse engineered alac
+ encoder that has been used in abcde. FFmpeg also has a good WavPack encoder
+ that has been added in abcde 2.7.1 which can be added into your ~/.abcde.conf
+ file as follows:
+
+ # WVENCODERSYNTAX=wavpack
+ WVENCODERSYNTAX=ffmpeg
+ # Appropriate PATH:
+ WAVPACK=wavpack
+ FFMPEG=ffmpeg
+ # Appropriate options:
+ FFMPEGENCOPTS="-c:a wavpack -compression_level 6"
+ WAVPACKENCOPTS="-hx3"
+ # Correct output type:
+ OUTPUTTYPE="wv"
+
+ You can see in this example how easy it is to switch from one WavPack encoder to
+ another by changing the comment mark '#' on the WVENCODERSYNTAX line. For mp2
+ encoding with FFmpeg try the following:
+
+ # MP2ENCODERSYNTAX=twolame
+ MP2ENCODERSYNTAX=ffmpeg
+ # Appropriate PATH:
+ TWOLAME=twolame
+ FFMPEG=ffmpeg
+ FFMPEGENCOPTS='-c:a mp2 -b:a 320k'
+ TWOLAMENCOPTS='--bitrate 320'
+ # Correct output type:
+ OUTPUTTYPE="mp2"
+
+ 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:
+
+ MKAENCODERSYNTAX=ffmpeg
+ FFMPEG=ffmpeg
+ FFMPEGENCOPTS="-c:a ac3 -b:a 448k"
+ OUTPUTTYPE="mka"
+
+ Other suitable codecs for this usage are Vorbis, MP2, MP3, LC-AAC, HE-AAC, WMAv1,
+ WMAv2, eAC3 and Opus. There is much more to come in the future for abcde and FFmpeg!
5. USEPIPES
Q. Do all rippers and encoders work with USEPIPES?
A. No :). Keep in mind that every ripper and encoder differs from in each
other in the way they interact with pipes and not all rippers and encoders
- will use or understand the '-o' and '-' options. Currently (May 2015) the
+ will use or understand the '-o' and '-' options. Currently (August 2015) the
following rippers and encoders work:
Rippers: cdparanoia, debug, libcdio, cdda2wav, flac, pird.
Encoders: mp3enc, lame, bladeenc, oggenc, opusenc, flac, speexenc,
- mpcenc, wavpack, faac, neroAacEnc, fdkaac.
+ mpcenc, wavpack, faac, neroAacEnc, fdkaac, qaac, fhgaacenc,
+ ffmpeg, tta, ttaenc.
Q. Can I add a ripper or encoder which is not supported?
A. Sure! If you plan to use a ripper or encoder which is not supported you
take a look at the lines below the one marked with "###USEPIPESSUPPORT###",
the required syntax is reasonably clear.
-6. MISC PROBLEMS
- =============
+6. MISC
+ ====
Q. What happened with normalize?
A. Normalize has changed its name under Debian, which is the GNU/Linux
- distribution for developing abcde (well, is The GNU/Linux Distribution
- i only use, at the moment). Now it is called normalize-audio.
+ distribution for developing abcde (well, is the GNU/Linux Distribution
+ Steve uses, at the moment). Now it is called normalize-audio.
If you are using some other flavour of OS, you need to change the name
of the executable in your abcde.conf file.
A. Try using "-m" when creating the playlists, or setting DOSPLAYLIST as an
option in the config file.
+Q. What is the odd-looking progress indicator when ripping?
+A. cdparanoia is the default ripping program used by abcde on many
+ platforms, and it tries to give information about the ripping
+ quality as it runs. See the cdparanoia(1) man page for more
+ details, or look online at
+ https://www.xiph.org/paranoia/faq.html#progbar
+
OBSOLETE
--------
Q. I set KEEPWAVS to "y" but abcde insists on erasing my directory, along
UPDATE: KEEPWAVS unselects now the clean action.
--
-Jesus Climent <jesus.climent@hispalinux.es>
-Andrew Strong <andrew.david.strong@gmail.com>
+Steve McIntyre <93sam@@debian.org>