CONFIGURING THE COMPRESSION OPTIONS
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:
CD |
LAME EXE |
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:
Codecs
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 r3mix.net
- 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!
r3mix.net
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 r3mix.net.
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.
|
|