CDDUP Documentation

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 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>

This option selects how many copies of the audio data are used for the majority voting algorithm. The default value is 5 copies.

/B <blocksize>

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.

/START <start_LBA>

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.

/END <end_LBA>

This option specifies the Logical Block Address (LBA) of the last audio sector (inclusive) to be read.

Remember: A CD with N Audio sectors is numbered from sector 0 to sector N-1.

/APPEND

This option causes the output file to be appended instead of being overwritten (the default).

/M <memblocksize>

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.

/ID <id>

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.

/T <tmpdir>

This options controls the directory in which the temporary files are created.
Note: This value is ignored at the moment! Teporary files are created in the root of the current directory.

Program Output

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.
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.

This page has been accessed Counter times since Oct 3, 1998.

Copyright  ©  1998-1999 Udi Finkelstein , All Rights Reserved.
"Last updated: