Secure ripping: Difference between revisions
m (→C2 error pointers (software): removed grocer's apostrophe) |
(→What is Secure Ripping?: rewrote this to explain more, rather than repeatedly mentioning specific rippers which are already covered in detail later) |
||
Line 3: | Line 3: | ||
===What is 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. | Secure ripping is the process of making sure there were no errors during the extraction of audio from a CD. | ||
A bit-perfect rip may not always be possible, and so these programs | The basic function of ripping software is to get the CD's table of contents (an index of track start positions), and then for each track to be ripped, it tells the CD drive to go to the beginning of each of the track's data blocks and read them in, one at a time. On an ordinary audio CD, each block is 2352 bytes and corresponds to 1/75th of a second of sound. The software saves that incoming data into an audio file (WAV or AIFF format, usually, as those formats are almost identical to the data coming in from the drive), or the software streams the data into another audio encoder "on the fly", so the user doesn't have to convert it to another format like MP3 in a separate step. | ||
This sounds simple, but it becomes complicated when parts of the CD can't be read accurately, for example due to scratches. And there's actually a lot of variation in whether each drive can reliably and accurately go to the spot it's told to read, and in the way it detects, reports, and handles errors, such as those caused by scratches. That is, every CD drive will give the ripping software 2352 bytes of data for each block the drive is told to read, but that data might be different each time, due to physical problems with the disc or limitations of the drive's hardware. Or the data might be the same each time, but is different when obtained from a different drive. | |||
Ripping software that claims to have "secure ripping" will take into account the capabilities and limitations of the drive, and will make the drive read each sector multiple times. Then it will use various methods of analysis and re-reading to ensure that the data was read as correctly as possible. A bit-perfect rip may not always be possible, and so these programs will report on any errors that could not be corrected, allowing you to examine or attempt to correct the problems, such as by generating a log of suspicious positions or doing some kind of automatic "glitch removal". | |||
The term "secure ripping" is usually used in opposition to "burst mode", which implies the drive is simply told to read a range of blocks just once, and the incoming data is accepted without any extra error detection or correction by the software. Since it doesn't involve re-reading of data (other than what the drive might always do automatically), burst mode is naturally faster than secure ripping. | |||
=Secure Ripping Comparison= | =Secure Ripping Comparison= |
Revision as of 06:20, 18 September 2009
This article is a stub. You can help the Hydrogenaudio Knowledgebase by expanding it.
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.
The basic function of ripping software is to get the CD's table of contents (an index of track start positions), and then for each track to be ripped, it tells the CD drive to go to the beginning of each of the track's data blocks and read them in, one at a time. On an ordinary audio CD, each block is 2352 bytes and corresponds to 1/75th of a second of sound. The software saves that incoming data into an audio file (WAV or AIFF format, usually, as those formats are almost identical to the data coming in from the drive), or the software streams the data into another audio encoder "on the fly", so the user doesn't have to convert it to another format like MP3 in a separate step.
This sounds simple, but it becomes complicated when parts of the CD can't be read accurately, for example due to scratches. And there's actually a lot of variation in whether each drive can reliably and accurately go to the spot it's told to read, and in the way it detects, reports, and handles errors, such as those caused by scratches. That is, every CD drive will give the ripping software 2352 bytes of data for each block the drive is told to read, but that data might be different each time, due to physical problems with the disc or limitations of the drive's hardware. Or the data might be the same each time, but is different when obtained from a different drive.
Ripping software that claims to have "secure ripping" will take into account the capabilities and limitations of the drive, and will make the drive read each sector multiple times. Then it will use various methods of analysis and re-reading to ensure that the data was read as correctly as possible. A bit-perfect rip may not always be possible, and so these programs will report on any errors that could not be corrected, allowing you to examine or attempt to correct the problems, such as by generating a log of suspicious positions or doing some kind of automatic "glitch removal".
The term "secure ripping" is usually used in opposition to "burst mode", which implies the drive is simply told to read a range of blocks just once, and the incoming data is accepted without any extra error detection or correction by the software. Since it doesn't involve re-reading of data (other than what the drive might always do automatically), burst mode is naturally faster than secure ripping.
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-ROMs 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 detecting 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 and utilize C2 error pointers. It does not go into details about whether or not certain types of CD-ROM drives can be used to detect C2 errors. Please consult AccurateRip or another drive database for that.
AccurateRip
AccurateRip is a database that allows you to find out if your CD rips are the same as other people's; if they were, then it's likely the rips are truly error-free. The database stores disc IDs and checksums for ripped tracks, and it contains info for thousands of drives. This drive info makes it possible to reliably compare the track checksums, and includes each drive's make & model, read offset, AccurateStream capability, audio data cache ability, and use of C2 error pointers. All data about drives and ripped tracks is user-submitted, but is managed through the ripping software.
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.
Accurate Stream
Question: Do EAC and dbPowerAMP work on drives that don't have AccurateStream?
Yes: EAC and dbPowerAMP work on drives that don't have 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
EAC and dbPowerAMP support AccurateRip.
Ripping Modes
dbPowerAMP and EAC have 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
dbPowerAMP offers an additional mode, known as "Defective by Design", specifically designed to rip discs with intentional errors, such as those found on many discs with "copy protection"
- Defective by Design
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 have AccurateStream?
Yes: cdparanoia works on drives that don't have 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 don't have AccurateStream?
Yes: XLD works on drive that don't have 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?
Yes: XLD does 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 don't have AccurateStream?
Yes: Max works on drives that don't have 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).
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 have AccurateStream?
Yes: Rubyripper works on drives that don't have 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?
Yes: Rubyripper current existing libraries do print out a log file if specified
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 try dbPowerAMP, which less painlful to configure and can provide the same secure rip's with extra features like better use of C2 error pointers and improved PefectMeta. 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 as popular and aren't listed on this wiki page.
External links
- AccurateRip Database a large database that works with EAC and DBpowerAMP
- DAE Drive Database a large database that lists CD/DVD-ROM drives and there digital audio extraction features.
- FAQ C2 Errors a frequently asked question page in regard to C2 errors.