nedstat_alt > Exact Audio Copy


Exact Audio Copy >EAC & LAME Quickstart >


Compression is used to reduce the file size. A full 74 minutes CD takes no less than 700 MB of uncompressed WAV data. If you want to transfer this over the Internet you better have a decent connection! Therefore most people want to compress the audio data. Of course you don't want to sacrifice audio quality and that's what this part of the tutorial is about. Once you've set a few general options for the compressing we will discuss a few popular high quality encoders. 

First we will set some general options for compressing with EAC. From The EAC menu select EAC Options... or press F9. This opens the EAC options dialog box. A few options we skipped during the general setup of EAC can be found here on the Tools tab and are related to compressing audio data with EAC.

On extraction, start external compressors queued in the background: (Default: Disabled, Recommended: Enabled) Using this flag will let EAC do all compression tasks during extraction using external command-line encoders in a queue and all codecs at the same time as the extraction. As compression will work beside extraction, this could result in some problems. At first, on slow computers, extraction could get more problematic and errors may occur more often or more severe. Second, using external command-line encoders in worst case, the whole CD is extracted as WAV, so up to 700 MB free space would be needed unlike compression without this option where the next track is extracted when the previous track has finished compression (and could be deleted). To test the advantage of this setting I've done some benchmarks:

Benchmark test system:

- Intel Pentium 3 1000 MHz
- 384 MB RAM
- Windows 2000
- EAC 0.9 prebeta 9
- Audio extracting device: Plextor UltraPlex 32TSi
- External encoder: LAME.EXE 3.87 (MMX) (settings: -b 256 -m s -h)

The test CDs:

- CD 1: The Stranglers - Feline (42:06)
- CD 2: Roxette - Tourism (70:37)
- CD 3: Mike Oldfield - Boxed Disc 1 (63:05)

The tests:

The idea is to extract and encode the 3 CDs as fast as possible. Therefore we use 2 possible encoding methods:

  • Queued compression with the external LAME executable.
  • Non queued compression (old fashion) with the external LAME executable.

The results:

Queued Compression No Queued Compression
Extracting Encoding Extracting & Encoding
Start End Start End Start End
CD 1   0:00 3:06 0:36 5:18 0:00 6:43
CD 2 3:36 8:44 5:18 13:10 7:11 18:02
CD 3 9:19 13:55 13:10 19:04 18:27 28:19

How to interpret this table? Using a stopwatch all start and stop times were written down. Thus for the queued compression that means that CD 1 started extracting at time 0:00. At 0:36, that's when the first track completed extraction, the queued extraction started. After 3:06 minutes the extraction of CD 1 finished. The cool part of queued extraction is that as soon as the extraction finished, but the encoding may still be busy, you can already open the CD-ROM tray to insert the next CD and start extraction. Thus in our case extraction of CD 1 finished at 3:06 and at 3:36 CD 2 started extracting, this while the extracted CD 1 was still encoding. At 5:18 CD 1 was finally encoded and the encoding of CD 2 could start.
At 9:19 CD 3 started reading while it would take up to 13:10 before CD2 was fully encoded to the compression of CD 3 could start. Only 45 seconds later (13:55) CD 3 already finished extraction of CD 3. In other words, nearly a full CD is left to encode, thus eating a lot of disk space. This is because of LAME encodes slower than the Plextor can read audio data. Thus if we would extract & encode a lot more CDs we would need a huge amount of free disk space (several Gigabytes)...
At 19:04 CD 3 finished encoding too and the job is done.

Since non queued extraction has to wait until compression finishes before you can proceed with the next CD there's no advantage of measuring the start and stop times of the compression and extraction respectively. As you can see in the table it took no less than 28:19 minutes before the 3 CDs were extracted and encoded! That's over 9 minutes slower than with queued compression.

Thing to remember for queued compression is that even though the job took 19:04 minutes, we could start extracting an eventually 4th CD already after CD 3 finished extraction at 13:55. That's 14 minutes (!!) earlier than for non queued compression. Thus it's very obvious that queued compression easily beats the other extracting & encoding method which has to wait until compression finishes before the next CD can be processed. I should add that extracting and encoding at the same moment eats a lot of resources and disk space, though the test system remained responsive in all situations and no problems occurred at all.

