abcde(1)
π abcde β¨
manual section 1 Β· General Commands Β· part 1 of 3 πΈ
β¨ 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), MP2 format and/or AIFF (Audio Interchange File Format). π
β¨ SYNOPSIS β¨
abcde [options] [tracks]
β¨ DESCRIPTION β¨
okay so normally, grabbing the data off a CD, encoding it, and then tagging or commenting every track is so involved π that's literally why abcde exists. it automates the whole thing and will take an entire CD and convert it into a compressed audio format like 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), MPEG Audio Layer II (MP2) or AIFF (Audio Interchange File Format) format(s). β¨ with one command, it does all of this for you:
- Does a CDDB or Musicbrainz query over the Internet to look up your CD, or uses a locally stored CDDB entry, or reads CD-TEXT from your CD if it's available πΏ
- Downloads the album art that matches your music tracks, with lots of user-configurable options for downloading and post-download alterations, including automated embedding of the album art for some containers πΌοΈ
- Grabs an audio track (or all the audio CD tracks) from your CD π΅
- Normalizes the volume of the individual file (or the album as a single unit) π
- Compresses to Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A, wv (WavPack), Monkey's Audio (ape), Opus format(s), True Audio (tta), MP2 or AIFF (Audio Interchange File Format), all in one CD read π₯
- Adds comments or ID3/ID3v2 tags π·οΈ
- Gives every track an intelligible filename π
- Calculates replaygain values for the individual file (or the album as a single unit) π
- Deletes the intermediate WAV file (or saves it for later use) ποΈ
- Repeats until it's finished π
alternatively, abcde can also grab a CD and turn it into a single FLAC file with an embedded cuesheet. that file can be used later on as a source for other formats, and it'll be treated as if it were the original CD. ngl this is lowkey a compressed backup of your whole CD collection π¦π
β¨ OPTIONS β¨
-1β encodes the whole CD into a single file πΏ the resulting file uses the CD title for tagging. if the result is a flac file with an embedded cuesheet, you can use it as a source for creating other formats. to get a file like that, use"-1 -o flac -a default,cue"π-a [actions]β a comma-delimited list of actions to perform π you can pick one or more of:cddb,cue,read,getalbumart,embedalbumart,normalize,encode,tag,move,replaygain,playlist,clean. some actions bring others along for the ride:normalizeandencodeimplyreadtagimpliescddb,read,encodemoveimpliescddb,read,encode,tagreplaygainimpliescddb,read,encode,tagandmoveplaylistimpliescddbembedalbumartimpliesgetalbumart
the default is to do all actions except cue, normalize, replaygain, getalbumart, embedalbumart and playlist πΈ
-bβ enables batch mode normalization π see theBATCHNORMconfiguration variable-Bβ enables automatic embedding of album art with certain containers β¨ as of abcde 2.8.2, the supported containers are:mp3(usingeyeD3)flac(usingmetaflac)m4a(usingAtomicParsley)WavPackakawv(usingwvtag)- experimental support for
ogg(usingvorbiscomment)
this option also calls the getalbumart function. for more on album art embedding with the embedalbumart function, check out the abcde FAQ document that ships with abcde π
-c [filename]β points to an additional configuration file to parse π§ options in this file override the ones in/etc/abcde.confor$HOME/.abcde.conf-C [discid]β lets you resume a session fordiscidwhen you don't have the CD anymore π«Ά (if the CD is still in the drive, abcde resumes automatically). you must have already finished at least the"read"action during the previous session-d [devicename | filename]β the CD-ROM block device that holds the audio tracks to be read πΏ or, alternatively, a single-track flac file with an embedded cuesheet-Dβ captures debugging information π you'll want to redirect this, so try'abcde -D 2>logfile'-eβ erases information about encoded tracks from the internal status file π§Ή this lets you run other encodings if you've kept the wav files-fβ forces removal of the temporaryABCDETEMPDIRdirectory, even when we haven't finished π₯ for example, you could read and encode several formats, including.ogg, and later run amoveaction with only one of them. normally that would erase the rest of the encoded formats, so abcde will refuse to run that command unless you add-fπ«-gβ enables lame's--nogapoption π΅ see theNOGAPvariable.
WARNING: lame's --nogap disables the Xing mp3 tag. that tag is required for mp3 players to correctly display track lengths when playing variable-bit-rate mp3 files. β οΈ
-Gβ downloads album art using thegetalbumartfunction πΌοΈ this works best withCDDBMETHODincludingmusicbrainz, and it requires glyrc to be installed. ImageMagick is optional but highly recommended π more details are in the abcde FAQ document that ships with abcde-hβ gets help information π-j [number]β starts[number]encoder processes at once π this is useful for SMP systems. it overrides theMAXPROCSconfiguration variable. set it to"0"when using distmp3 so you don't get local encoding processes-kβ keeps the wav files after encoding πΎ-lβ uses the low-diskspace algorithm π«§ see theLOWDISKconfiguration variable-Lβ uses a local CDDB repository π see theCDDBLOCALDIRvariable-mβ creates DOS-style playlists, adding CRLF line endings to the result π some hardware players insist on having those to work π-nβ doesn't query the CDDB database π instead, it creates and uses a template. edit the template to add song names, artist(s), and so on-Nβ non-interactive mode π€ abcde won't ask you anything, it just goes ahead-o [filetype][:filetypeoptions]β selects the output type π it can be"vorbis"(or"ogg"),"mp3","flac","spx","mpc","m4a","wav","wv","ape","opus","mka"or"aiff". give a comma-delimited list of output types to get all of them at once π see theOUTPUTTYPEconfiguration variable. you can pass options to the encoder for a specific filetype on the command line by separating them with a colon, and those options must be escaped with double-quotes-pβ pads track numbers with 0's π’-Pβ uses Unix PIPES to read and encode in one step (USEPIPES) π this disables multiple encodings, since the WAV audio file is never stored on the disc. for more detail, check the FAQ document in the source tarball-r [hosts...]β remote encodes on this comma-delimited list of machines using distmp3 π°οΈ see theREMOTEHOSTSconfiguration variable-s [fields...]β lists, separated by commas, the fields to show in the CDDB parsed entries ποΈ right now it only uses"year"and"genre"-S [speed]β sets the speed of the CD drive ποΈ this needsCDSPEEDandCDSPEEDOPTSset properly, and both the program and the device have to support the capability-t [number]β starts numbering the tracks at a given number π’ it only affects the filenames and the playlist. the internal (tag) numbering stays the same-T [number]β same as-t, but it also changes the internal (tag) numbering π·οΈ keep in mind that the defaultTRACKtag for MP3 is$T/$TRACKS, so it gets changed to simply$T-Uβ setsCDDBPROTOto version 5 π this way we retrieve ISO-8859-15 encoded CDDB information, and we tag and add comments with Latin1 encoding-vβ shows the version and exits π§Ύ-Vβ be more verbose π’ on slow networks, CDDB requests might make it seem like nothing is happening. add this option more than once to get even more verbose output-xβ ejects the CD when all tracks have been read βοΈ see theEJECTCDconfiguration variable-X [cue2discid]β uses an alternative "cue2discid" implementation π the name of the binary has to be exactly that. abcde comes with a python implementation under the examples directory. the special keyword"builtin"forces the internal (default) shell script implementation π-w [comment]β adds a comment to the tracks ripped from the CD π¬ if you want to use parentheses, you have to escape them, so write"\("instead of"("-W [number]β concatenates CDs πΏπΏ it uses the number you give to define a comment"CD #"and to modify the track numbering, starting with"#01". for Ogg/Vorbis and FLAC files, it also defines aDISCNUMBERtag π-zβ DEBUG mode π§ͺ it rips the very first second of each track using cdparanoia and proceeds with the requested actions super quickly, and it also shows some "hidden" information about what's happening in the background.
CAUTION: IT WILL ERASE ANY EXISTING RIPS WITHOUT WARNING! ππ¨
[tracks]β a list of tracks you want abcde to process πΆ if you don't specify this, abcde processes the entire CD. ranges work too:"abcde 1-5 7 9"will process tracks 1, 2, 3, 4, 5, 7, and 9 π¦
Okay so the only rule for setting these is VARIABLE=value π, and you only need extra care when the value needs to be quoted or otherwise interpreted π.
If other variables inside the value should get expanded when the config file is read, wrap it in "double quotes". If they should only get expanded when they're actually used (like OUTPUTFORMAT), then 'single quotes' must be used π.
All shell escaping/quoting rules apply. π
Here's the list of options abcde recognizes, bestie π¦:
CDDBMETHODβ the methods abcde uses to grab track info β¨. Three values are recognized:"cddb","musicbrainz"and"cdtext". Put every method you want in a comma-delimited list and abcde will try them all, handing you back a list of every search result π₯."cddb"needs the CDDBURL and HELLOINFO variables (described below)."musicbrainz"uses the Perl helper scriptabcde-musicbrainz-toolto chat with the Musicbrainz server for info πΆ."cdtext"needsicedaxorcdda2wavinstalled.CDDBURLβ the server used for CDDB lookups π.CDDBPROTOβ the protocol version used when retrieving CDDB results π§. Version 6 pulls CDDB entries inUTF-8format.HELLOINFOβ the Hello info sent to the CDDB server π. CDDB wants a valid username and hostname every single time you connect, formatted asusername@hostname.CDDBLOCALDIRβ a directory where you keep a local CDDB repository π. The entries must be standard CDDB entries, with the filename being theDISCIDvalue. Other CD playing and ripping programs (like Grip) store their entries under~/.cddb, and abcde can make use of those too π«Ά.CDDBLOCALRECURSIVEβ whetherCDDBLOCALDIRgets searched recursively when hunting for a match π. If a match is found and selected, andCDDBCOPYLOCALis selected, it gets copied to the root ofCDDBLOCALDIRifCDDBLOCALPOLICYis"modified"or"new". The default"y"is needed for the local CDDB search to work.CDDBLOCALPOLICYβ decides when a CDDB entry gets stored inCDDBLOCALDIRπ. The possible policies are:"net"β an entry received from the net, overwriting any possible local CDDB entry."new"β an entry received from the net, but it'll ask for confirmation before overwriting a local CDDB entry found in the root ofCDDBLOCALDIR."modified"β an entry found in the local repository that you've modified yourself βοΈ."always"β forces the entry to be stored back in the root ofCDDBLOCALDIRno matter where it was found, and no matter whether it was edited. This one will always overwrite whatever's in the root of the local repository (if anything's there). STILL NOT WORKING!! π
CDDBCOPYLOCALβ stores local copies of the CDDB entries under the$CDDBLOCALDIRdirectory πΎ.CDDBUSELOCALβ actually uses the stored copies of the CDDB entries π. It can be overridden with the"-L"flag (ifCDDBUSELOCALis"n"). If an entry is found, abcde always gives you the choice of retrieving a CDDB entry from the internet too.SHOWCDDBFIELDSβ a comma-separated list of the fields you want parsed during CDDB parsing π§Ύ. Defaults to"year,genre".OGGENCODERSYNTAXβ the encoder style for Ogg/Vorbis π§. Valid options areoggenc(the default for Ogg/Vorbis) andvorbize. This changes the default location of the binary, the variable abcde picks encoder command-line options from, and where those options are given.MP3ENCODERSYNTAXβ the encoder style for MP3 π΅. Valid options arelame(the default for MP3),gogo,bladeenc,l3encandmp3enc. It affects things the same way as explained above for Ogg/Vorbis.FLACENCODERSYNTAXβ the encoder style for FLAC πΌ. Right now onlyflacis available for FLAC encoding.MP2ENCODERSYNTAXβ the encoder style for MPEG-1 Audio Layer II (MP2) ποΈ. Bothtwolameandffmpegare available for MP2 encoding.SPEEXENCODERSYNTAXβ the encoder style for Speex π. Right now onlyspeexencis available for Ogg/Speex encoding.MPCENCODERSYNTAXβ the encoder style for MPP/MP+ (Musepack) π. We only havempcencavailable, from musepack.net.AACENCODERSYNTAXβ the encoder style for M4A (AAC) π. We supportfdkaacas thedefault, plus FFmpeg or avconv, neroAacEnc, qaac and fhgaacenc. If qaac, refalac or FFmpeg / avconv are used, you can also generate Apple Lossless Audio Codec (alac) files π. Note that qaac, refalac and fhgaacenc are Windows applications which require Wine to be installed.
qaac, refalac and fhgaacenc are Windows apps, so they need Wine installed to run π.
TTAENCODERSYNTAXβ the encoder style for True Audio (tts) encoding π. We supportttaas the default, but the olderttaenccan be used too.WVENCODERSYNTAXβ the encoder style for WavPack π¦. We supportwavpackas thedefault, butffmpegis the other option. (This is for FFmpeg only, since avconv doesn't have a native WavPack encoder.)APENCODERSYNTAXβ the encoder style for Monkey's Audio (ape) π. We supportmac, Monkey's Audio Console, as thedefault.OPUSENCODERSYNTAXβ the encoder style for Opus π«§. Right now onlyopusencis available for Opus encoding.MKAENCODERSYNTAXβ the encoder style for the Matroska or mka container π¦. Right now onlyffmpegis available to utilise the mka container. Safe audio codecs for mka include Vorbis, MP2, MP3, LC-AAC, HE-AAC, WMAv1, WMAv2, AC3, eAC3 and Opus. See the FAQ document for more information π.AIFFENCODERSYNTAXβ the encoder style for Audio Interchange File Format (AIFF) πΉ. Right now onlyffmpegis available to utilise the AIFF container.NORMALIZERSYNTAXβ the normalizer style π. Valid options aredefaultandnormalize(both runnormalize-audio), since that's the only one we support, ATM.CDROMREADERSYNTAXβ the cdrom reader style πΏ. Valid options arecdparanoia,libcdio,debugandflac. It's used for querying the CDROM to get a list of valid tracks and DATA tracks. The specialflaccase is used to "rip" CD tracks from a single-track flac file.CUEREADERSYNTAXβ the syntax of the program used to read the CD CUE sheet π. Right now we only supportmkcue, but other readers might be used in the future.KEEPWAVSβ defaults to no π , so if you want to keep the wavs ripped from your CD, set it to"y". You can use the"-k"switch on the command line. With KEEPWAVS set, the default behaviour is to keep the temporary directory and the wav files, even if you've requested the"clean"action π§Ή.PADTRACKSβ if set to"y", it adds 0's to the file numbers to complete a two-number holder π’. Super useful when encoding tracks 1-9.INTERACTIVEβ set this to"n"if you want automatic rips with zero user intervention π€.
β¨ NICE VALUES β¨
Defines the priorities (nice values) for the different CPU-hungry processes π₯: encoding (ENCNICE), CDROM read (READNICE) and distributed encoder with distmp3 (DISTMP3NICE).
β¨ PATHNAMES β¨
The following configuration file options specify the pathnames of their respective utilities ποΈ:
LAME, GOGO, BLADEENC, L3ENC, XINGMP3ENC, MP3ENC, VORBIZE, OGGENC, FLAC, SPEEXENC, MPCENC, WAVEPACK, APENC, OPUSENC, ID3, EYED3, METAFLAC, CDPARANOIA, CD_PARANOIA, CDDA2WAV, PIRD, CDDAFS, CDDISCID, CDDBTOOL, EJECT, MD5SUM, DISTMP3, VORBISCOMMENT, NORMALIZE, CDSPEED, MP3GAIN, VORBISGAIN, MPCGAIN, MKCUE, MKTOC, CUE2DISCID (see option "-X"), DIFF, HTTPGET, GLYRC, IDENTIFY, DISPLAYCMD, CONVERT, QAAC, WINE, FHGAACENC, ATOMICPARSLEY, FFMPEG, TWOLAME, MID3V2, TTA and TTAENC.
β¨ COMMAND-LINE OPTIONS β¨
If you wish to pass command-line options to any of the programs abcde uses, 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, CDDAFSOPTS, CDDBTOOLOPTS, EJECTOPTS, DISTMP3OPTS, NORMALIZEOPTS, CDSPEEDOPTS, MKCUEOPTS, VORBISCOMMMENTOPTS, METAFLACOPTS, DIFFOPTS, FLACGAINOPTS, VORBISGAINOPTS, HTTPGETOPTS, GLYRCOPTS, IDENTIFYOPTS, CONVERTOPTS, DISPLAYCMDOPTS, QAACENCOPTS, FHGAACENCOPTS, ATOMICPARSLEYOPTS, FFMPEGENCOPTS, DAGRABOPTS, TWOLAMENCOPTS and TTAENCOPTS.
CDSPEEDVALUEβ sets the CDROM speed ποΈ. The default is to read the disc as fast as the reading program and the system permits. The steps are defined as 150kB/s (1x).ACTIONSβ the default actions to be performed when reading a disc π¬.CDROMβ if set, it points to the CD-Rom device abcde should use for audio extraction πΏ. abcde tries to guess the right device, but it may fail π¬. The specialflacoption is defined to extract tracks from a single-track flac file.CDPARANOIACDROMBUSβ"d"if you're using cdparanoia with an IDE bus, and"g"if you're using cdparanoia with the ide-scsi emulation layer π.OUTPUTDIRβ the directory where completed tracks/playlists get placed πβ¨.WAVOUTPUTDIRβ the temporary directory to store .wav files in ποΈ. abcde may use up to 700MB of temporary space for each session (although it's rare to use over 100MB on a machine that can encode music as fast as it can read it) π«Ά.
π OUTPUTTYPE
Okay so OUTPUTTYPE is the encoding format picker π
It sets the output format, the default extension, and the default encoder. The default is "vorbis". Your options are "vorbis" (or "ogg") for Ogg/Vorbis, "mp3" for MPEG-1 Audio Layer III, "flac" for Free Lossless Audio Codec, "mp2" for MPEG-1 Audio Layer III, "spx" for Ogg/Speex, "mpc" for MPP/MP+ (Musepack), "m4a" for AAC or ALAC, "wv" for WavPack, "wav" for Microsoft Waveform, "opus" for Opus Interactive Audio Codec, "tta" for True Audio, "mka" for Matroska, or "aiff" for Audio Interchange File Format. π§β¨
You can even pick more than one, like "vorbis,mp3", and then every track gets encoded in both Ogg/Vorbis and MP3. Iconic multitasking π₯ For example:
OUTPUTTYPE=vorbis,flac
For each value in OUTPUTTYPE, abcde runs a separate process for encoding, tagging, and moving. So you can use the format placeholder, OUTPUT, to make different subdirectories for each type and keep everything neat ποΈ The variable OUTPUT will be 'vorbis', 'mp3', 'flac', 'spx', 'mpc', 'm4a', mp2, 'wv', 'ape', 'tta', and 'wav'. Example:
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}._${TRACKFILE}'
πΈ OUTPUTFORMAT
This sets the filename format for finished Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+ (Musepack), or M4A files. You write variables with standard shell syntax. The allowed variables are GENRE, ALBUMFILE, ARTISTFILE, TRACKFILE, TRACKNUM, and YEAR. The default is ${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}-${TRACKFILE}.
β οΈ Make sure you wrap this variable in single quotes, bestie!
TRACKNUM gets zero-padded automatically once you're encoding more than 9 tracks. If you want padding when you have fewer tracks than that, use -p on the command line. π
π¦ VAOUTPUTFORMAT
This is just like OUTPUTFORMAT, but it's for Various Artists discs. The default is 'Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'. πΆ
π§ ONETRACKOUTPUTFORMAT
Also just like OUTPUTFORMAT, but for single-track rips (see option -1). The default is '${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'. πΏ
π VAONETRACKOUTPUTFORMAT
Same vibe as ONETRACKOUTPUTFORMAT, but for Various Artists discs. The default is 'Various-${ALBUMFILE}/${ALBUMFILE}'. π
β‘ MAXPROCS
This decides how many encoders run at the same time. It makes for huge speedups on SMP systems π The ideal is one encoder per CPU for maximum efficiency, though going over doesn't hurt much. If you're using mp3dist, set it to "0" so you don't get encoding processes on the local host. π
πΎ LOWDISK
If set to y, this conserves disk space by encoding each track right after reading it. It's way slower than normal, but it needs several hundred MB less space to finish encoding a whole CD. Only use it if your system is low on space and can't encode as fast as it reads π’
Also, this option might help when you're reading a CD with errors. On a scratchy disk, reading is super timing-sensitive, and this option cuts down the background load on the system, so the ripping program has more precise control π―
π BATCHNORM
If set to y, this turns on batch mode normalization, which keeps the relative volume differences between tracks on an album. It also turns on nogap encoding when you're using the lame encoder. π
π NOGAP
This activates lame's --nogap option, which lets files from CDs with no silence between songs (like live concerts) get encoded without noticeable gaps. π€
π¨ WARNING, bestie: lame's --nogap disables the Xing mp3 tag. That tag is required so mp3 players can correctly display track lengths when they're playing variable-bit-rate mp3 files. Not cute π
π» PLAYLISTFORMAT
This sets the filename format for finished playlists. It works like the OUTPUTFORMAT configuration variable. The default is ${ARTISTFILE}_-_${ALBUMFILE}.m3u. Make sure to wrap it in single quotes too π
π PLAYLISTDATAPREFIX
This gives a prefix for the filenames inside a playlist. It's handy for http playlists and stuff like that π
π§ DOSPLAYLIST
If this is set, the playlist gets CR-LF line endings, which some hardware-based players need πΌ
π¬ COMMENT
This embeds a comment in the ID3 or Ogg comment field of each finished track. It can be up to 28 characters long, and it supports the same syntax as OUTPUTFORMAT. It doesn't currently support ID3v2, so no ID3v2 for you, sadly π₯²
π°οΈ REMOTEHOSTS
This is a comma-delimited list of systems to use for remote encoding with distmp3. It's the same as -r β¨
π§Ό mungefilename
mungefilename() is an abcde shell function, and you can override it through abcde.conf. It takes CDDB data as $1 and outputs the resulting filename on stdout. By default, it deletes any dots that come before the filename, replaces spaces with underscores, and eats characters that Windows and Linux don't allow π«§
π« If you modify this function, it's a really good idea to keep the forward slash munging, because UNIX can't store a file with a / in its name. Keep the control character munging too, because NULs can't be in a filename, and newlines and similar characters usually aren't wanted in filenames either.
New as of abcde 2.7.3 are the user-definable functions mungetrackname, mungeartistname, and mungealbumname. They all default to mungefilename, and they give you finer-grained control over track names, artist names, and album names for the ultra-fastidious π€π
π΅ mungegenre
mungegenre () is a shell function that modifies the $GENRE variable. By default, it takes $GENRE as $1 and outputs the result to stdout, converting all UPPERCASE characters to lowercase π‘
π pre_read
pre_read () is a shell function that runs before the CDROM is read for the first time during abcde execution. You can use it to close the CDROM tray, set its speed (with setcd or with eject, if you have it), or do other prep stuff π οΈ The default function is empty.
π post_read
post_read () is a shell function that runs after the CDROM is read, and before it's ejected if that applies. You can use it to read a TOC from the CDROM, or to try reading the DATA areas from the CD (if any exist). The default function is empty. π«
π post_encode
post_encode () is a shell function that runs after the encoding process. It's perfect for moving finished files somewhere else, running tests on the completed files, or embedding album art if abcde's built-in embedalbumart function isn't your vibe πΌοΈ The default function is empty.
π EJECTCD
If set to "y", abcde calls eject(1) to eject the cdrom from the drive once every track has been read. It has no effect when CDROM is set to a flac file. βοΈ
π’ EXTRAVERBOSE
If set to "1", some operations that normally stay hidden from the end user become visible, like CDDB queries. This is useful for initial debugging, and if your network or CDDB server is slow π Set it to "2" or higher for even more verbose output. Chatty but in a good way π
β¨ EXAMPLES β¨
Possible ways one can call abcde, bestie:
abcde
Works on most systems π―
abcde -d /dev/cdrom2
Use this if the CDROM you're reading from isn't the standard /dev/cdrom (on GNU/Linux systems) πΏ
abcde -o vorbis,flac
This creates both Ogg/Vorbis and Ogg/FLAC files πΆ
abcde -o vorbis:"-b 192"
This passes "-b 192" to the Ogg/Vorbis encoder, so you don't have to touch the config file π
abcde -o mp3,flac,m4a,wv,ogg -B
abcde creates mp3, flac, m4a, wv, and ogg files. It also picks suitable album art, downloads it, and embeds it into all 5 sets of tracks. Main character energy ππΌοΈ
abcde -W 1
For double+ CD settings: this creates the 1st CD starting with track number 101, and adds a comment "CD 1" to the tracks. The second CD starts at 201, and so on π
abcde -d singletrack.flac -o vorbis:"-q 6"
This extracts the files contained in the singletrack FLAC file using the embedded cuesheet, then encodes the output files to Ogg/Vorbis with a quality setting of 6 π¦
π§ BACKEND TOOLS π§
Okay, so abcde needs these backend tools to work, no cap π«Ά
- An Ogg/Vorbis, MP3, FLAC, Ogg/Speex, MPP/MP+(Musepack), M4A encoder, or Opus encoder. Any of these work:
oggenc,vorbize,lame,gogo,bladeenc,l3enc,mp3enc,flac,speexenc,mpcenc,fdkaac,neroAacEnc,faac,wavpack,opusencπ§ - An audio CD reading utility. Pick from
cdparanoia,icedax,cdda2wav,libcdio(cd-paranoia),pird, ordagrab. If you want to read CD-TEXT information, you'll needicedaxorcdda2wavπ cd-discid, a CDDB DiscID reading program π- An HTTP retrieval program:
wget,fetch(FreeBSD), orcurl(Mac OS X, among others). Or you can useabcde-musicbrainz-tool(which depends on Perl and some Musicbrainz libraries) to retrieve CDDB information about the CD π - (for MP3s)
id3oreyeD3, which are id3 v1 and v2 tagging programs π·οΈ - For Monkey's Audio (ape) tagging, you need Robert Muth's
apetagπ - To retrieve album art, you need the
glyrcpackage, and optionally the ImageMagick package πΌοΈ - (optional)
distmp3, a client/server for distributed mp3 encoding π°οΈ - (optional)
normalize-audio, a WAV file volume normalizer π - (optional) a replaygain file volume modifier:
vorbisgain,metaflac,mp3gain,mpcgain, orwvgainποΈ - (optional)
mkcue, a CD cuesheet extractor π
π SEE ALSO π
Here's where to look for more info, bestie π¦
cdparanoia(1), cd-paranoia(1), icedax(1), cdda2wav(1), twolame(1), mid3v2(1), pird(1), dagrab(1), normalize-audio(1), oggenc(1), vorbize(1), flac(1), speexenc(1), mpcenc(1), faac(1), fdkaac(1), identify(1), display(1), convert(1), wavpack(1), wvgain(1), wvtag(1), id3(1), eyeD3(1), wget(1), fetch(1), cd-discid(1), distmp3(1), distmp3host(1), curl(1), mkcue(1), vorbisgain(1), mp3gain(1)
π§Ύ DATA FORMATS π§Ύ
The CDDB metadata format is used a lot by abcde, both for lookups and internally. It's documented online at http://ftp.freedb.org/pub/freedb/latest/DBFORMAT π
π AUTHORS π
Big thanks to these queens: Robert Woodcock <rcw@debian.org>, Jesus Climent <jesus.climent@hispalinux.es>, Colin Tuckley <colint@debian.org>, Steve McIntyre <93sam@debian.org>, and Andrew Strong <andrew.david.strong@gmail.com>, plus contributions from so many others π«Άπ
That's the whole abcde(1) page, bestie! Thanks for reading with me π¦β¨ Now go rip some CDs and slay π π
π¦ where this page comes from
- alpine 3.24: abcde-doc 2.9.3-r5 Β· GPL-2.0-or-later
- debian bookworm: abcde 2.9.3-1
- debian trixie: abcde 2.9.3-1
- nixos 26.05: abcde 2.9.3
- nixpkgs unstable: abcde 2.9.3
- opensuse-leap 16.0: abcde 2.9.3-bp160.1.10 Β· GPL-2.0-or-later
- ubuntu jammy: abcde 2.9.3-1
- ubuntu noble: abcde 2.9.3-1
- ubuntu resolute: abcde 2.9.3-1build1
- ubuntu stonking: abcde 2.9.3-1build1
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms