Offsets |
updated July 1, '05 |
A drive does not position exactly, it will position a little
before or after where it should be. The picture illustrates the effect: if the drive
positions 1000 samples too early, the entire rip will be shifted by 1000 samples (all tracks!).
This shift is called an offset. It is a constant
number of samples, unique for each type of drive. The ASUS CD-S520/A drive has
the biggest offset I know of: 1858 samples, which is about 1858/44100 = 0.042
sec = 42 milliseconds. This is a very small effect, inaudible even (because of the silent parts between the tracks). So an offset is not something
to worry about. But if you want to make an exact duplicate of your CDs, you
will want to correct it. The idea is simple: let EAC tell the ASUS CD-S520 to
start 1858 samples later. The only challenge is to find out
what your drive's offset value is. That's what this article
will help you with. Please do not confuse offset with offset correction: the ASUS'
offset is -1858 (minus!), the offset correction is +1858 (plus!).
The offset mentioned so far, is actually the read offset. There is also a
write offset (see further).
If you have different drives, it is enough to find the offset for one of them.
The other drives' offsets can be derived from it with a WAV comparison. For
an example of such a WAV comparison, see
below.
Databases. If you are lucky, you will find your drive's offset in this, this, this or this database. Or search Google for offset and your drive model if you feel lucky ;-). All these databases show offset corrections which can directly be inserted in EAC: Drive Options | Offset/speed. The first database is very reliable, but the other databases may very well contain wrong values - that's why we will determine your offset with another method as well, as a check (see further). If you wonder about your drive's exact model, have a look in the logfile EAC creates for each rip.
Do-it-yourself. You can also find the offset
by yourself. Even if you have found your offset in a database, you still might
want to check it this way. There is no guarantee that you will find it, but
we will do our best.
To find the offset, we will take advantage of AccurateRip. AccurateRip is a
new plugin for EAC and any other ripper. It says whether the created rip is
'perfect' (by comparing it with other rips from a database, for more info see
the AccurateRip website). Rips made with EAC should mostly be
'perfect' already, though. AccurateRip is still in the development stage, but
we will already use it to find your offset.
You must have a recent EAC (version 0.95 prebeta 5 and later). Instructions
on how to setup AccurateRip are here on the AccurateRip website. Summarized: if you insert
a CD that can be used to configure AccurateRip, a message pops up and guides you through
the configuration. After that EAC will automatically use the found offset correction
for the configured drive.
Don't panic if you don't have the right CDs. There is another, older way to
find your offset, via EAC. Special CDs are again needed: they are listed at
the bottom of this page. The ID code you see in the right column must
be the same as the ID code on your own CD (on the CD's inner ring). Once you have found such
a CD, you can
find your offset with EAC via Drive Options | Offset/speed
| Detect read sample offset correction.
Unfortunately some CDs give wrong results with this last method (this is due
to different CD pressings with the same ID, which have different, unexpected
offsets). So don't rely on just 1 CD, as chances are too big that your offset
will be wrong. To be sure you need 2 or preferably 3 CDs that give the same
result.
Overreading. Offset correction tells your drive to read a little away from its normal position. For the first or last track that implies reading out of the drive's normal read range, also called overreading. Not every drive can overread. If yours cannot, EAC will simply fill up the missing samples with silence. If yours can, activate the overread setting in EAC (see previous Screenshot), otherwise EAC would not ask the drive to overread. To find out whether your drive can overread, there are several possibilities. With the right CDs it can be detected by EAC (see previous screenshot). The alternative is done in our Ripping Guide: rip with the overread setting enabled, a sync error or CRC mismatch will appear in the last track if your drive can't overread. A last method is described here.
Also for writing an offset comes into play: the
write offset. It can be easily derived from the read
offset. EAC is the only burning program I know that can correct the write
offset (update: Burrrn and Plextools
now as well), but it does not support all burners (update: not-supported burners can still burn with the EAC version that includes CDRDAO).
To find your write offset, you just need a WAV file,
a burning program and a CD-RW disc. Burn the WAV as an audio CD and rip it again
with a corrected read offset. The ripped WAV will be the same
as the original WAV but shifted due to the write offset.
To find that shift, do Tools | Compare WAVs. In
this example
the ripped WAV has 6 samples that are not in the original WAV. EAC uses the
words 6 repeated samples or 6 missing
samples to say that the WAVs are the same but 6 samples shifted. In our
example we conclude that the write offset is +6.
Insert your result in EAC. Verify your result by doing the same experiment
again (use EAC for
burning now). There should be no shift at all. A few different samples may
occur if your drive doesn't overread.
This offset is only useful for people who don't know their offsets, and want to burn an offset-corrected CD. It is the combination of the previous 2 offsets. It is a 'total' offset for a reader-writer combination. Tracks on your harddisk will have a wrong offset, only those burnt on CD will be offset-corrected (and only if they are burnt with the one, unique writer the combined offset was found for). Also some samples of the first & last track will be missing. The combined read/write offset correction can be found similarly to the last paragraph: burn, rip (without offset correction) and compare the 2 WAVs. The correction value is then the amount of repeated samples in the ripped WAV (or missing samples in the original WAV). Insert the value in EAC.