Do not open external compressor window: (Default: Disabled) Using an external command-line encoder, EAC will usually open a new window showing the output of the encoder. By enabling this option no new window is opened for status messages, thus no conflicts with other applications occur. On the other hand, you don't know how much of a file need still to be encoded (this is assuming that the encoder does provide this kind of information).
Even when the encoder is hidden you can still see how much compression tasks are left waiting in the status bar. In the screenshot below there are 2 compression task left. In other words, 2 tracks still need to be compressed.

Some people will prefer a visible encoder window while others get annoyed by it and will hide it. Decide for yourself. This options is just cosmetic and has absolutely no influence on quality, neither speed.

Click the OK button to save your changes.

From The EAC menu select Compression Options... or press F11. This opens the Compression options window in which you can configure EAC to use compression. Exact Audio Copy supports a large amount of compressors. These compressors come in 3 classes:


A codec is a software component that translates audio streams between its uncompressed form and compressed form. Usually codecs are installed in Windows and shared by all applications supporting codecs. The Fraunhofer IIS MPEG Layer-3 codec for example is a well known codec for encoding and decoding MP3 files.

External compressors

External compressors are stand-alone applications for compressing audio data. If they accept command-line input EAC can use them. The disadvantage is that you have to configure EAC for every external compressor's command-line because there's no standard unlike with codecs. The good thing is that EAC comes with quite a lot parameter passing schemes for the most well known external compressors. External compressors have the advantage of being very configurable. You can alter the command-line input manually, thus allowing every possible option to be set. Codecs or DLL based compressors usually don't have this freedom. Well known external compressors are LAME and Shorten.

DLL based compressors

Certain external compressors are also available as a Dynamic Linked Library, more popular called a DLL. DLL based compressors are invisible to the user, just like codecs. A program which wants to use such a DLL has to be written to support this specific DLL. It's very similar to a codec, but there's no standard as with codecs. Thus for every DLL based compressor a program wants to use, code has to be written. When a new version of the DLL comes available there's the possibility that it's no longer compatible. Therefore most programs do not support this type of compressors or just only one. Exact Audio Copy however, does support the LAME and BladeEnc DLL based compressors.

Encoder offsets

Before we choose and configure the actual compressor a few general options are left to set in the Compression options. Select the Offset tab.

Use Offset Correction for encoding and decoding: (Default: Disabled, Recommended: Disabled) Some compressors do not compress the audio data as is, but they introduce an offset error so that at the beginning is silence and at the end often these number of samples (or more) are missing. This could be bad for compressed live recordings, as they can't be reproduced without gap anymore. By specifying this flag on compression the file will be stuffed and on decompression, by using the offset, the original file could be reconstructed (in most cases).
I do not recommend to use this option. The offset detection uses the default installed codec to determine the offset of the selected compressor, and this codec is not per definition the decoder you use to decode the files! For example, if you use the LAME encoder and have the Fraunhofer codec installed for playing MP3 files, EAC will detect and use the offset between those two. However when you use LAME to decode your files instead of Fraunhofer you are using the wrong offset! And if you distribute your compressed files, how can you know which decoder the recipients will use to decode your files. Some encoders (LAME for example) even already correct their own offset (that is if you use LAME for both encoding and decoding). Thus leave this option disabled unless you know what you are doing and are sure that you have the correct offset correction!

ID3 tagging

The MP3 compression format can contain extra information (tags) like artist, track title, comments,... in the compressed file. This is called the ID3 tag. Most MP3 players display this information which makes it more pleasant to read than a sometimes cryptic file name. If you want to use Exact Audio Copy to compress to MP3 files you'll want to set the ID3 options. For more information about ID3 tags head over to the ID3v2 website. Today also a few other compression formats can take advantage of the ID3 tag. Monkey's Audio is one of them.

