EAC secure mode test proposal, Testing its real accuracy
EAC secure mode test proposal, Testing its real accuracy
May 3 2003, 14:41
Joined: 26-November 02
Member No.: 3890
Edit : this discussion is splitted from this thread : http://www.hydrogenaudio.org/forums/index....=ST&f=20&t=8849
QUOTE (spoon @ May 3 2003 - 02:23 AM)
Well, actually errors 'always' (99.99...%) return different data for every new read.
How do you know that? it might be 60%, or 10%, because it cannot detect when the data is the same you cannot put a % on it. When AccurateRip makes its way onto EAC then you could put a percentage on it.
A. I haven't read anything about a "validated" percentage like this anywhere (wrong_samples_noticed_by_EAC_due_to_non-matching_results_on_re-read / total_number_of_wrong_samples).
B. This could be tested (volunteers appreciated) like this:
1. You need a (set of) reference .wav file(s). For this either rip a CD in perfect condition, EAC secure mode, ideally compare the CRC to a identical disk's ripped by someone else (cheers to AccurateRip ) or choose some .wav files, burn them to CD-R and make sure you keep them unchanged on your HDD.
2. Take the CD(-R), damage it (e.g. different kind of scratches, caused by screwdrivers, sandig paper, ...; dirty fingerprints; draw lines with a thin marker on the data side; ...). Start carefully and try what happens in the next steps. If the disk turns unreadable and causes timing problems/sync errors in burst mode this won't work ...
3. Extract the damaged disk two times in burst mode resulting in a.wav and b.wav.
4. Do wave substractions (Cool Edit: mix paste - overlap - invert checked) r-a.wav=reference.wav - a.wav and r-b.wav = reference.wav - b.wav and a-b.wav = a.wav - b.wav using Cool Edit or another wave editor capable of that - make sure that dither is disabled in this and the next steps.
5. We want to know how many samples have been turned "wrong" by damaging the disk, so we create a Cool Edit boolean operation™ like this: if a sample has been read correctly in a.wav, the corresponding sample in r-a.wav will be 0, otherwise something =|= 0. To find samples that are wrong in a OR b, we add r-a.wav and r-b.wav. To prevent errors here we multiply both files with themselves (Cool Edit: mix paste -> modulate), so all values are 0 (correct) or >0 (wrong). To prevent errors here (Cool Edit devides by 32768 after multiplying, so values -182<y<182 will turn 0 due to rounding) we amplify both .wavs by 100dB before. This will lead to 0 values = correct and 32767 values = incorrect (-> amplification by 100 dB makes all samples =|= 0 clip in 16 bit resolution). So the steps are:
5.1. Amplifying: r-a_100.wav = r-a + 100dB; r-b_100.wav = r-a + 100dB
5.2. Copy r-a_100.wav to clipboard and mix paste - modulate r-a_100.wav with data from clipboard, result: r-a_100m.wav; do the same with r-b_100.wav => r-b_100m.wav
5.3. Add (= Cool Edit mix paste - overlap) r-a_100m.wav + r-b_100m.wav = wrong_samples.wav
In the file wrong_samples.wav. we have now all 0 samples stand for correctly extracted samples in both EAC burst mode runs while =|= 0 samples (32767) stand for extraction errors.
6. Now first interesting thing to do IMO would be to have a look at the error postitions. Are there isolated wrong samples or do they occur as blocks / "bursts"?
7. Now we want to know how many of the wrong samples have gotten different values in the two burst mode runs so EAC secure mode would have detected them. For this we
7.1. apply steps 5.1 and 5.2 to a-b.wav resulting in a-b_100m.wav
7.2.1. Take a-b_100m.wav and apply Channel Mixer -> Full mix (L = L+R; R = L+R). -> detected_errors.wav
7.2.2.: multiply wrong_samples.wav with detected_errors.wav (Mix Paste Modulate) and substract the result from detected_errors.wav, resulting in the corrected undetected_errors.wav.
The result will contain 0 samples for correct samples and detected errors and 32767 samples for undetected errors.
8. Counting the Number of 32767 samples in wrong_samples.wav (W) and in undetected_errors.wav (O) will enable you to calculate a percentage of correctly detected errors: P=(W-O)/W
Additionally we could rip 3 or 4 times in burst mode instead of 2 times to find out if and how often Test & Copy in secure mode without C2 detects addtional errors.
And we could rip in secure mode, C2 enabled (if drive capable) to find out the "P" value for the drive's C2 detection.
edit2: changed some "?" to "=|=" which means "un-eaqual"
I missed one thing: If in the 1st 2 reads an error occurs, the sample is re-read in both channels, no matter if the error was detected in one or both channels. So "undetected" errors in one channel are in fact detected if there's a detected error at the same postion on the other channel.
To take this into account in the test, step 7 is modified (see above).
This post has been edited by tigre: May 6 2003, 10:28
Let's suppose that rain washes out a picnic. Who is feeling negative? The rain? Or YOU? What's causing the negative feeling? The rain or your reaction? - Anthony De Mello
May 5 2003, 14:58
Joined: 17-April 03
Member No.: 6024
5 sounds good, I'll have a look at it later. But the underlying assumption of your argument, that EAC can be used to test the correctness of a drive's error-reporting / accurate rip, is that EAC doesn't mess up the wav in any way. Which sounds reasonable, only I would like to add that I have seen cases where cdparanoia and plextools would return identical rips, and EAC would disagree. And in this case, that using all variations of ripping modes in EAC (and a number of different speeds for the drive) still gave the exact same disagreement between rips.
So.. perhaps one should test different rippers as well?
QUOTE ("american dude")
Isn't it possible that the drive speed affects the accuracy of the read?
Yes, that is correct. CAV seems better than CLV from my tests with daequality - I would guess the constant velocity of the drive is easier on the servo'es and thus the ECC-handling (less jitter, for starts).
Try daequality's disc and instructions out at different speed settings for your drive.
EDIT: DrDoogie, you take my advice to get out of Iraq, you run like hell, and then you stop in North Korea!? I would really advise you to change travel agents.
I'm just stoking up on radioactives, before I go on my annual holiday to the land of the free and the brave burger-munchers. You'd be amazed at how much material one can bring into the country if one only dilutes it, shields it a bit, and is patient.
Now, which city should be brought to justice, I wonder? "Inee-meeny-meeny-moo, where is the dirty bomb gonna blow?"
|Lo-Fi Version||Time is now: 3rd May 2015 - 15:16|