This article is from the CD-Recordable FAQ, by Andy McFadden (firstname.lastname@example.org) with numerous contributions by others.
In the first part of the year 2000, TTR Technologies announced a product
called MusicGuard (http://www.MusicGuard.com/) that claimed to prevent
duplication of audio CDs. The product was withdrawn, but the technology
has resurfaced in mid-2001 as a product called SafeAudio from Macrovision
The basic idea is to create samples that sound like bursts of static, and
scramble the ECC data around to make it look like an uncorrectable error.
Audio CD players will interpolate the samples during playback, but CD-ROM
drives doing digital audio extraction generally won't. The result is
a disc that plays back correctly on a CD player, but won't "rip" or copy
correctly on a CD-ROM drive.
Some relevant sites and news articles:
This approach relies on an anachronism of CD-ROM drive construction.
There are two ways to play a CD on a computer, one analog, one digital.
The analog path sends the audio across a cable connected from the CD-ROM
drive to the sound card. Most of the CD player software available on
computers works by telling the CD-ROM drive to start playing the CD
through the analog cable. (This may not hold true for newer Macintoshes
-- it appears Mac OS 9 uses an entirely digital approach. Some recent CD
player applications for the PC also do this.)
The digital path requires reading the "raw" audio samples off of the disc,
possibly modifying the data (e.g. changing the byte ordering) into something
appropriate for the sound card, and then writing them to the sound device.
Until a few years ago, most CD-ROM drives did this very poorly, in part
because the analog and digital data paths were logically distinct in the
designers' minds. Audio CDs used the audio path, data CD-ROMs used the
digital path, and while you *could* send audio over the digital path there
didn't seem to be much value in doing so. (See section (2-15) for some
What Macrovision appears to be exploiting is the different handling of
uncorrectable errors in audio samples on the digital path vs the analog path.
When playing an audio CD in a CD player or CD-ROM drive, the analog path
is used. This path deals with uncorrectable (E32) errors by examining the
samples that come before and after the error, and interpolating between them.
On a scratched-up CD, this means that, while you may not be hearing the
exact samples that were originally recorded, you won't notice any glitches
because they're smoothed over. This feature is definitely not something
you'd want on a data CD-ROM -- interpolating pieces of your spreadsheet
is not going to help you.
In most CD-ROM drives, reading an audio sector with digital audio extraction
is handled the same way that reading a data sector is: uncorrectable
errors are left alone. Instead of getting interpolated samples, you get
to hear the original, scratched-up audio. This is why some CDs will play
back just fine on your computer, but will come out all scratched up when
you extract them with the same drive. The errors are there either way,
but when using a desktop CD player the errors have been smoothed over by
the logic in the analog output path.
Some drives may use interpolation during DAE at lower speeds. If so, it
should be possible to "rip" a track from a copy-protected disc by reducing
the extraction speed to 1x.
Some people have suggested that software could be used to perform the
interpolation on extracted music, stripping out the bits that the music
companies added in. The trouble with this approach is that, once the data
has been extracted, the CIRC encoding is no longer visible. It may not be
easy to tell where the glitches are. For example, it should be possible
to create a low-level but rhythmic distortion that will be noticeable,
annoying, and difficult to identify automatically.
(It's possible that any software specializing in defeating the copy
protection would run afoul of the DMCA (Digital Millenium Copyright Act),
and the authors subject to fines and criminal prosecution. Come to think
of it, the preceding discussion might be illegal. For more information
about the DMCA, see http://www.eff.org/.)
How can you get a "clean" copy of a protected disc? There are four basic
approaches, in order of least to most desirable:
(1) Record directly from the analog outputs of the drive, feeding the sound
into a sound card or outboard A/D converter. Some fidelity will be lost
when converting from digital to analog and back again, which is what the
industry is counting on.
(2) It should be possible to play the disc on a CD player with an S/PDIF
connector, and get error-interpolated digital output. If played into a
digital sound card or a CD recorder with an S/PDIF input, it should be
possible to capture an exact copy of the original. Of course, it has
to be done at 1x, and the track breaks may have to be added manually,
making it a potentially tedious affair. This might be avoidable on a CD-R
"dubbing deck", but inexpensive models will add SCMS to the set of things
to worry about. Don't forget that generation loss is possible with CDs,
especially if you record from CD-Rs (due to their higher BLER rate),
so copying to CD-R and then extracting from CD-R requires some care.
See section (3-18).
(3) Some drives support an extension described in recent versions of the
ATA/ATAPI and SCSI MMC specifications. This extension to the "READ CD"
command returns a set of flags indicating which bytes in an audio block
were not corrected at the C2 level (section (2-17). An audio extraction
application with access to this information could do its own interpolation
across errors. Some applications already make some use of this feature;
see http://www.feurio.com/English/faq/faq_vocable_c2error.shtml. The "drive
check" feature of cdspeed (section (6-2-11)) reports on whether or not a
drive is capable of returning "C2 pointers".
(4) A CD-ROM drive with logic that interpolates uncorrectable errors during
DAE would allow copying and ripping with no additional effort required.
The success or failure of audio CD copy protection hinges upon two factors:
how effective is it at preventing "casual copying", and what sort of
problems do the legitimate owners of audio CDs encounter when playing
their discs? Macrovision claims that their "golden ear" listeners were
not able to tell the difference, though the test might be biased if the
folks with the shiny lobes were using high-end CD players that did an
especially good job of concealing uncorrectable errors.
A legitimate technical concern is that the copy protection reduces the
effectiveness of the error correction. Because some percentage of ECC is
now required for proper playback on a *clean* disc, the odds of scratches
and fingerprints causing audible degradation are increased. In practice,
if the "static" samples are relatively few and far between, the difference
would be statistically insignificant.
One last piece of advice: do not assume that any disc that doesn't extract
cleanly is copy-protected. There have been many, many postings on message
boards from people who think they have found a protected disc, or how
some specific piece of software can defeat the protection. Start with
the more common reasons: the disc is dirty, the disc was poorly made, your
CD-ROM drive is not that great at audio extraction, you're using software
that isn't the best. There are many reasons why ripping an audio track
might fail. People have been having trouble getting clean audio for years.
See section (3-3) for some advice if you're having trouble.
Certain web sites (notably cdfreaks.com) have been reporting that a
replacement CDFS.VXD will fix everything. However, doing the audio
extraction in a VXD instead of an EXE makes no difference. So far, none
of the sites that have claimed victory list a single SafeAudio-protected
disc that was copied, most likely because -- at the time this was written
-- there weren't any discs known to use SafeAudio. (This phenomenon is
not unheard-of; Sega's Dreamcast discs were widely reported to be copyable
by a means that was quickly determined to be utterly ridiculous.) If the
widely-touted CDFS.VXD is in fact a hijacked Plextor driver, then it may
well use technique #3 mentioned above, but would only work on a drive that
supported the extended READ CD feature.