This code is copyrighted © 1998 by Udi Finkelstein, and
is released under the GPL copyright terms.
Document version 0.1
Introduction
This program is used for reliably extracting audio from CD's.
many CD drives can extract audio, but some of them exhibit random errors
within the digitally extracted audio data.
This option selects how many copies of the audio data are used for the
majority voting algorithm. The default value is 5 copies.
This option selects the block size of the audio sections being read
from the CD. The program block size is measured in multiple of the
CD Audio sector size, which is 2352 bytes.
The default value is 10,000 sectors which translates to 23,520,000
bytes for each temporary file. Using the default value of 5 copies, it
means we need more than 100MB of free HD space by default.
This option specifies the Logical Block Address (LBA) of the first
audio sector to be read. The first block on the CD is numbered 0.
Also, the default value for this parameter is 0.
This option specifies the Logical Block Address (LBA) of the last
audio sector (inclusive) to be read. This option causes the output file to be appended instead of being
overwritten (the default).
This option controls the memory block size used by the majority vote
algorithm. After the temporary files are read into the HD, they are read
to memory and compared. Since the memory is much smaller than the HD,
they are read in blocks. This parameter is measured in multiples of
the CD Audio sector size, which is 2352 bytes. The default value for
the member block size is 1000 audio sectors, or 2,352,000 bytes for
each temporary input file.
This options controls the ID of the CDROM being used for Digital
Audio Extraction. This parameter is passed directly to DAO, and
must be entered as: bus:unit:lun.
This options controls the directory in which the
temporary files are created. While the program is run, the command line calls to the DAO utility
CDCLIP are also dumped tp the screen, so the user can see which
arguments are sent to CDCLIP.
This page has been accessed
times since Oct 3, 1998.
Copyright © 1998-1999 Udi Finkelstein
, All Rights Reserved.
This program can clean these audio samples by extracting multiple copies
of the digital audio data, and selecting only the values which are
"majority voted" among all the files. Each byte is tested separately
against other bytes in other copies of the same data, in the same byte
position. Since these audio errors are mostly random, they will not
repeat if the same audio data would be extracted multiple times.
Since we have limited disk space, the program can extract the audio
data in multiple slices, each time reading multiple copies of the same
audio section, generating an output file, and then reading the next
audio section. The "cleaned" audio output is accumulated in a single
output file.
CDDUP does not extract the audio data by itself. Instead, it relies
on a commercial program called DAO.
You must have DAO in your execution path in order to use
CDDUP.
Command Line Arguments
These are the command line arguments supported by the program:
cddup {optional arguments} <image>
<image> is the name of the output file, and is mandatory.
The optional arguments are:
/N <num>
/B <blocksize>
/START <start_LBA>
/END <end_LBA>
Remember: A CD with N Audio sectors is numbered from sector 0
to sector N-1.
/APPEND
/M <memblocksize>
/ID <id>
/T <tmpdir>
Note: This value is ignored at the moment! Teporary files
are created in the root of the current directory.
Program Output
At the end of the run, the min_count_max parameter is also
dumped, which can be used as a measurement of how clean the result is.
This parfile:///T:/DATA/HTML4/cover.html#tocameter represents the lowest number of identical bytes
encountered by the program during the run. For example, if we set the
number of copies to 5, then a min_count_max of 5 means that the
lowest number of identical bytes encountered was 5, i.e. we never
encountered any bad data. If min_count_max is identical to the
/N parameter we have entered, then our input data was perfect.
If the value is lower, it means some errors were encountered. A
min_count_max of 4 means, for example, that the worst case
was 1 different byte at any given file position. This is OK. If
you get min_count_max values of 3 or less, consider using
more than 5 copies of the input data.
Bugs
Author
The author of this program is
Udi Finkelstein.
DAO is a commercial program written and sold by
GoldenHawk software.
"Last updated: