When ripping a multi-disc audiobook set, my tracks are not getting numbered as expected (based on how it's worked for me with dozens of audiobooks in the past)
If somebody knows why I'm getting unexpected track numbers in my filenames and tags, I would really appreciate the help.
I'm using commands like..
abcde -c myAudiobookConfigFile.cfg -p -W 01
abcde -c myAudiobookConfigFile.cfg -p -W 02
abcde -c myAudiobookConfigFile.cfg -p -W ...
abcde -c myAudiobookConfigFile.cfg -p -W n
When abcde prompts me to edit the CDDB entry, I edit it and number the trakcs 1-14, which I expect to result in files named something like...
"Author - Album - Track 01.mp3"
"Author - Album - Track 02.mp3"
"Author - Album - Track 03.mp3"
But what I'm getting is something like...
"Author - Album - Track 64.mp3"
"Author - Album - Track 65.mp3"
"Author - Album - Track 66.mp3"
And when I rip disc 2, using -W 02, I get files like below, contiguous within the set of files for the disc, but not contiguous with previous disc.
"Author - Album - Track 99.mp3"
"Author - Album - Track 100.mp3"
"Author - Album - Track 101.mp3"
Assuming this is coming from some Internet-based metadata (I've deleted all my local .cddb* folders), I've even disabled cddb and tagging actions in my config file and that didn't help.
Here's my .abcde.cfg file
# -----------------$HOME/.abcde.conf----------------- #
#
# A sample configuration file to convert music cds to
# MP3 format using lame, eyeD3 and abcde version 2.7.2
#
# http://andrews-corner.org/linux/abcde/index.html
# -------------------------------------------------- #
# Control EYE3D
EYED3OPTS="--non-std-genres"
# 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
# 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 MP3. In this case 'lame':
OGGENCODERSYNTAX=oggenc # Specify encoder for Ogg Vorbis
MP3ENCODERSYNTAX=lame # Specify encoder for MP3
FLACENCODERSYNTAX=flac # Specify encoder for FLAC
MPCENCODERSYNTAX=mpcenc # Specify encoder for Musepack
AACENCODERSYNTAX=fdkaac # Specify encoder for AAC
OPUSENCODERSYNTAX=opusenc # Specify encoder for Opus
WVENCODERSYNTAX=wavpack # Specify encoder for Wavpack
MKAENCODERSYNTAX=ffmpeg # Specify encoder for MKA (AC3 via FFmpeg)
# 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/lame
OGGENC=oggenc # Path to Ogg Vorbis encoder
LAME=lame # Path to MP3 encoder
FLAC=flac # Path to FLAC encoder
MPCENC=mpcenc # Path to Musepack encoder
FDKAAC=fdkaac # Path to the AAC encoder
OPUSENC=opusenc # Path to Opus encoder
WVENC=wavpack # Path to WavPack encoder
FFMPEG=ffmpeg # Path to FFmpeg (AC3 via FFmpeg)
# Specify your required encoding options here. Multiple options can
# be selected as '--preset standard --another-option' etc.
# The '-V 2' option gives VBR encoding between 170-210 kbits/s.
OGGENCOPTS='-q 6' # Options for Ogg Vorbis
LAMEOPTS='-V 2' # Options for MP3
FLACOPTS='-s -e -V -8' # Options for FLAC
MPCENCOPTS='--extreme' # Options for Musepack
FDKAACENCOPTS='-p 2 -m 5 -a 1' # Options for fdkaac
OPUSENCOPTS="--vbr --bitrate 128" # Options for Opus
WVENCOPTS="-hx3" # Options for WavPack
APENCOPTS="-c4000" # Options for Monkey's Audio
TTAENCOPTS="" # Options for True Audio
TWOLAMENCOPTS="--bitrate 320" # Options for MP2
FFMPEGENCOPTS="-c:a ac3 -b:a 448k" # Options for MKA (AC3 via FFmpeg)
# Output type for MP3.
OUTPUTTYPE="mp3,ogg,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=cdda2wav
# 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
ACTIONS=cddb,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} - ${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=8 # Run a few encoders simultaneously
PADTRACKS=y # Makes tracks 01 02 not 1 2
EXTRAVERBOSE=2 # Useful for debugging
COMMENT='ripped on Ubuntu using abcde' # Place a comment...
EJECTCD=y # Please eject cd when finished :-)
And the one I extend it with when ripping audiobooks
# Give the base location here for the encoded music files.
OUTPUTDIR="$HOME/Videos/Audiobooks"
# 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} - ${ALBUMFILE}'
VAOUTPUTFORMAT='${OUTPUT}/Various Artists/${ARTISTFILE} - ${ALBUMFILE}/${TRACKNUM} ${ARTISTFILE} - ${TRACKFILE}'
# [originalValues] OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
# [originalValues] 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}/${TRACKNUM} - ${ARTISTFILE} - ${ALBUMFILE}'
VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various Artists/${ARTISTFILE} - ${ALBUMFILE}/${TRACKNUM} ${ARTISTFILE} - ${TRACKFILE}'
# [originalValues] ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'
# [originalValues] 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}/${ARTISTFILE} - ${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=0 # Useful for debugging
COMMENT='ripped on Ubuntu using abcde' # Place a comment...
EJECTCD=y # Please eject cd when finished :-)
The -W switch must be numerical (ie. 1 not 01)