Comparison of CD rippers: Difference between revisions
(→C2 pointers: continuation of previous edit, to explain EAC quirks) |
(→C2 pointers: Clarifications to address concern about the ambiguous use of "C2 pointers" to refer to either C2 pointers in general, or error-indicating C2 pointers in particular) |
||
Line 345: | Line 345: | ||
===C2 pointers=== | ===C2 pointers=== | ||
This row indicates whether & how the ripper makes use of C2 pointers, | 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. | * "None" means C2 pointers are ignored. | ||
* "Initial pass" means that during the first read of a sector, | * "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) as a reason to prevent re-reads. | ||
* "On re-reads" means that the same check is done during re-reads, as well. | * "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 C2 pointers, especially in error-heavy areas of a disc. Also, some drive firmware simply doesn't reliably report C2 pointers, for reasons unknown. | 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. | ||
===Defeat cache=== | ===Defeat cache=== |
Revision as of 04:21, 1 June 2015
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).
Comparison chart
Features | Exact Audio Copy (EAC) | dBpoweramp CD Ripper | foobar2000 | iTunes | Windows Media Player | CUERipper | XLD | Rip | MusicBee | PerfectRip | CloneCD | Cdparanoiaa | Easy Audio Copy |
Data acquisition | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
One track per file | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | yes | yes |
Image as single file | yes | yes | yes | no | no | yes | yes | ? | yes | binary | binary | yes | yesj |
CUE sheet generation | yesb | limited, more in beta | limited | no | no | yesc | yes | yes | limited | yes | yes | ? | yesj |
gap detection | yes | in beta | no | no | no | yes | yes | yes | no | no | yesh | ? | yesj |
pre-emphasis detection | yes (TOC only) | yes (which?) | ? | yes (which?) | ? | yes (TOC+subcode) | ? | ? | ? | ? | ? | ? | ? |
Offset correction | yes | yes | yes | no | no | yes | yes | yes | yes | limitedf | no | yes | yes |
HTOA | yes | yes | yes | no | no | yes | ? | ? | no | yes | yes | ? | yes |
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 | ? |
Defeat cache | over-reading, FUA | over-reading, FUA | over-reading | no | no | over-reading | over-reading | over-reading | yes | no | no | over-reading | ? |
Additional features | |||||||||||||
AccurateRip | yes | yes | yes | no | no | yes | yes | yes | yes | no | no | no | yes |
AccurateRip checking across pressings/offsets | no | yes | yes | n/a | n/a | yes | yes | ? | ? | n/a | n/a | n/a | no |
CUEtools db | plugin | no | no | no | no | yes | no | no | no | no | no | no | no |
log file | yes | yes | no | no | no | yes | yes | yes | no | yes | no | yes | yes |
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 |
Download Album Art | yes | yes | foo_discogs | yes | yes | yes | yes | ? | yes | no | no | no | yes |
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 |
License | proprietary, freeware | proprietary, shareware | proprietary, freeware | proprietary, freeware | proprietary, freeware | GPL | GPL | ? | proprietary, freeware | freeware | proprietary, shareware | GPL | proprietary, shareware |
OS | Windows | Windows | Windows | Windows, Mac | Windows | Windows | Mac | Mac | Windows | Windows | Windows | Mac OS X, Linux/BSD, Windows via Cygwina | Windows |
Notes:
- ^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 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.
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.
Gap detection
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.
Pre-emphasis detection
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.
Offset correction
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.
HTOA
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.
C2 pointers
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) 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.
Defeat cache
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.
AccurateRip
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.
CUETools db
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.
log file
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.
Metadata
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.
Cost
This row describes the pricing for a single-user license for the ripper.
License
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.
OS
This row indicates which operating systems the ripper natively works on.