Copy a CD with cdrecord and a single burner

James Wilkinson fedora at aprilcottage.co.uk
Tue Aug 29 12:34:54 UTC 2006


Tim wrote:
> Well, you might argue that you're not making an ISO image, just that ISO
> is part of the file name.  You'd just be making a "raw" copy of the bits
> read off the disc.

As I understand it, there's more differences between CD-ROMs and audio
CDs than just the filesystem.

When audio CDs were developed, it was considered that the loss of a very
occasional bit was acceptable. The CD player would know that it was
dealing with an audio wave, and could interpolate the missing data from
surrounding samples. The result would not be "right", or "perfect", but
it would almost certainly be undetectable. So although the designers
added error-checking and correcting codes that could deal with scratches
on the CD, they designed them to only *correct* a few "wrong" bits per
ECC block, but to *detect* when there were considerably more errors. [1]

CD-ROMs are different -- you can't interpolate with zipfiles, or other
data files. So the ECC algorithms were designed to fix as many errors as
possible, and there was a lot more "redundant" data put on the disk for
the use of the ECC algorithms. [2]

So, although CDs sample at 44.1kHz in 16 bit, which comes to 44.1 kHz *
16 bit / 8 bits/byte * 2 channels = 176.4 kB/s = 172 KiB/s, single-speed
CD-ROM drives only read 150 KiB/s. The difference is the extra
"redundant" data.

The point is that neither in audio nor in data mode do you see the
*real* raw bits read off the disc. And /dev/hdc is already "cooked"
(i.e. not raw) enough that you have to treat it differently if you want
audio data.

James.

[1] In many cases, the ECC would allow the drive to calculate the most
probable "right" data, but the specification insists that interpolation
be used instead, because the results of getting the ECC wrong are a lot
more noticeable than the result of using interpolation.

[2] ECC works by placing the results of certain calculations on the disk
along with the data. The CD drive repeats these calculations, and can
then work out whether the calculations are correct, whether the data has
been modified, or whether the results have been modified. If the data
has been modified, the drive can then calculate what the original data
was.

I probably ought to point out that neighbouring bits from a sample are
placed on the CD a long way apart. That means a scratch will slightly
damage a lot of data (and the ECC can then recover that data), rather
than obliterate a few bytes.

-- 
E-mail:     james@ | "In these troubled times, it's always refreshing to see a
aprilcottage.co.uk | major company concentrating on vital issues. It would be
                   | even more refreshing if Compaq tried it for once."
                   |     -- The Inquirer




More information about the fedora-list mailing list