There are more ways to rip a CD with Linux, but most of the solutions with a GUI are ripping rather slow.
The best experience of a fast rip I have with abcde. This is a command line ripper that works very easy and has a very satisfying result.
You can find abcde
in the standard repo of your linux distribution.
In fact to rip a CD to mp3 format the only statement that is required is:
<prompt$> abcde -o mp3
abcde -o mp3
CDDB method 0: cddb
Executing customizable pre-read function... done.
Getting CD track info... Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12
Trying CDDB method cddb.
Checking CDDB server status...
Querying the CDDB server...
Obtaining CDDB results...
Retrieving 1 CDDB match...done.
---- Sprong in het heelal / Mars slaat toe-01 ----
1: Deel 1 Het onderzoek
2: 15 april 1972 aardetijd. De expeditievloot van Mars
3: Een droevige geschiedenis, die expeditie van u
4: Zo bleven we 3 maanden in Maanstad
5: Captain Morgan, zou u nog eens naar Mars willen gaan
6: Captain Morgan, Professor Hadley van de sterrenwacht
7: Deel 2 De asteroïden
8: Een jaar was verlopen
9: Ziezo, de motor is afgezet
10: Hallo Jeff, hier is Dr. Matthews
11: Dat is het heren
12: Daar moet het zijn
Edit selected CDDB data [y/N]?
Whe reply this with 'N'
Is the CD multi-artist [y/N]?
We reply this with 'N'
Creating playlist...
Grabbing track 01: Deel 1 Het onderzoek...
Type: ROM, Vendor 'MATSHITA' Model 'DVD+-RW UJ890 ' Revision '1.02' MMC+CDDA
569344 bytes buffer memory requested, 4 buffers, 55 sectors
#icedax version 1.1.11, real time sched., soundcard, libparanoia support
AUDIOtrack pre-emphasis copy-permitted tracktype channels
1-12 no no audio 2
Table of Contents: total tracks:12, (total time 77:43.00)
....
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
1693/1693 (100%)| 0:01/ 0:01| 0:01/ 0:01| 39.022x| 0:00
32 [ 1] *
40 [ 0]
48 [ 0]
56 [ 0]
64 [ 1] *
80 [ 0]
96 [ 2] *
112 [ 38] ******
128 [1055] **************************************************************************************************************************************************
160 [ 523] *************************************************************************
192 [ 47] *******
224 [ 19] ***
256 [ 7] *
320 [ 0]
-------------------------------------------------------------------------------------------------------------------------------------------------------------
kbps MS % long switch short %
140.8 100.0 90.4 4.5 5.1
....
track03.mp3 [ 7.39 MB ]
-------------------------------------------------------------------------------
Time: 07:09 MPEG1, Layer III [ ~144 kb/s @ 44100 Hz - Joint stereo ]
-------------------------------------------------------------------------------
No ID3 v1.x/v2.x tag found!
Setting artist: Sprong in het heelal
Setting album: Mars slaat toe-01
Setting title: Een droevige geschiedenis, die expeditie van u
Setting track: 03
Setting track total: 12
Setting track genre: 12
Setting comment: []: abcde version 2.7.2
Setting TDRC frame to '1957'
Writing tag...
ID3 v2.4:
title: Een droevige geschiedenis, die expeditie van u artist: Sprong in het heelal
....
And that is done for all tracks. It will take about 10 minutes to rip a CD.
The tracks are saved in:
/home/<yourhomefolder>/Music/mp3
where mp3
is the format that you are ripping.
Many options are available if you need a bit more than the most modest command:
Usage: abcde [options] [tracks]
Options:
-1 Encode the whole CD in a single file
-a <action1[,action2]...>
Actions to perform:
cddb,read,getalbumart,normalize,encode,tag,move,replaygain,playlist,clean
-b Enable batch normalization
-c <file>
Specify a configuration file (overrides system and user config files)
-C <discid#>
Specify discid to resume from (only needed if you no longer have the cd)
-d <device>
Specify CDROM device to grab (flac uses a single-track flac file)
-D Debugging mode (equivalent to sh -x abcde)
-e Erase encoded track information from status file
-f Force operations that otherwise are considered harmful. Read "man abcde"
-g Use "lame --nogap" for MP3 encoding. Disables low disk and pipes flags
-G Get album art by using the 'getalbumart' action
-h This help information
-j <#> Number of encoder processes to run at once (localhost)
-k Keep the wav tracks for later use
-l Use low disk space algorithm
-L Use local CDDB storage directory
-m Modify playlist to include CRLF endings, to comply with some players
-n No lookup. Don't query CDDB, just create and use template
-N Noninteractive. Never prompt for anything
-o <type1[,type2]...>
Output file type(s) (vorbis,mp3,flac,spx,mpc,wav,m4a,opus,mka,wv,ape,mp2,tta). Defaults to vorbis
-p Pad track numbers with 0's (if less than 10 tracks)
-P Use UNIX pipes to read+encode without wav files
-r <host1[,host2]...>
Also encode on these remote hosts
-s <field>
Show fields from the CDDB info (year,genre)
-S <#> Set the CD speed
-t <#> Start the track numbering at a given number
-T <#> Same as -t but modifies tag numbering
-U Do NOT use UNICODE (UTF8) tags and comments
-v Show version number and exit
-V Be a bit more verbose about what is happening behind the scenes
-x Eject CD after all tracks are read
-w <comment>
Add a comment to the CD tracks
-W <#> Concatenate CDs: -T #01 -w "CD #"
-z Use debug CDROMREADERSYNTAX option (needs cdparanoia)
Tracks is a space-delimited list of tracks to grab.
Ranges specified with hyphens are allowed (i.e., 1-5).
It is also possible to fit the config settings in a seperate .abcde.conf
file. This file has to be placed in the folder:
/home/<youruserfolder>/
# -----------------$HOME/.abcde.conf----------------- #
#
# A sample configuration file to convert music cds to
# MP3, Ogg Vorbis, FLAC, Musepack, AAC, WavPack, Opus,
# Monkey's Audio (ape), True Audio, AC3 and mp2, 11 formats
# at the same time! Using abcde version 2.7.2 release version.
#
# http://andrews-corner.org/linux/abcde/index.html
# -------------------------------------------------- #
# 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"
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
# APENCODERSYNTAX=mac # Specify encoder for Monkey's Audio
# TTAENCODERSYNTAX=tta # Specify encoder for True Audio
# MP2ENCODERSYNTAX=twolame # Specify encoder for MP2
MKAENCODERSYNTAX=ffmpeg # Specify encoder for MKA (AC3 via FFmpeg)
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
# APENC=mac # Path to Monkey's Audio encoder
# TTA=tta # Path to True Audio encoder
# TWOLAME=twolame # Path to MP2 encoder
FFMPEG=ffmpeg # Path to FFmpeg (AC3 via FFmpeg)
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)
#OUTPUTTYPE="ogg,mp3,flac,mpc,m4a,opus,wv,ape,tta,mp2,mka" # Encode to 11 formats!
OUTPUTTYPE="ogg,mp3,flac,m4a"
# 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
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
# 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}/${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}/${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}/${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:]"
}
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.7.2' # Place a comment...
EJECTCD=y # Please eject cd when finished :-)