View Single Post
  #72  
Old 2020-02-23, 05:35 PM
Five's Avatar
Five Five is offline
 
Join Date: Oct 2004
Location: Canada
Re: The Validity of MD5 Checksums

earliest EAC pages from archive.org, 1999

some 1999-07-30 updates..
Quote:
Originally Posted by exactaudiocopy.de
About Me

I am a student of computer science and mathematics here at the University of Dortmund. At the moment I have some preparations on aural examinations and the start of an one year project group. Beside the usual work at the university as a student, I started work for VOB (CDWizard) on Jukebox driver.
In my spare time I like spending time with my friends and playing computer and board games. Of course I also work on some computer projects like this one. Further I do a lot of sports like cycling, walking, inline skating and some martial arts.
I am using now a Pentium II 400, total of 2.5 GB IDE harddisks, 4.3 GB SCSI harddisk, 128 MB RAM, Plextor 14/32 CD-ROM drives, Teac R56S-600 CD-R drive, Asus V3400 TNT 16 MB video card, Creative SB Live! soundcard, Windows 98 and Stony Brook Modula 2.
earliest archive.org capture of eac documentation page, 1999-11-27
Quote:
Originally Posted by exactaudiocopy.de
Documentation

This is only a prerelease, so no work on the user documentation has been done yet. A complete user guide and documentation will be done as soon as a stable version has been published.
If you encounter any further bugs, please report them by mail or e-mail. Also report any drives that work or don't work, to complete the list below. If you want to report anything, please don't forget these important informations
  • Operating system
  • Hardware configuration (CPU, memory, CD-ROM drive, etc.)
  • CD-ROM drives working / not working, drive caches audio data / don't caches audio data, accurate streaming / non-accurate streaming
  • Any bugs that occurred
Please do not bother me with simple questions like "How could I save my wave file with 22.050 Hz, 8 bit, mono ?". I will try to answer all reports / questions but I don't know how long it will take. I am a student and I also have to work to earn some money, so I have not much time for these things, so please be patient.
this next partis from 2000, when the all-important secure mode was added
Quote:
Originally Posted by exactaudiocopy.de
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 cdrom 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.

Gap Technology

In the new versions of EAC it is possible to detect pre-track gaps. These are the pauses between two tracks. Usually they are two seconds long and a cd player will display a negative time during this pause. By enabling the option 'Detect Pre-Track Gaps' it will be possible to detect all gap-lengths by reading the sub-channel informations. Because this information is not stored on the cd directly retrievable, EAC has to search for the position a track ends. This search is quite fast, but it still takes on average a second per track. That's why I made it possible to diable it in the options. Besides that option you can choose to add the gaps to the previous track nevertheless. Otherwise you can choose either to append the gap to the correct track or to leave it out . A benefit of performing the detection and getting the gap times is the selection of a range to copy. There the correct times will be displayed. A last word on this topic: because these pre-track gaps are found out by testing positions, it could occur that not 100% exact values are calculated, but in most cases it will be correct.

Automatic Feature Detection Technology

From version 0.8 beta on it is possible to autodetect cd-rom drive features. For each drive the program builds a separate drive options page. On this option page this function can be called.
There are two different features that will be checked by EAC, first if the stream is accurate and second if the drive caches audio(!) data. Even if the drive has a cache (drive specifications), it does not automatically means that the drive uses that cache also for audio extractions.
The test for the accurate stream feature should be always correct, but testing on cache will give some problems with drives that extracts audio very slowly (under 4X speed). If results are uncertain (given e.g. two different results on different tests), you should assume that the drive does caching. The new secure mode for non-accurate and/or caching drives should work for all drives. The other new read modes are only something faster. If testing on accurate stream will give only sometimes a negative result, then you could nevertheless try to use the accurate secure mode.

Track Synchronization Technology

