dd an audio cd on 5.x ?

Chuck Swiger cswiger at mac.com
Tue Jul 8 15:43:49 PDT 2003


Ion-Mihai Tetcu wrote:
[ ... ]
>> You'd have to obtain the glass master used to press the original to
>> get an absolutely exact copy.  "bit-by-bit" accuracy of the raw CD is
>> not very easy or even desirable to obtain due to ECC hardware fixing
>> minor errors: for audio, you want a "bit-by-bit" accurate copy of the
>> data after ECC processing, not before.
> 
> OK, do you know any method to do it under BSD ? There are some cdtools 
> in the ports that claim to do DAE - but I haven't the time to look in 
> the code to see how it is done and if there is any difference between 
> using a SCSI an an IDE drive.

Modern CD-ROM burners use the SCSI command set and thus behave much like a SCSI 
device modulo various per-device quirks: the ATAPICAM module connects IDE 
CD-ROM's ("ATAPI CD-ROM's") via the SCSI CAM system.

>> Better CD-burners let you do something known as DAO+96 ot TAO+96,
>> which lets you override the ECC hardware when reading or writing, and
>> thus copy even the errors from the original, which can be useful for
>> copy-protected data CD's rather than for audio....
> 
> We have a potential client who asked about studying both cases and make 
> him a app that could say if it's an "original" or not so this sounds 
> interesting (we're pretty new on this).

2048 bytes of "actual data" get turned into ~2536 bytes of Reed-Solomon ECC 
encoded data.  There is also a 94 byte subchannel + 2 byte checksum (for "96") 
which is used to contain CD+G data and other information, which is probably a 
part of what you'll need to consider to have the CDDB diskid match.

For example, "man burncd" has the following:

      vcd           Set the write mode to produce VCD/SVCD tracks for the fol-
                    lowing image files on the command line.  This automatically
                    sets DAO (-d) and ``no gaps'' (-n) modes.

A good copy of a professionally mastered audio disk obviously will not have 
2-second gaps between tracks (burned DAO and not TAO), will be closed 
("fixate"), etc.  I'm not an expert, however-- perhaps talk to <sos at 
freebsd.org> who wrote a goodly portion of this infrastructure for FreeBSD...

-- 
-Chuck




More information about the freebsd-questions mailing list