Comparison of CD rippers
On the Hydrogenaudio forums (e.g. here and here) there have been many discussions and questions about the differences between different Digital Audio Extraction (DAE) software packages (CD rippers). New rippers with secure ripping facilities have emerged in recent years, and it is now difficult to judge compared to some years ago when the only answer was Exact Audio Copy (EAC).
- 1 Comparison chart
- 2 Explanation of features
- 2.1 One track per file
- 2.2 Image as single file
- 2.3 Cue sheet generation
- 2.4 Gap detection
- 2.5 Pre-emphasis detection
- 2.6 Offset correction
- 2.7 HTOA
- 2.8 C2 pointers
- 2.9 Defeat cache
- 2.10 AccurateRip
- 2.11 AccurateRip checking across pressings/offsets
- 2.12 CUETools db
- 2.13 log file
- 2.14 Metadata
- 2.15 Download Album Art
- 2.16 Cost
- 2.17 License
- 2.18 OS
|Features||Exact Audio Copy (EAC)||dBpoweramp CD Ripper||foobar2000||iTunes||Windows Media Player||CUERipper||XLD||Rip||MusicBee||PerfectRip||CloneCD||Cdparanoiaa||Easy Audio Copy||EZ CD Audio Converter||morituri||whipperr|
|One track per file||yes||yes||yes||yes||yes||yes||yes||yes||yes||yes||no||yes||yes||yes||yes||yes|
|Image as single file||yes||yes||yes||no||no||yes||yes||?||yes||binary||binary||yes||yesj||yes||?||nos|
|CUE sheet generation||yesb||limited, more in beta||limited||no||no||yesc||yes||yes||limited||yes||yes||?||yesj||yes||yes||yes|
|gap detection||yes||in beta||no||no||no||yes||yes||yes||no||no||yesh||?||yesj||yes||yes||yes|
|pre-emphasis detection||yes (TOC only)||yes (which?)||?||yes (which?)||?||yes (TOC+subcode)||yes (TOC+subcode)p||?||?||?||?||?||?||yes (subcode)||limited (detects but does not add to cue sheet)||yes (TOC only)t|
|C2 pointers||initial passm||initial pass, on re-reads||no||no||no||initial pass, on re-reads||initial pass||initial pass, on re-reads||initial pass||limitedg||initial pass, on re-readsi||no||?||for error detection onlyn||no||no|
|Defeat cache||over-reading, FUA||over-reading, FUA||over-reading||no||no||over-reading||over-reading||over-reading||yes||no||no||over-reading||?||FUA(?) in rare circumstanceso||FUA(?)||over-reading|
|AccurateRip checking across pressings/offsets||no||yes||yes||n/a||n/a||yes||yes||?||?||n/a||n/a||n/a||no||n/a||?||no|
|Metadata||freedb,e MusicBrainz,e Discogs,e CD-Text||freedb, MusicBrainz, AMG, GD3, SonataDB, CD-Text, PerfectMeta™d||freedb, MusicBrainz (plugin), Discogs (plugin), CD-Text||gracenote, MusicBrainz (Mac-only hack), CD-Text||AMG, CD-Text (plugin)||freedb, MusicBrainz, Discogs||freedb, MusicBrainz||freedb, MusicBrainz||freedb, MusicBrainz, CD-Text||freedb, CD-Text||no||no||GD3, othersk||freedb, MusicBrainz, GD3||freedb, MusicBrainz||FreeDBv, MusicBrainz|
|Download Album Art||yes||yes||foo_discogs||yes||yes||yes||yes||?||yes||no||no||no||yes||yes||no||now|
|Cost||free||free (21 days), then $38||free||free||free||free||free||free||free||free||free (21 days), then €32.60–55.00||free||free (14 days), then $29.90||free (30 days), then $39.95 or €39.95||free||free|
|License||proprietary, freeware||proprietary, shareware||proprietary, freeware||proprietary, freeware||proprietary, freeware||GPL||GPL||?||proprietary, freeware||freeware||proprietary, shareware||GPL||proprietary, shareware||proprietary||GPL||GPL|
|OS||Windows||Windows, Mac||Windows||Windows, Mac||Windows||Windows||Mac||Mac||Windows||Windows||Windows||Mac OS X, Linux/BSD, Windows via Cygwina||Windows||Windows||Linux (Unix-like)||Linux (Unix-like)x|
- ^a Cdparanoia, a console application for Unix-like OSes, is one of many frontends to the Paranoia library, libparanoia. Additional OSes and features not directly related to the ripping process might be supported in other frontends. See Cdparanoia for details.
- ^b A number of different types CUE sheet types are available. Flags are read from TOC only, not subcode.
- ^c The EAC-style "Multiple WAV Files With Gaps (Noncompliant)" type will be used in single track mode.
- ^d dBpoweramp is unique in being able to compare metadata from several sources automatically to eliminate erroneous data.
- ^e In EAC, freedb access can be direct (via the legacy built-in engine), via the bundled freedb plug-in, or via the bundled CTDB plug-in. MusicBrainz access can be via the bundled CTDB plug-in, or via the freedb options with the MusicBrainz-to-freedb gateway. Discogs access is via the bundled CTDB plug-in only.
- ^f In PerfectRip, offset correction only works if the drive supports overreading.
- ^g PerfectRip uses C2 pointers to know where possible errors are, but it does not re-read; it just flags the rip as "not perfect". However, it does write the C2 pointers to a file which can be used by a separate program to interpolate bad samples.
- ^h In CloneCD, gaps and indexes are detected only if "Read SubChannel Data from Audio Tracks" is enabled in the Audio CD profile.
- ^i CloneCD doesn't thoroughly explain its options or re-reading strategy. The disc type profiles allow setting Audio Extraction Quality(Bad/Medium/Good/Best), Fast Error Skip (Off/On/Automatic), Intelligent Bad Sector Scanner (enabled/disabled). The CD Reader (drive) configuration allows setting the number of Read Retries (0-15) and Error Correction (None/Software/Hardware). The effect of each of these options is undocumented, but seems to suggest C2 pointers are used.
- ^j Easy Audio Copy offers image extraction and cue sheet generation, including gap detection, only when this functionality is enabled via an advanced settings app, downloadable separately (see the FAQ).
- ^k Easy Audio Copy's website says CD information is obtained from "various internet sites (for example, from the GD³ database)."
- ^m In EAC, C2 pointers are only considered if the Secure Mode option "Drive is capable of retrieving C2 error information" is checked. When checked, the lack of a pointer will prevent re-reads, thereby speeding up the rip, but possibly allowing errors to slip through, because at that point it is essentially the same as burst mode.
- ^n In its two error-detection modes, EZ CD Audio Converter uses C2 pointers to know where possible errors are, but it does not re-read; it just logs the track as being ripped with errors. Likewise, despite being advertised as a "secure" ripper, it only uses CRC mismatch or sync errors to note the presence of possible errors; it does not try to get consistent results by re-reading.
- ^o In EZ CD Audio Converter, the drive's caching is disabled only when error detection mode #2 is used on a drive which reports that it does not support Accurate Stream.
- ^p XLD detects pre-emphasis in the TOC since version 2009/11/8 and in subcode since version 2014/4/27.
- ^q HTOA is not supported on dBpoweramp when ripping to one single FLAC file per track and using CUE sheet. See  for details.
- ^r Whipper is a Python CD-DA ripper based on the morituri project. It enhances morituri which development seems to have halted merging old ignored pull requests, improving it with bugfixes and new features.
- ^s Currently unsupported but tracked as feature request in whipper's issue tracker (#115).
- ^t Emphasis flag is read from the subcode but not added to the cue sheet. This feature will be probably implemented in future whipper releases. More details are available in ticket #296.
- ^u Currently unsupported but tracked as feature request in whipper's issue tracker (#15).
- ^v FreeDB is queried for metadata in case MusicBrainz returns no results but, for the time being, it is only used for showing disc information (not for file naming and tagging). This may change in the future; for more details see ticket #44 and pull request #138.
- ^w Currently unsupported but tracked as feature request in whipper's issue tracker (#50).
- ^x Whipper is tested and developed on Linux distributions only but may support other *nix operating systems too.
Explanation of features
One track per file
A standard feature of rippers is the ability to rip each audio track to a separate file.
Image as single file
Some rippers can rip all the audio tracks to a single "image" file, either audio (WAV or AIFF) or raw binary (.bin file containing raw LPCM). The image file normally doesn't include data tracks from Enhanced CDs. This feature can be useful when combined with cue sheets.
Cue sheet generation
Cue sheet generation means the ripper can create a cue sheet to preserve, at a minimum, the relationship between extracted audio and the disc layout (e.g., a list of how an image file is to be split back up into tracks). It usually also indicates the ability to read at least some of the following info from the CD subcode for inclusion in the cue sheet: disc catalog number, track ISRC codes, track indexes (including gaps), disc & track CD-Text data, and track flags. Depending on the ripper, copyright & pre-emphasis flags might only be taken from the TOC, and CD-Text data might only be filled in with metadata from external sources.
A "no" or "limited" in this row shouldn't be considered serious unless you're seeking to preserve as much info as possible, aside from the audio data.
Some rippers can read the disc's subcode to find each track's index 00 portion, i.e. the "gap" or "pre-gap", if one exists. Once detected, this info can be used to control whether & how these portions of the tracks are extracted, and the info can be written to a cue sheet so it can be written to a new CD later. Gap detection only refers to scanning for index 00, regardless of whether it contains silence or audible sound.
A "no" in this row is minor, unless, for example, you're 1. ripping a CD-R that was burned with pure-silence gaps that you want to remove, or 2. planning to burn a copy from the extracted audio (plus accompanying cue sheet) and you want the display on a regular CD player to count up from a negative number to 0:00 between certain tracks, just as it did on the original CD.
The ability to scan for other index points in the subcode is a related feature not yet covered by this table, and may be connected to other features like cue sheet generation. For example, EAC always scans the subcode for gaps and 02-and-higher index points when generating a cue sheet or when doing an index-based rip. Similarly, a ripper might have the option to scan for 01-index points (track boundaries) in the subcode rather than relying on the TOC, which is sometimes deliberately incorrect or unreadable on some drives, as a copy-protection measure.
A small minority of audio CDs are authored with pre-emphasis. This means a high frequency boost was applied to the audio during the original digital recording. A corresponding high frequency cut must be applied for the audio to sound as originally intended. If a CD with pre-emphasis is played without this corresponding de-emphasis, the audio will have more high frequency content than intended, and will often sound like it is being replayed with the treble/tone control turned up.
Flags to tell a CD player to apply de-emphasis can be stored in a CD's subcode, the TOC, or ideally both. There are several CDs with pre-emphasis which only include the flag in the subcode, and not the TOC. A conventional hardware CD player will enable its de-emphasis circuit based on the subcode, not the TOC. Some CD rippers detect pre-emphasis based on the TOC, not the subcode. Where known, this is noted in the above table.
When detected by the ripper, the presence of pre-emphasis may be noted in the CUEsheet (if generated) or a tag. Alternatively the ripper may be configured to process the audio by applying a digital de-emphasis filter, thus generating audio without pre-emphasis that does not need to be tagged or flagged.
The ability of a ripper to compensate for a CD drive's inherent read offset, with sample-level precision, very slightly affects the accuracy of track boundaries, and plays a role in whether & how the fraction of a second of audio at the very beginning or very end of a disc is read. Properly configured rippers which correct for read offsets will produce consistent track boundaries, given the same discs to rip, thus allowing comparisons of ripped audio data made on different drives, e.g. via AccurateRip.
A "no" in this row should only be cause for concern if you need to be sure track boundaries aren't very slightly off from how they were encoded on the disc.
This indicates the ability to read data in the portion of the disc where Hidden Track One Audio (HTOA) may be located, if the drive also supports it. This is the index 00 portion of track 01, and if it exists at all, normally only contains a tiny amount of silence. If it does have non-silent audio, then to hear it, you would have to start playing track 1, then scan backward.
Very few CDs have HTOA, and not all drives support reading it, so a "no" in this row shouldn't be considered serious unless you're sure you need to read such CDs.
This row indicates whether & how the ripper makes use of C2 pointers. A C2 pointer is a flag pointing to a particular byte in the audio data, indicating whether the drive suspects there was a read error which could not be corrected. This suspicion is based on the CD's built-in CIRC error detection and correction information.
- "None" means C2 pointers are ignored.
- "Initial pass" means that during the first read of a sector, an error-indicating C2 pointer results in the data being considered bad. This will prompt re-reads or flagging of the data as bad, depending on the ripper and its configuration. The lack of an error-indicating C2 pointer may be used by some rippers (such as EAC and XLD) as a reason to prevent re-reads.
- "On re-reads" means that the same check is done during re-reads, as well.
The CIRC system on audio CDs is not foolproof; a very tiny percentage of uncorrectable errors can fail to result in error-indicating C2 pointers, especially in error-heavy areas of a disc. Also, some drive firmware simply doesn't reliably report errors in the C2 pointers, for reasons unknown.
This row indicates whether & how the ripper works around the automatic data caching that occurs in some drives. Overreading is a brute-force, slow method where extra data is read in order to flush the cache. Force Unit Access (FUA) is a more efficient method that is only supported in some drives. If you don't have a drive that caches during DAE, this row may not be of interest to you.
This row indicates whether the ripper can check the AccurateRip database to see if other people got the same audio data when ripping tracks from the same CD. A "no" is nothing to worry about; any rip can be checked against AccurateRip later, using CUETools.
AccurateRip checking across pressings/offsets
Rips of visually identical CDs can have identical audio data, but offset slightly (shifted by a fraction of a second in one direction or the other), for various reasons. For rippers that do check AccurateRip, a "yes" in this row indicates that AccurateRip will be checked for these slightly offset rips, thus increasing the chance of finding a match, if not also increasing the confidence of the rip's accuracy. A "no" indicates that only exact matches for the pressing are checked for.
The CUETools Database (CTDB) is similar to AccurateRip, but it's for whole-CD rips only (not separate tracks) and has cross-pressing support built-in. It also stores recovery data from believed-good rips, so that a bad rip can be corrected with CUETools. A "yes" in this row indicates the ripper can check for matching rips in CTDB and report whether a bad rip might be correctable. "Plugin" indicates support is provided through an optional component.
This row indicates whether the ripper can generate a log file to document the ripping process, such as the ripper version and how it was configured, what data was checked for on the disc, any problems encountered, checksums, AccurateRip lookup results, etc.
This row indicates whether and which metadata sources the ripper can use to get basic info about the CD (artist and title for the disc and each track, mainly). Most rippers use this info for naming and tagging files. Some include it in cue sheets, as if it were CD-TEXT.
Download Album Art
For rippers which tag files, this row indicates whether album art images are included in the metadata lookup capabilities. Some rippers only support album art via an optional component.
This row describes the pricing for a single-user license for the ripper.
This row describes the ripper's end-user licensing. "GPL" is a standard GNU Public License, which, among other things, implies the source code is open-source. "Proprietary" means a custom license and usually means the source code is private. "Freeware" means the license does not require that users pay for the software. "Shareware" means that payment is required, usually after a free trial period.
This row indicates which operating systems the ripper natively works on.