This is a very short how-to without a lot of detail. But the big stuff is covered.
I found a relatively quick and easy way to rip my collection of audio compact discs. It's all command line and practically automated once it's set up.
I'll be using abcde cd encoder to place single file .flac archives with cue sheets in my Music directory.
.flac is a lossless compression format that pefectly recreates the original audio. Cue sheets are text files that tell media players where the tracks are in the file.
The advantage to a single file .flac archive with a cue sheet is that media players can treat it just like multiple files, but there are no breaks between tracks when played continuously. This is helpful when tracks transition smoothly one into the next. Encoders can even break them up later if you want singles.
From the package manager install:
You'll modify the configuration file /home/.abcde.conf .
I will provide a sample .conf file. Once you have it configured the way you like it, just go to console and type abcde -1 and it will just go.
I have alias suggestions at the top of my sample configuration file.
The most important settings to modify are:
To get a single file you have to use the -1 command line switch in terminal. There is no .conf setting that does that.
References:
About abcde: https://abcde.einval.com/wiki/
Sample abcde config file: https://djangocas.dev/blog/rip-audio...mac-and-linux/
About flac compression levels: https://boomspeaker.com/flac-compres...els-explained/
My example .config file that I use
I found a relatively quick and easy way to rip my collection of audio compact discs. It's all command line and practically automated once it's set up.
I'll be using abcde cd encoder to place single file .flac archives with cue sheets in my Music directory.
.flac is a lossless compression format that pefectly recreates the original audio. Cue sheets are text files that tell media players where the tracks are in the file.
The advantage to a single file .flac archive with a cue sheet is that media players can treat it just like multiple files, but there are no breaks between tracks when played continuously. This is helpful when tracks transition smoothly one into the next. Encoders can even break them up later if you want singles.
From the package manager install:
- abcde
- cdparanoia
- eyed3
- flac
- mkcue
- lame
- lyrc
- imagemagick
- time (optional, in case you want to stay aware of how long it takes to rip a disc)
You'll modify the configuration file /home/.abcde.conf .
I will provide a sample .conf file. Once you have it configured the way you like it, just go to console and type abcde -1 and it will just go.
I have alias suggestions at the top of my sample configuration file.
The most important settings to modify are:
- FLACOPTS - takes command line switches
- ACTIONS - command line arguments to the -a switch
- OUTPUTTYPE - the file format you want
- OUTPUTDIR - where to put the files
- INTERACTIVE=n - if you want to choose which metadata to accept, comment this out.
- EJECTCD=y - Tells the program to eject the CD when it's done reading it.
To get a single file you have to use the -1 command line switch in terminal. There is no .conf setting that does that.
References:
About abcde: https://abcde.einval.com/wiki/
Sample abcde config file: https://djangocas.dev/blog/rip-audio...mac-and-linux/
About flac compression levels: https://boomspeaker.com/flac-compres...els-explained/
My example .config file that I use
Code:
# -----------------$HOME/.abcde.conf----------------- #
# Add to .bash_aliases
# call 'time' to measure total run time
# ripcd calls abcde with -1 to rip a CD to a single track.
# ripsongs calls abcde without switches to rip CD into separate songs.
# alias ripcd "time abcde -1"
# alias ripsongs "time abcde"
#
# A sample configuration file to convert music cds to
# FLAC using abcde version 2.9.3
#
# https://andrews-corner.org/abcde/
# -------------------------------------------------- #
# Encode tracks immediately after reading. Saves disk space, gives
# better reading of 'scratchy' disks and better troubleshooting of
# encoding process but slows the operation of abcde quite a bit:
LOWDISK=y
# Specify the method to use to retrieve the track information,
# the alternative is to specify 'musicbrainz':
CDDBMETHOD=cddb
# With the demise of freedb (thanks for the years of service!)
# we move to an alternative:
CDDBURL="http://gnudb.gnudb.org/~cddb/cddb.cgi"
# Make a local cache of cddb entries and then volunteer to use
# these entries when and if they match the cd:
CDDBCOPYLOCAL="y"
CDDBLOCALDIR="$HOME/.cddb"
CDDBLOCALRECURSIVE="y"
CDDBUSELOCAL="y"
# Specify the encoder to use for FLAC. In this case
# flac is the only choice.
FLACENCODERSYNTAX=flac
# Specify the path to the selected encoder. In most cases the encoder
# should be in your $PATH as I illustrate below, otherwise you will
# need to specify the full path. For example: /usr/bin/flac
FLAC=flac
# Specify your required encoding options here. Multiple options can
# be selected as '--best --another-option' etc.
# -s comma delimit fields
# -e Erase information about encoded tracks from the internal status file, to enable other encodings if the wav files have been kept.
# -v verbose
# compression level 5.
FLACOPTS='-s -e -v -5'
# Output type for FLAC.
OUTPUTTYPE="flac"
# The cd ripping program to use. There are a few choices here: cdda2wav,
# dagrab, cddafs (Mac OS X only) and flac. New to abcde 2.7 is 'libcdio'.
# CDROMREADERSYNTAX=cdparanoia
# Give the location of the ripping program and pass any extra options,
# if using libcdio set 'CD_PARANOIA=cd-paranoia'.
# CDPARANOIA=cdparanoia
# CDPARANOIAOPTS="--never-skip=40"
# Give the location of the CD identification program:
CDDISCID=cd-discid
# Give the base location here for the encoded music files.
OUTPUTDIR="$HOME/Music"
# The default actions that abcde will take.
ACTIONS=cddb,playlist,read,encode,tag,move,clean
# Decide here how you want the tracks labelled for a standard 'single-artist',
# multi-track encode and also for a multi-track, 'various-artist' encode:
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM} ${ARTISTFILE} ${TRACKFILE}'
VAOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'
# Decide here how you want the tracks labelled for a standard 'single-artist',
# single-track encode and also for a single-track 'various-artist' encode.
# (Create a single-track encode with 'abcde -1' from the commandline.)
ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'
VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}'
# Create playlists for single and various-artist encodes. I would suggest
# commenting these out for single-track encoding.
PLAYLISTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}.m3u'
VAPLAYLISTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}.m3u'
# This function takes out dots preceding the album name, and removes a grab
# bag of illegal characters. It allows spaces, if you do not wish spaces add
# in -e 's/ /_/g' after the first sed command.
mungefilename ()
{
echo "$@" | sed -e 's/^\.*//' | tr -d ":><|*/\"'?[:cntrl:]"
}
# What extra options?
MAXPROCS=2 # Run a few encoders simultaneously
PADTRACKS=y # Makes tracks 01 02 not 1 2
EXTRAVERBOSE=2 # Useful for debugging
# COMMENT='abcde version 2.9.3' # Place a comment, this will write as value of DESCRIPTION tag.
EJECTCD=y # Please eject cd when finished :-)




Comment