Write "Track <tracknumber>" into ID3 Tag comment field: When using ID3 Tags, you are able to store a comment field within it. Now it is possible for EAC to store different strings into it automatically on creation. In this case EAC will store the track number into the comment field.
Write CRC checksum into ID3 Tag comment field: EAC will write the tracks CRC checksum into the comment field, which should be the same on a second error free extraction, but of course only for offset corrected reads or drives of the same model.
Write following text into ID3 Tag comment field: Using this option, EAC will write always the same string into all ID3 Tags to be created. This string can be specified in the text box below and may have maximum length of 29 (ID3 V1.1) - 30 (ID3 V1.0) characters. This is probably the one you'll want to use. Most people prefer to put their alias, e-mail, link to website or other information in the comment field.

On the next tab (ID3 Tag) you can specify which ID3 versions will be stored in the compressed file.

Use ID3 V1.1 tags: (Default: Disabled) In the newer ID3 format V1.1 it is possible to store additionally the track number on the CD in the ID3 Tag. Most newer player are compatible with the newer standard, but not all resulting in a comment with a funny character at the end.
Additionally write ID3 V2 tags: (Default: Enabled, Recommended: Depends on the compressor) Unlike ID3v1.x, the new ID3v2.x tag is written at the beginning of the file. This may result in incompatibilities with older players and decoders. ID3v2 features a lot new tags you can use (but EAC does not yet use). Personally I like the ID3v2 tags because they finally get rid of the 30 characters tag length limitation of ID3v1 and are useable for streaming. Exact Audio Copy uses the newest ID3v2.4.0 tags. That has as a side effect that many applications which are not yet up to date will not see the ID3v2 tags written by EAC. WinAMP for example will not display EAC's ID3v2.4.0 tags since the program is only compatible up to ID3v2.3.0. Luckily there's a trick to force EAC to write the commonly supported ID3v2.3.0 tags.
Using a padding of: (Default: 4 kB, Recommended: 4 kB) Because the ID3v2 tag is written at the start of a file, it would be difficult to edit such a tag once written. You could reserve some space for later usage and additions. If no space would be reserved, an edit operation will result in copying the whole file.

Click the OK button to save your settings. Now you are ready to choose and set a compressor! 

Which compressor to use

First you have to decide what kind of compressor you want. There are 2 kinds:

  • Loss less compression
  • Lossy compression

Loss less compression

As the name already imply, loss less compression reduces the size of the files without quality loss. Thus after decoding you have exactly the same file again as you started with. The drawback is that the compression ratio is usually not that high. Trading groups that distribute music over the Internet almost always demand loss less compression for file distribution. In this tutorial we'll explain the usage of the popular loss less Shorten and Monkey's Audio compressors.

Shorten 3.1:

  • Very good compression and speed
  • Best known

Monkey's Audio 3.80:

  • Fastest and best compression with the default settings (though compression is only slightly better than Shorten)
  • Support for ID3 tags

Both Shorten and Monkey Audio are excellent loss less compressors, but Monkey's Audio definitely wins. On the other hand, Shorten is very popular on trading lists.

Lossy compression

Lossy compression implies a loss of quality during encoding. The higher the compression ratio the higher the loss for a certain compressor. Nowadays there are several high quality lossy compression formats. Their quality is that good that even with very high compression ratios the audio quality is perfect (to the ear). One of these formats is MP3. MP3 is without doubt the most popular compression format for audio of the moment. There are quite a lot MP3 encoders available, but not all produce equal quality. In fact, most actually introduce artifacts or too much signal loss even at the highest quality settings. But with a good encoder and the right settings you should be able to create MP3 files which cannot be distinguished from the original, not even by a trained ear! Of course it is possible to fool the psycho- acoustic model of an MP3 encoder. A well known example is the intro of Kalifornia, performed by Fatboy Slim. The artificial distorted voices in this intro bring every MP3 encoder to its knees leaving artifacts audible for a trained ear with good audio equipment.

So what MP3 encoders are good? This is a difficult question, but - the reference site when it comes to MP3 quality - made a comparison of the most popular MP3 encoders and it's obvious that LAME 3.8 followed by Fraunhofer 1.263 are the best, and by a wide margin. That's why I'll only discuss these 2 encoders here, especially since many people already have the Fraunhofer codec or else they can download the free LAME encoder.

