Q: Audio extraction is purely digital, how could unremarked errors occur?
A:The data transmission itself is purely digital and also the data stored on the CD. But the Red Book standard (standard for audio CDs) is very weak and only little error correction will be performed in the drive. So on bad CD-ROM drives it is possible that you receive erroneous results.
Q: I only own a very bad soundcard, or no soundcard at all... Does this matters?
A:No, your soundcard has nothing to do with ripping or burning cds. If you use digital extraction (which EAC does), you are not using the soundcard to create the wav, it's read directly from the cd.
Q: What is the difference between ASPI, ASAPI and Native drivers?
A: EAC communicates directly with the CD-ROM drives. For this EAC make use of several interfaces which do the low level work. You can choose the interface by your own in the EAC options (depending which interfaces are installed in your computer).
ASPI is from Adaptec, it comes preinstalled in Win95/98. In all other Windows it needs to be installed, but in these OS the installer tests if any Adaptec hardware is in your computer. Nevertheless you can try to install it, download for Windows 95 only and all other windows versions.
VOB produced a replacement called ASAPI. It is freely available from here.
In WinNT/2000/XP EAC is able to use a native interface in that OS. This is still buggy and only recommended when you don't want to install 3rd party software. Nevertheless, this will only work if you are logged in with admin rights. If you encounter problems, it is strongly recommended to download ASAPI and to change the interface to that.
Q:Why should I use Test & Copy? How to read the CRC codes?
A:If you don't like to use the secure modes, and the burst mode does not have error correction, the best possibility to check if an error occured is to copy and test the track. For each read and each track, the appropriate CRC column is filled with the actual CRC code. One CRC code is unique for a set of data. So by comparing the CRC values you could be quite sure that both reads resulted in the same file
Q:Then how does it come that a CD that plays on my standalone CD player without any pop or any other error, makes that difficulties on extraction?
A:Standalone CD players perform oversampling and some more error correction. Further, if the error is too big to be corrected, it will perform "error hiding". That means that the player will hide the error in a way that it is not audible to the common listener. These additional techniques are not implemented in the CD-ROM drives, thus the uncorrected data is given back.
Q:When using burst mode, EAC also shows up timing problems, are these really errors or what?
A:No, burst mode has no error detection nor error correction. If burst mode brings up a timing problem, the read command needed a lot of time, which could have several reasons, like loosing sync or trying to fix an read error. Of course this is a really poor "error detection" and should not be taken as serious indication.
Q:I didn't configure EAC at the first time and EAC extracted the audio really fast, somewhere between 8x and 14x. This seems too fast for an exact extraction?
A:In default configuration EAC uses the burst mode. I recommend to use the appropriate secure mode for your drive. To know what the appropriate read mode is, there is an automatic feature test in the drive options, just below the read mode switches.
Q:I only get many pops and clicks when extracting a very badly scratched CD in secure mode, what can I do?
A:It could possible to revive them by copying them in burst mode to hard disk. The high readout speed keeps the optical system of the drive from following the scratches instead of the audio track. After copying check the copies out, perhaps there were still errors left.
Q:What does the Track Quality really mean? A few times I get 99.7% or 97.5%. But there are no suspicious position reported.
A:When you get 99.7% and so on, that means that a bad sector was found, but the secure mode has corrected it - from 16 times of grabbing the sector, there were 8 or more identical results. So it only indicates read problems. It is the ratio between the number of minimum reads needed to perform the extraction and the number of reads that were actually performed. 100% will only occur when the CD was extracted without any rereads on errors. ONLY when there are suspicious positions reported, there are really uncorrectable read errors in the resulting audio file.
Q:I am getting Sync and Read errors occasionally, but EAC will still finish ripping, though with some "suspicious" positions. What to do now?
A:Clean the CD carefully and try again. If the errors don't go away, listen to the suspicious positions and decide whether they are audible or not. You could also try to rip these tracks in burst mode, sometimes the reader could get better results on these bad sectors.
Extraction Technology
In secure mode, this program reads every audio sector at least twice. That is one reason why the program is so slow. But by using this technique non-identical sectors are detected. If an error occurs (read or sync error), the program keeps on reading this sector, until eight of 16 retries are identical, but at maximum one, three or five times (according to the error recovery quality) these 16 retries are read. So, in the worst case, bad sectors are read up to 82 times! But this will help the program to obtain best result by comparing all of the retries. If it is not sure that the stream is correct (at least it can be said at approx. 99.5%) the program will tell the user where the (possible) read error occurred. The program also tries to adjust the jitter artefacts that occur on the first block of a track, so that each extraction should be exactly the same. On drives found to have the "accurate stream" feature, this is guaranteed. Of course, this is a little bit more complex, especially with some CD drives which have caching. When these drives cache audio data, every sector read will be read from cache and is identical. I initially implemented two ways of dealing with the caching problem. First there is an extra option for resetting the cache for use the the old secure mode (the one being kept for compatibility reasons). In the current beta version, the cache will still be reset by resetting the drive completely. You might imagine that this would slow down the reading process very badly.
That is why I implemented three new read modes in version 0.85beta. One really fast mode (up to half of maximum speed) is only for non-caching, accurate stream CD-ROM drives. The second one could be used for caching, accurate stream drives and the last one will work with drives that don't have accurate streams, or do caching. The last two will be much slower, when no read errors occur it will usually something around a third to a fourth of the drives maximum speed.
For my testing, I am using a Plextor 14/32 drive that does no caching and a Teac R56S-600 drive that does caching. Furthermore the Plextor 14/32 supports the "accurate stream" feature, so it produces no jitter artifacts on any stream. For more information on this have a look at the table at the end of this document.
This program is really damn slow in secure mode in comparison with other grabbers, but the program checks every sector over and over to get the correct data with high certainty. If you don't like this feature of EAC and prefer fast copies instead of secure copies, you should use the fast or burst extraction option in the options menu. But of course in fast mode, the program will no longer be able to find read errors. Only if a read error occurs in a sector synchronization area, will a sync error will still be displayed. Fast mode is sector synchronized with 2 blocks of 23 as synchronization blocks. Burst copy is even worse, no synchronization is done, enabling extraction at maximum speed of the drive. No error checking of any kind can be performed. At least I implemented a small help. If the stream ever breaks, it will tell the user in the status report by showing up suspicous positions. Of course this is only heuristic; there needn't be any errors on that positions; moreover there could be errors that are not found at all.
A new option for selecting the error recovery quality will determine how often these blocks of 16 reads will be done before giving up and working with the results obtained so far. For bad CDs, low error recovery quality will be fastest, but high recover quality should give best results.
Offset Technology
'Sample Offset' is another new feature of EAC, it will help to always get the same WAVs compared to a different reader and to prevent generation losses. Nearly all drives can not position the head correctly. That means if the program tells the drive to read block 10000 it will probably read data somewhere in block 9998 instead. But this is not visible to the reading program, it won't know if it is really the data it wanted. Usually the head will be set always to a fixed offset before or after the correct read position. So it is possible to detect this offset once and use it for all CDs coming afterwards. Because it is a hard task to determine the exact absolute offset for each drive, I determined it once on my Plextor 14/32. To find out the offset of any other drive the offset is calculated relative to that absolute offset. To implement an offset detection for other drives I took some bytes from some common CDs I and my friends own. These are the reference each CD-ROM drive has to compare with. Of course I have implemented only a limited selection of CDs that can be used to detect this offset, a list follows below. Sometimes there are different versions (releases) of the same CD, but only the same press like the one I used will work. That is why the table below shows a code, that is written on the inner ring of the music CD, that should identify the release of a CD. The red codes are from CDs which do not work with this test. In time I will add more CDs to test this offset. Furthermore, drives that have jitter are unable to position their heads correctly. So you should activate the secure or fast extraction method and moreover if your drive does caching, activate no-caching emulation. The 'Searching Track Start' algorithm tries to find the correct start position even if jitter occurs. But this is not always possible, mainly if the drive jitters too much. But it can be shown that nearly 80% of the reads will get the same results. A drive's characteristic offset can be found automatically from the CD from on the list of reference CDs. Because of the mentioned jitter error the value given back is also not 100% sure. You should start the test several times and remember to activate emulate no-caching if necessary. Then you should get one value that occurs more often than other values. YOU SHOULD USE THIS TEST ON TWO DIFFERENT CDS AT LEAST! BOTH TESTS SHOULD GIVE BACK THE SAME VALUE! My Plextor 14/32 has an offset value of +679 samples, that means that 679 samples usually are missing at the end of a wav file.
As different modells of common CD-R writer usually do not add the same offset on writing, it seems that also big CD manufactures also do not always press the same offset on their CDs. So I determined the most common offset of pressed CDs and integrated it into the offset detection routines.
Please help us measure more reference CDs. If you have a Plextor 14/32 32x CD-ROM drive, we know the offset. So all you have to do is run some popular disks from your own collection through it with a utility you could download here and send me the output.