Secure ripping

From Hydrogenaudio Knowledgebase
Revision as of 22:46, 14 September 2008 by HotshotGG (Talk | contribs)

Jump to: navigation, search

Secure Ripping

What is Secure Ripping?

Secure ripping is the process of making sure there were no errors during the extraction of audio from a CD. Popular Windows CD rippers, such as CDex and EAC try to ensure a bit-perfect rip for every track by checking the results, and re-reading any bad areas (from scratches) as many times as needed using read offsets, etc. Max and Rubyripper provide similiar results as alternative secure rippers for Mac OS/X and Linux/BSD respectively using their own effective correction mechanisms.

A bit-perfect rip may not always be possible, and so these programs (EAC especially) will report on any errors that could not be corrected for various reasons, allowing you to examine or attempt to correct the problems by analyzing a log file, using AccurateRip, or by looking at other Drive Databases

Secure Ripping Comparison

Definitions

Accurate Stream

Accurate Stream is the ability to avoid jitter. Each CD drive reads audio discs slightly out (a number of samples), if your CD drive supports 'Accurate Stream' it will be a constant value, this should be the same for each particular make and model of CD-ROM Drive

Caching

Caching is the ability of the CD-ROM drive to hold a certain amount of samples in a buffer. Every CD-ROM cache can be "flushed".

C2 error pointers (software)

CD-ROM's have differing levels or error recognition and correction. C2 error pointers are read errors by a compact disc that can usually be detected by error detecting and correction scheme. The entire process of detetecting C2 error pointers is a complicated one, which can be reduced down to include the drive/firmware/software combination. This category only discusses, whether or not the secure ripping software can detect C2 errors or not. It does not go into details about about whether or not certain types of CD-ROM drives can be used to detect C2 errors. Consult AccurateRip or another drive database for that.

Windows

EAC and dBPowerAMP

EAC and dbPowerAMP both feature powerful correction mechanisms that works with your CD-ROM drive. Some of these features include AccurateStream, Caching, C2 error pointers, and AccurateRip. For a description of the Exraction techology used on each of these consult their respective wiki pages above.

AccurateStream

Question: Do EAC and dbPowerAMP work on drives that don't support AccurateStream?
Yes: EAC and dbPowerAMP work on drives that don't support AccurateStream

Caching

Question: Do EAC and dbPowerAMP work on drives that support caching?
Yes: EAC and dbPowerAMP work on drives that support caching

C2 Error pointers

Question: Do EAC and dbPowerAMP work on drives that utilize C2 error pointers?
Yes: EAC and dbPowerAMP work on drives that support C2 error pointers

Log file

Question: Does the current existing secure ripper print out a log file?
Yes: EAC and dbPowerAMP current existing libraries do print out a log file

AccurateRip

AccurateRip is a drive database that stores read offsets for a number of user submitted drives that allows you compare your CD rips to other people's. You can anaylze offset corrections on each drive and discover how it varies from drive to drive. AccurateRip database also lists what drives have AccurateStream, cache audio data, and use C2 error pointers.

Ripping Modes

EAC has two additional modes that can be configured. One is known as "Secure Mode" and the other is known as "Burst Mode". Secure Mode is the recommended mode to use as it goes through the pain staking process of over-anaylzing CD's that may have scratches on them and correcting any bad sectors of audio data. Burst Mode is used for CD's that either have "copy protection" on them or are extremely scratched. It's considered a last ditch effort to recover the audio data from your CD's.

  • Secure Mode
  • Burst Mode

CDex

CDex externally uses the cdparanoia libraries. It is a bit different than most other CD-DA extration tools. It contains few-to-no extra features ("Too many features spoil the broth"), concentrating only on the ripping process and knowing as much as possible about the hardware performing it. cdparanoia will read correct, rock-solid audio data from inexpensive drives prone to misalignment, frame jitter, and loss of streaming during atomic reads. cdparanoia will also read and repair data from CDs that have been damaged in some way using interpolation and padding sectors with silence or 0 bytes.

Accurate Stream

Question: Does cdparanoia work on drives that don't support AccurateStream?
Yes: cdparanoia works on drive that don't support AccurateStream

Caching

Question: Does cdparanoia work on drives that support caching?
Yes/No: cdparanoia works best on drives that don't support caching, although recent libraries do work on drives that support caching.

C2 error pointers

Question: Does cdparanoia work on drives that utilize C2 error pointers?
No: The current existing philosophy in CDex is that not all drives support C2 error pointers so therefore the libraries do not support C2 error pointers.

Log file

Question: Does the current existing secure ripper print out a log file?
No: CDex current existing libraries do not print out a log file


Ripping Modes

There are several modes in cdparanoia that can be controlled by the user in CDex. These modes include:

  • Full, Paranoia
  • Overlap
  • No Verify
  • No Sratch Detection

It is best to use Full, Paranoia mode unless otherwise specified (this is the default mode). Overlap and No Verify will just check read boundaries of a buffer and are therefore not recommended. No Scratch detection skips any error correcting and interpolation (compensation for missing gaps in the audio data) and should therefore be used on CD's that are brand new or have minimal scratches.

Mac OS/X

XLD