Usually cd audio extraction programs will extract one track after another. This could make some problems on CD-ROM drives that are not accurate on a CD which has no gaps. When this option is enabled in the EAC options, EAC will synchronize a track with a preceeding track if there is no silence at the track junction, so track transitions will be free from jitter artefacts (e.g. on live recordings).

Offset Technology

'Sample Offset' is another new feature of EAC. Because most drives lack the 'accurate stream' feature, it will help to get always the same wavs as another reader. Some 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 in the table below show also 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 that does not work with this test. In time I will add more CDs to test this offset. Drives that have jitter are furthermore not able 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.
Quote:
Originally Posted by exactaudiocopy.de
Sound Editor

From version 0.8 on EAC includes a small wave editor that will have some neat functions that could be handy when handling extracted audio files. At the moment only uncompressed 16 bit 44.1 kHz stero samples files could be used. Following some functions are described more in detail.

Glitch Removal

From version 0.6beta on it is possible to remove glitches from extracted wave files. This will work only on uncompressed files.
What are glitches? Glitches are single samples that are completly out of the wave stream. Best to see on these pictures, which is a really extreme example that probably won't occur with EAC.

Before: Afterwards:

Only these glitches are removed. When hearing a wave file with glitches it is usually a high frequent 'tick'. Linear interpolation is used for removal of these glitches. Pops and other artefacts are more deep in the sample structure and are not removed yet, but is also planned for future releases. Pops occurs mainly in a lost of sync, where two parts of a wavefile are joined that does not fit correctly at these points of change of parts.
Interpolation
At first I want to note that this feature is not fully correctly implemented and would create not always clean replacements of the selected wav range. The selected range has to be pretty small, otherwise the menu entry will be disabled.
This function will work on the frequency spectrum of the wave. The spectrum of the selected range will be interpolated from spectra of ranges left and right of the selected one. This function should be used to remove detected pops.
Linear Interpolation will create a linear connection between the points of the wave in the selected range. This should only be used for very small ranges.

Automatic Detection Of Pops

This function tries to find automatically pops in the selected range. This is something slow, so you shouldn't select the complete file, but a smaller area. This algorithmus is also not very good yet, it will find some pops where no are and also not found all real pops... In the next version improvements are planned that will add user defineable parameters to nearly all these edit functions.
After EAC ended the search it will display a dialog with all found positions. With a double click on such a position it will select the matching range.

Noise Reduction

To reduce noise from a wave it is necessary to have a noise profile. This could either be loaded from disk (or saved after created), or created from a selected range. This range should at least something around half a second. This range used for the creation of the profile should consist of pure noise, no other sound/music should be found in the selected range.
After having a noise profile this could be used on any range of the wav (usually the complete file) to reduce the kind of in the profile analyzed noise.

Spectral Display

If the Spectral button is selected, it takes some seconds to calculate a frequency spectrum for the displayed range. This kind of display has some advantages. E.g. pops are easily be recognized, as example you should have a look at the top of the page.
The Y axis will be used for different frequencies, at the bottom low frequencies are displayed and at the top high frequencies (up to 22.5 kHz). Further the color of a point describe the amplitude of each frequency band. If there are discontinuties in this view, there is sometimes something wrong in the wave.

Smooth Samples

This function will smooth the amplitude of a sound. This is usefull for LP recordings or other pops/clicks. The amplitude is smoothed, what means that high frequent parts are filtered out. So this function will perform a kind of low pass filtering, but it won't cut of frequencies about a special limit, but lower the volume according to its frequency.
This function will also help on removing pops/clicks. This function could be called as often as needed for the same range.
Attached Images
File Type: gif seditor.gif
( 44.2 KB, 20 views)
 
__________________
Checksums Demystified | ask for help in Technobabble

thetradersden.org | ttd recommended free software/freeware webring
shntool tlh eac foobar2000 spek audacity cdwave vlc

Quote:
Originally posted by oxymoron
Here you are in a place of permanent madness, be careful!
Reply With Quote Reply with Nested Quotes