LAME 3.8:

  • Best quality at high (constant) bitrates
  • Best variable bitrate quality and compression
  • Very fast encoder
  • Often updated for even better quality and speed

Fraunhofer 1.263:

  • Very good quality at high and low (constant) bitrates
  • Mediocre variable bitrate quality and performance
  • Rather slow encoder
  • Not updated. Newer versions are not on par with this version

My personal recommendations: Use LAME 3.8 whenever possible unless you want low constant bitrate MP3s (128 kBit/s and less). That's what Fraunhofer excels in. The newer Fraunhofer encoders have better variable bitrate performance, but their quality is lower than the good old 1.263. Avoid 'em! If you want variable bitrate encoding go for LAME! recommends encoding at 256 kbit/s with LAME or Fraunhofer for the best quality. If you think that you can hear the difference between the original CD and the MP3s encoded at 256 kbit/s with either LAME or Fraunhofer I suggest you read the quality section at The conclusion is: If you find MP3 at 256 kbit/s to be of inferior quality compared to the original CD, you're probably doing something wrong with the test or you have failing music equipment or ears.

Continue reading on the next pages for the configuration and usage of those compressors in Exact Audio Copy.

Other compressors

Of course you are not limited to using the mentioned compressors. Therefore I'll explain the settings on the Waveform and External Compression tab which you need to know if you want to use another compressor.

Wave format: Windows supports different compression techniques in its WAV format. The compression is done by codecs which can be added or removed easily to the system if new compression formats arise. EAC itself also wraps some compression DLLs, so they look like a Codec (e.g. LAME DLL, BladeEnc DLL).
Sample format: Here you can select the sample rate, the resolution and often the compression ratio of the final audio file. The resolution of the CD is 16 bit and the sample rate is 44100 Hz in order to preserve audio CD quality.
Add ID3 tag: The MP3 format has a special feature, it is able to store the artist, composer, etc. behind the actual file, so that most MP3 player will read and display this information. By selecting this option a tag will be added after extraction.
Do not write WAV header to file: For some files (e.g. MP3) Windows provides a Codec to read WAV files, but the format itself should/can not be wrapped by a WAV header. So if you want to create .mp3 files, you should activate this option and specify that extension below.
High quality (slow): Some of the Windows Codecs support the quality settings, they will compress with higher quality.
Low quality (fast): Some of the Windows Codecs support the quality settings, they will compress with higher speed.
File extension for headerless files: If having selected the Do not write WAV header to file option, you are able to specify any filename extension. On MP3 compression you would probably use the string .mp3 in this control.

Use external program for compression: EAC is able to use so called command-line encoders. These encoder packages usually comes as an .EXE file that have to be started with the audio filenames and a bunch of options in a dos box. EAC will call these encoders automatically and pass them the appropriate parameters.
Parameter passing scheme: There are many command-line encoder out there. Nearly each of it requires a special format how the parameters are passed to the program. Here you should select a scheme matching your encoder, or a scheme that is compatible with your encoder.
Program, including path used for compression: Here you have to specify the location and the name of the .EXE file of your encoder.
Additional command line options: If you know the command line parameters and want to add some parameters, in order to use new features or different quality settings you could specify them in this control. The settings you specify here will override the other settings.
Bitrate: Here you could select a bitrate compression ratio for the encoded file.
Delete WAV after compression: EAC have to extract the audio tracks uncompressed to harddisk first in order to pass the filename to the encoder. It is possible to keep that uncompressed file beside the compressed one, or to delete the uncompressed one.
Use CRC check: Some encoders support to store a checksum within the audio file in order to be able to check the consistency of the file on playing, etc. By enabling the encoder will write a CRC checksum, but beware as most encoders so far have a bug that calculates the wrong checksum which resulted in players that will ignore the CRC field.
Add ID3 tag: The MP3 format has a special feature, it is able to store the artist, composer, etc. behind the actual file, so that most MP3 player will read and display this information. By selecting this option a tag will be added after extraction.
High quality: Some of the encoders support the quality settings, they will compress with higher quality.
Low quality: Some of the encoders support the quality settings, they will compress with higher speed.