Exact Audio Copy: Difference between revisions

From Hydrogenaudio Knowledgebase
No edit summary
m (template test)
 
(82 intermediate revisions by 30 users not shown)
Line 1: Line 1:
[http://www.exactaudiocopy.org Exact Audio Copy](EAC for short) is a free software that can be used to extract tracks from an Audio CD to your computer's hard disk. What makes EAC special compared to other rippers is the fact that it is capable of reading audio CDs almost perfectly.
{{Zkortest}}{{featured}}
{{software Infobox
| name                = Exact Audio Copy
| logo                = [[Image:EAC icon.png|48px]]
| screenshot          = [[Image:EAC_screenshot.png|250px|Exact Audio Copy screenshot]]
| caption            = popular secure ripper with C2 error correction
| maintainer          = Andre Wiethoff
| repository          =
| released            = {{start date and age|1998|06|25}}<ref>[http://www.exactaudiocopy.de/en/index.php/resources/whats-new/whats-new/ What's new » Exact Audio Copy]</ref>
| stable_release      = 1.8
| stable_release_date = {{start date and age|2024|07|14}}
| preview_release    = N/A
| operating_system    = Windows, Linux/BSD (Wine Emulation)
| use                = Digital Audio Extraction
| license            = Proprietary, Cardware
| website            = [http://www.exactaudiocopy.org/ exactaudiocopy.org]
}}
{{EAC guides}}
'''Exact Audio Copy''' ('''EAC''' for short) is a freeware software that can be used to extract tracks from an [[Audio CD]] to your computer's hard disk. What makes EAC special compared to other rippers is the fact that it is capable of reading audio CDs almost perfectly.
 
EAC uses various methods for extracting audio data. EAC can also invoke externally installed encoders, thereby making it possible to simultaneously rip and encode audio data to the format of your choice.
EAC uses various methods for extracting audio data. EAC can also invoke externally installed encoders, thereby making it possible to simultaneously rip and encode audio data to the format of your choice.
----
=EAC Configuration and Usage Guide=
EAC is the most powerful and advanced ripper available - it delivers the highest quality rips possible, and unsurprisingly is the most popular ripping software at Hydrogenaudio.
There's one catch - configuring it correctly is a newbie's nightmare. This guide will take you through all necessary steps of the configuration, so you will be able to enjoy high quality compressed audio no matter how advanced you are.
''Before you continue reading this, you should first decide which format to use for your music archive. The choice is often difficult - the [[Audio format guide]] may make it easier for you.''
To begin with, download EAC and install or unzip it to a folder of your choice. Also, you should download and install the VOB ASAPI Driver, especially if you are running Windows 2000/XP. Both programs are available at the [[download page]].
Note: This tutorial assumes you are installing EAC for the first time, i.e. that the default settings are set to start with. If this is not the case, you can reset them by doing the following:
*Press <Windows Key> + <R> (or click 'Start | Run'), type ''regedit'', and hit <Enter>.
*Go to the key ''HKEY_CURRENT_USER\Software\AWSoftware\EAC'', and delete it by pressing '''Del'''.
==EAC Configuration Wizard==
Upon running EAC for the first time, a setup wizard will appear. Close it by clicking ''Cancel'', and '''close and restart''' EAC. This is important - we have to do this to circumvent a bug in EAC which makes the program configure your reading devices (CD-ROM/DVD/CD-RW drives) incorrectly when it is first run.
After restarting, re-run the config wizard by clicking EAC -> Configuration Wizard. Keep a clean Audio CD handy, you'll need it in a minute to test and configure your drives.
Click ''Next''; EAC will now list all CD drives it found in your system (all of them should be checked). Click ''Next'' again.
You will now be asked what read mode to use for the drive. Be sure to enable ''I prefer to have accurate results'':
[[Image:Wizard_accurateresults.png|none|frame|I prefer to have accurate results]]
Click ''Next'' again. On the next page, click ''I don't trust these values, detect the features for my drive''.
[[Image:Wizard_donttrust.png|none|frame|I dont trust these values]]
Now, insert an Audio CD into your drive (if you have more than one, you will see in the window which one to use), and click ''Next'' twice. EAC will now perform some tests in order to determine your drive's capabilities, and display the results within a few minutes.
[[Image:Wizard_results.png|none|frame|Detection results]]
If this is the case, click ''Next'' again. If you have more than one drive, the same procedure must now be repated for the other drives; once all drives have been tested, a summary like this will be displayed:
[[Image:Wizard_driveranking.png|none|frame|Drive ranking]]
Don't rely on this. This is purely a feature-based ranking (mainly dependant on the ''Audio Caching'' feature which is an obstacle for secure audio extraction) - it provides no assessment of the drives' actual ripping quality (in this example, EAC is completely wrong - the NEC drive is totally unreliable for audio extraction, while the Lite-On is excellent). You will have to test this for yourself later.
Now, click ''Next'' again. EAC will now ask you whether or not you would like to configure the LAME encoder - uncheck the appropriate option, and proceed to the next page:
[[Image:Wizard_lame.png|none|frame|Uncheck 'Install and configure the external LAME.EXE compressor']]
You will now be asked for your e-mail address in order to access the freedb online music database. You needn't enter your real one, something like this will do:
[[Image:Wizard_freedb.png|none|frame|Enter e-mail address]]
Click ''Next'', and select ''I am an expert, let me use the full potential of EAC'' on the next page:
[[Image:Wizard_expert.png|none|frame|Expert mode]]
Don't worry about it if you're not an expert ;-) - this tutorial explains all important options. Also, when run in Beginner Mode, EAC resets some settings that are important to us.
Click ''Finish'' now to close the wizard.
==EAC Options==
Check out the EAC options in the EAC menu. While there isn't necessarily much you should change, it is important that you set error recovery quality to "high". Notice that the below Coaster Factory tutorials are for EAC 0.9 Prebeta9, so don't take everything as a fact.
[http://users.pandora.be/satcp/eac02p.htm Coaster Factory (CONFIGURING EAC OPTIONS)]
==CD-ROM Drive Options==
For perfect rips, you should setup your CD-ROM drive correctly (secure mode options, offset correction options, gap detection options). Go to the drive options in EAC menu and follow these instructions:


Drive Setup (done once):
== Features of Exact Audio Copy ==
* Usage of the Windows 95 and Windows NT ASPI Interface, so both SCSI and ATAPI CD-ROM drives are supported
* Hidden sector synchronization (jitter correction)
* Secure, fast and burst extraction methods selectable. Fast extraction should run at the same speed as other grabbers, but is probably not exact anymore. Burst mode just grabs the audio data without any synchronization.
* Read error and complete loss of sync detection and correction in secure modes, as far as possible
* Output of time positions of all non-exact corrections and listen to these positions
* Copy of ranges of music data, not only tracks
* Automatic Speed reduction on errors and fallback afterwards
* Normalization of extracted audio
* Usage of the Windows Audio Compression Manager (ACM Codecs) for direct compression e.g. to MP3 waves
* Support for the BladeEnc DLL that is usable like an ACM Codec for online MP3 compression
* Support of external MP3, VQF, RA and AAC encoders for automatic compression after extraction
* Batch compression and decompression of/to WAV files
* Compression offset support for exact compression/decompression
* Detection of pre-track gaps
* Detection of silence in pre-track gaps
* Automatic creation of CUE sheets for CDRWin, including all gaps, indices, track attributes, UPC and ISRC
* CD player functionality and prelistening to selected ranges
* Automatic detection of drive features, whether a drive has an accurate stream and/or does caching
* Sample Offsets for drives with no accurate streams, including the option of filling up missing samples with silence
* Option for synchronizing tracks for non-accurate stream drives
* Filename editing with local and remote CDDB database and cdplayer.ini support and more features like ID3 tagging
* Browse and edit local database
* Local CDDB support
* Record and Loop Record functions for recording from LP, radio, etc.
* Automatic rename of MP3 files according to their ID3 tag
* Catalog extraction function
* Multisession (CD-Extra) support
* CD-Text support
* CD-Write support for some drives
* ID3 Tag editor with drag and drop possibility from track listing and database
* Glitch removal after extraction
* Small WAV editor with the following functionality: delete, trim, normalize, pad, glitch removal, pop detection, interpolation of ranges, noise reduction, fade in/out, undo (and more)
* Program is Cardware, so feel free to copy


Select: ''Secure mode with the following drive features (recommended)''
===Removed features===
EAC 0.9 beta 1 (21 Jan 2001) through 0.95 prebeta 3 (11 May 2003) had manual TOC detection as an option, "useful if a CD is defective and displays wrong track positions or data tracks instead of audio; EAC will try to detect the CD structure by analysis." This could also be used to detect pre-emphasis and copyright flags in the subcode, since they're sometimes missing from the TOC. The manual TOC detection feature was removed in 0.95 prebeta 4 (9 Nov 2003) due to European legislation which would outlaw software capable of circumventing a certain type of CD copy protection involving erroneous TOC data.<ref>Andre said at the time: "The German magazine c't published [http://www.heise.de/ct/artikel/Die-Grenzen-des-Erlaubten-290330.html an article] [about] whether EAC is or is not violating a German law against circumvention of copy protections on audio CDs. Some of the experts they asked had the opinion that the function of retrieving the native TOC is at best working at the limit of legality. Due to that article and to eliminate any possibility of legal problems, I decided to remove that function (although I am pretty sure that it is absolutely legal). I always try to make sure to be fully compliant with German law, even if I would interpret the law absolutely differently."</ref>


You will need to detect & apply drive features when using secure mode but only if you chose not to use the configuration wizard otherwise you can skip drive setup. Beware that these features are unique to every CD-ROM drive
A related feature, "retrieve native TOC", was available through 0.95 beta 3 (30 Aug 2005); it reloaded the TOC info from the lead-in, same as ejecting and reinserting the disc, but without losing metadata.


===Drive Features===
EAC 1.0 beta 1 (23 Nov 2010) removed the following features:
* Compression offset
* ID3v1 tag editor
* Support for pre-XP versions of Windows (95/98/Me/NT4/2000)


; Caching/Drive caches audio
EAC 1.0 beta 3 (22 Sep 2011) removed the option to not use null samples for CRC calculations.
: If EAC reports "Caching: Yes" your drive caches audio data, every sector read will be read from cache and is identical, this will increase the probability of errors & cause a speed decrease. EAC needs to clear the cache by overreading it, enable this by ticking the "drive caches audio" box.


: Tip: EAC may misinform about audio caching as an alternative you can use [http://www.feurio.com/English/Download/download_install.shtml Feurio's] audio caching test found in Feurio.exe\Ctrl+Alt+P\Test device\Cache test.
===Limitations===
* The log for non-Test & Copy burst-mode rips will say "No errors occured"<!--yes, occured is misspelled--> on all tracks, but in this mode, EAC does not actually check for inconsistent data.
* Pre-emphasis and copyright flags are only checked for in the TOC, which sometimes doesn't match the flags in the subcode. Usually the subcode is correct.
* ISRC codes are sometimes read incorrectly.<ref>[http://www.studio-nibble.com/cd/index.php?title=Exact_Audio_Copy_(EAC) Exact Audio Copy (EAC)] on CDHistory</ref>


: Tip: Some drives disable audio caching at low speeds, if your drive is set to DMA transfer mode try changing it to PIO only transfer mode then re-test for caching.
== How it works ==
=== 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 artifacts 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.


; Accurate Stream/Drive has ‘Accurate Stream’ feature : If EAC reports "Accurate Stream: Yes" your drive doesn't jitter this will decrease the probability of errors & cause a speed increase, enable this option by ticking the "Accurate Stream" box.
That is why it was 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 testing, it was used 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.


; C2 Error Info/Drive is capable of retrieving C2 error information"
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. If the stream ever breaks, it will tell the user in the status report by showing up suspicious 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.
: With C2 enabled EAC's error detection becomes dependent on the drives C2 accuracy which varies from drive to drive & increases the probability of errors, this feature also results in a speed increase because EAC doesn't read the data twice anymore, If your drive supports this feature & you decide to use it enable this by ticking C2 Error Info box.
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.


: Tip: To determine your drives C2 accuracy you could attempt creating a [http://www.exactaudiocopy.org/eac13.html DAE Quality] test CD. This takes a long time though. If you are not completely sure your drive supports C2 correctly you should disable this feature in EAC.
=== 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 information. 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 disable 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. One last word on this topic: Because these pre-track gaps are found by testing positions, it is possible that it will not be 100% exact. But in most cases it will be correct.


: Tip: [http://users.pandora.be/satcp/eacoffsets01.htm#- The Coaster Factory], [http://www.offsetbase.eac-audio.de/offset-en.php Eac-Audio.de] have databases with user reported drive settings, you can use them to determine the appropriate features for your drive.
=== 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 mean that the drive uses the cache for audio extractions.
The test for the accurate stream feature should be always correct, but testing for cache will give some problems with drives that extract audio very slowly (under 4× 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 a bit faster. If testing for accurate stream only sometimes gives 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 cause some problems on CD-ROM drives which are not accurate, when using a CD which has no gaps. When this option is enabled in the EAC options, EAC will synchronize a track with a preceding track if there is no silence at the track junction, so track transitions will be free from jitter artefacts (e.g. on live recordings).


So an ideal drive would support accurate stream (tick) & wouldn't cache audio (no tick).
=== Offset technology ===
[http://users.pandora.be/satcp/eac03p.htm Coaster Factory (EAC DRIVE CONFIGURATION)]
''Sample Offset'' is another 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. To find out the offset of any drive the offset has to be calculated relative to an absolute offset (reference offset).


==Secure Read Mode==
To implement this detection for all drives some bytes from common CDs (reference CDs) are used. These are the reference each CD-ROM drive has to compare with. Of course it was implemented only a limited selection of CDs that can be used to detect this offset. Sometimes there are different versions (releases) of the same CD, but only the same press like the one that was used will work. 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!'''
In "'''Secure Mode'''", the program reads every audio sector at least twice, hence detecting non-identical sectors. If an error occurs (read or sync error), the program continues to read the same sector, until eight of 16 retries are identical, but at maximum one, three or five times (according to the error recovery quality). So, in the worst case, bad sectors are read up to 82 times! But this will help the program to obtain the best result by comparing all of the retries. If it is not sure whether the stream is correct (at least it can be said at approx. 99.5%) the program will show the user the location of the (possible) read error.
As different models 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 it was determined the most common offset of pressed CDs and integrated it into the offset detection routines.
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 which have the "accurate stream" feature, this is guaranteed. Of course, this is a little more complicated, especially with some CD drives which cache audio data. In such drives, every sector read will be from the drive's cache and is therefore identical to the data that was previously read, thereby rendering EAC's errror detection abilities ineffective. However, In the current beta version (when the program is properly configured), the cache will be reset by resetting the drive completely. This is the reason why the reading is so slow in "Secure Mode".
Please help us measure more reference CDs. If you have a Plextor 14/32 32× 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 us the output.


==Freedb/Database Options==
== See also ==
* [[EAC release history]]
* [[EAC and Cue Sheets]] ASCII formats explained
* [[EAC Vs CDex SecureMode | EAC secure mode versus CDex full paranoia]] (by Pio2001)
* [[REACT]] 2 integration for running EAC scripts


If you are online, go to the freedb/database options in the EAC menu. Put in an email address and click "get active freedb server list..."
== Notes ==
<references/>


(still under construction...)
== External links ==
* [http://www.digital-inn.de/forum271/ EAC forums] [dead link]


=Additional reading=
[[Category:CD Rippers]]
* EAC [[Gap settings]]
[[Category:Software]]
* [[EAC CUE Sheets]] ASCII formats explained

Latest revision as of 14:01, 22 October 2024

Featured article
Exact Audio Copy
Exact Audio Copy screenshot
popular secure ripper with C2 error correction
Developer(s) Andre Wiethoff
Release information
Initial release June 25, 1998; 26 years ago[1]
Stable release 1.8 (July 14, 2024; 0 years ago)
Preview release N/A
Compatibility
Operating system Windows, Linux/BSD (Wine Emulation)
Additional information
Use Digital Audio Extraction
License Proprietary, Cardware
Website exactaudiocopy.org

Exact Audio Copy (EAC for short) is a freeware software that can be used to extract tracks from an Audio CD to your computer's hard disk. What makes EAC special compared to other rippers is the fact that it is capable of reading audio CDs almost perfectly.

EAC uses various methods for extracting audio data. EAC can also invoke externally installed encoders, thereby making it possible to simultaneously rip and encode audio data to the format of your choice.

Features of Exact Audio Copy

  • Usage of the Windows 95 and Windows NT ASPI Interface, so both SCSI and ATAPI CD-ROM drives are supported
  • Hidden sector synchronization (jitter correction)
  • Secure, fast and burst extraction methods selectable. Fast extraction should run at the same speed as other grabbers, but is probably not exact anymore. Burst mode just grabs the audio data without any synchronization.
  • Read error and complete loss of sync detection and correction in secure modes, as far as possible
  • Output of time positions of all non-exact corrections and listen to these positions
  • Copy of ranges of music data, not only tracks
  • Automatic Speed reduction on errors and fallback afterwards
  • Normalization of extracted audio
  • Usage of the Windows Audio Compression Manager (ACM Codecs) for direct compression e.g. to MP3 waves
  • Support for the BladeEnc DLL that is usable like an ACM Codec for online MP3 compression
  • Support of external MP3, VQF, RA and AAC encoders for automatic compression after extraction
  • Batch compression and decompression of/to WAV files
  • Compression offset support for exact compression/decompression
  • Detection of pre-track gaps
  • Detection of silence in pre-track gaps
  • Automatic creation of CUE sheets for CDRWin, including all gaps, indices, track attributes, UPC and ISRC
  • CD player functionality and prelistening to selected ranges
  • Automatic detection of drive features, whether a drive has an accurate stream and/or does caching
  • Sample Offsets for drives with no accurate streams, including the option of filling up missing samples with silence
  • Option for synchronizing tracks for non-accurate stream drives
  • Filename editing with local and remote CDDB database and cdplayer.ini support and more features like ID3 tagging
  • Browse and edit local database
  • Local CDDB support
  • Record and Loop Record functions for recording from LP, radio, etc.
  • Automatic rename of MP3 files according to their ID3 tag
  • Catalog extraction function
  • Multisession (CD-Extra) support
  • CD-Text support
  • CD-Write support for some drives
  • ID3 Tag editor with drag and drop possibility from track listing and database
  • Glitch removal after extraction
  • Small WAV editor with the following functionality: delete, trim, normalize, pad, glitch removal, pop detection, interpolation of ranges, noise reduction, fade in/out, undo (and more)
  • Program is Cardware, so feel free to copy

Removed features

EAC 0.9 beta 1 (21 Jan 2001) through 0.95 prebeta 3 (11 May 2003) had manual TOC detection as an option, "useful if a CD is defective and displays wrong track positions or data tracks instead of audio; EAC will try to detect the CD structure by analysis." This could also be used to detect pre-emphasis and copyright flags in the subcode, since they're sometimes missing from the TOC. The manual TOC detection feature was removed in 0.95 prebeta 4 (9 Nov 2003) due to European legislation which would outlaw software capable of circumventing a certain type of CD copy protection involving erroneous TOC data.[2]

A related feature, "retrieve native TOC", was available through 0.95 beta 3 (30 Aug 2005); it reloaded the TOC info from the lead-in, same as ejecting and reinserting the disc, but without losing metadata.

EAC 1.0 beta 1 (23 Nov 2010) removed the following features:

  • Compression offset
  • ID3v1 tag editor
  • Support for pre-XP versions of Windows (95/98/Me/NT4/2000)

EAC 1.0 beta 3 (22 Sep 2011) removed the option to not use null samples for CRC calculations.

Limitations

  • The log for non-Test & Copy burst-mode rips will say "No errors occured" on all tracks, but in this mode, EAC does not actually check for inconsistent data.
  • Pre-emphasis and copyright flags are only checked for in the TOC, which sometimes doesn't match the flags in the subcode. Usually the subcode is correct.
  • ISRC codes are sometimes read incorrectly.[3]

How it works

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 artifacts 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 it was 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 testing, it was used 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.

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. If the stream ever breaks, it will tell the user in the status report by showing up suspicious 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 information. 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 disable 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. One last word on this topic: Because these pre-track gaps are found by testing positions, it is possible that it will not be 100% exact. 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 mean that the drive uses the cache for audio extractions. The test for the accurate stream feature should be always correct, but testing for cache will give some problems with drives that extract audio very slowly (under 4× 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 a bit faster. If testing for accurate stream only sometimes gives 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 cause some problems on CD-ROM drives which are not accurate, when using a CD which has no gaps. When this option is enabled in the EAC options, EAC will synchronize a track with a preceding 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 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. To find out the offset of any drive the offset has to be calculated relative to an absolute offset (reference offset).

To implement this detection for all drives some bytes from common CDs (reference CDs) are used. These are the reference each CD-ROM drive has to compare with. Of course it was implemented only a limited selection of CDs that can be used to detect this offset. Sometimes there are different versions (releases) of the same CD, but only the same press like the one that was used will work. 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! As different models 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 it was 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 32× 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 us the output.

See also

Notes

  1. What's new » Exact Audio Copy
  2. Andre said at the time: "The German magazine c't published an article [about] whether EAC is or is not violating a German law against circumvention of copy protections on audio CDs. Some of the experts they asked had the opinion that the function of retrieving the native TOC is at best working at the limit of legality. Due to that article and to eliminate any possibility of legal problems, I decided to remove that function (although I am pretty sure that it is absolutely legal). I always try to make sure to be fully compliant with German law, even if I would interpret the law absolutely differently."
  3. Exact Audio Copy (EAC) on CDHistory

External links