XLD (X lossless Decoder) version 20080812 uses newest cdparanoia 10.2 libraries for secure ripping and error correcting, which includes AccurateStream and caching. In addition it's the only application for Mac OS/X that utilizes AccurateRip database used by both EAC and dbPowerAMP.

Accurate Stream

Question: Does XLD work on drives that support AccurateStream?
Yes: XLD works on drive that support AccurateStream

Caching

Question: Does XLD work on drives that support caching?
Yes: XLD works on drives that support caching

C2 error pointers

Question: Does XLD work on drives that utilize C2 error pointers?
No: XLD does not work on drives that support C2 error pointers.

Log file

Question: Does the current existing secure ripper print out a log file?
Yes: XLD current existing libraries print out a log file

AccurateRip

XLD supports AccurateRip technology utilized by both EAC and dbPowerAMP.

Max

Max externally uses the cdparanoia libraries in conjunction with it's own secure ripping algorithm. Max correction mechanism is quite similiar to Rubyripper. The algorithm uses a comparison feature in order to determine how many times Max should rip and compare sections (maximum retries). It is done on a sector-by-sector basis, rather then byte-by-byte basis. Max can additionally generate a SHA-256 checksum for each additional section in order to more accuratly determine dissimiliarities in a rip. Max differs in that it does not have a direct reliance on cdparanoia for extraction, but instead uses C2 error pointers very similiar to EAC.

Accurate Stream

Question: Does Max work on drives that support AccurateStream?
Yes: Max works on drive that support AccurateStream

Caching

Question: Does Max work on drives that support caching?
No: Max works on drives that don't support caching

C2 error pointers

Question: Does Max work on drives that utilize C2 error pointers?
Yes: Max current existing libraries support C2 error pointers

Log file

Question: Does the current existing secure ripper print out a log file?
No: Max current existing libraries do not print out a log file

Linux

Rubyripper

Rubyripper externally uses the cdparanoia libraries in conjunction with it's own secure ripping algorithm. Rubyripper correction mechanism goes beyond that of cdparanoia. Every track gets ripped at least twice and is byte compared with the Ruby cmp feature. If any differences are found, each of the 1,000 bytes of the two files is compared. The next trial run looks to see if differing positions or a match can be found. (1,000 bytes is about 0.006 seconds).

If the full 1,000 bytes are erroneous, than a false repair seems to be highly unlikely since there are 256^{1000} = 1.73 * 10^{2408} combinations. (As a byte consists of 8 bits, 2^8 = 256). The main principle however is, the more trials that are needed, consequently the higher a chance of a false repair. Suppose only 3 bytes in a sample of 1,000 bytes give random information. This would still mean 256^3 = 16.7M possibilities for these bytes; really 2 bits in each byte could be a problem. This reduces the possibilities to 2^{3*2} = 64. So, a correct repair at this point may be possible. One has to wonder though: can 3 bytes actually be heard in a wav file that produces 180.000 bytes per second?

In conclusion: Rubyripper won't guarantee a constant MD5-sum on tracks that needed correction. However it will repair any files so that it's impossible to successfully blind-test with the original. The log file will report any position that needed more than 3 trials, so you can check the position yourself.


Accurate Stream

Question: Does Rubyripper work on drives that don't support AccurateStream?
Yes: Rubyripper works on drives that support AccurateStream

Caching

Question: Does Rubyripper work on drives that support caching?
No: Rubyripper works best on drives that don't support caching.

C2 error pointers

Question: Does Rubyripper work on drives that utilize C2 error pointers?
No: Rubyripper and the current existing libraries do not support C2 error pointers

Log file

Question: Does the current existing secure ripper print out a log file?
No: Rubyripper current existing libraries do not print out a log file

Secure Ripping Recommendations

Hydrogenaudio User Recommendations

The general consensus at Hydrogenaudio is that everyone taste's are different. One Secure ripper that works for one person might not be the right match for another, depending upon the users expectations and what features their CD-ROM drives have. It best to first determine what features your CD-ROM drives have before you proceed to decide, which ripper you may be considering using (see external links below). Linux users desiring EAC or dbPowerAMP might be hard pressed to find out that that the application cannot be ported to Linux, but can be run under Wine an abstraction layer that allows you to run Win32 applications on Linux. Linux users seeking an alternative who cannot run EAC or dbPowerAMP under Wine may want to consider Rubyripper. One of the more popular rippers at Hydrogenaudio is EAC in which there are countless guides for. The only drawback is that it nightmare to configure for a new user inexperienced with secure CD ripping. Users desiring something simpler on Windows may want to settle for CDex, which is painless to configure and can provide the same secure rip's without the extra features like C2 error pointers. Some who desire a secure alternative on Mac OS/X to the ITunes Ripper may want to go with Max or XLD. Ultimately what the decision comes down to is what one's drive features and expectations are.


Note: Any rippers not listed on this page are not considered "secure" and are therefore not recommended by the Hydrogenaudio community (i.e example such the Itunes Ripper). It is best to proceed with caution if one decides to use these, unless they are "frontends" for instance Grip is a cdparanoia frontend for Linux or they are considered "secure", but are not listed here.

External links