Dido Help

Dido

Dido allows you to copy audio data from an audio CD directly into a .WAV file. In doing so, you will not suffer degraded audio quality due to D/A and A/D conversions, simply because these are not needed to capture the audio.

This procedure allows you to take samples from CD's, and upload them without quality loss digitally to an sampler, or any wavetable synthesis card you happen to have. When the sounds reside in the memory of the sampler, they can be used to sound notes driven by the MIDI stream you feed your it.

The WAV file can also be played by Window's Media Player (even if it is megabytes large), or you can use a WAV editor to edit the sound.

Imagine this: A sound designer invents a new sound. He plays this sound from his digital synthesizer to a DAT tape. The DAT tape is imprinted on an audio CD. You buy the CD. You insert it, and use Dido to transfer the sound into a file. This file is the exact representation of the sound that was output by the designer's synth. No noise, hiss or degradation whatsoever --because the sound never was converted to an analog signal.

Right. You put this sound in your sampler, and use it in a song you compose. The song is recorded (via a digital link) onto a DAT tape, and this tape is used to master your newest CD. When someone listens to this CD, they'll still hear the original designed sound --- without any distortion. Isn't it worthwile, never to use analog signals?

The problem with reading audio cd's

An audio CD can be read by reading raw sectors of audio data. Not every cdrom player supports this way of reading data. All of them read cooked data (cdrom), but not all can read audio sectors. Then can play it, but reading...

And to make matters worse, even if a cdrom drive can read raw sectors, not all software drivers will allow this. So, if you want to use Dido, your cdrom drive as well as the software driver must be able to do raw sector reads. My matshushita/panasonic 562B does it, luckily.

Even if raw reading is supported by the hard- and software, raw reading can be troublesome: everytime a raw sector is read, the data comes in slightly shifted. Should you just dump the raw sectors into a WAV file, then it will be full of strange sample jumps, and it will sound terrible. And this is were Klaas' synchronizing algorithm comes into play -- it will slide all these raw sectors over each other so that they fit perfectly, creating a 100% perfect copy of the digital audio that is stored on the CD.

Authors

Michiel Overtoom (motoom@xs4all.nl) did the Windows version, working from Klaas' program.

Klaas Hemstra (hst@mh.nl) added the synchronization algorithm to Yeng-Chee's program.

Yeng-Chee Su (yenchee@csie.nctu.edu.tw) did the basic program.

History

A year ago, I tried to grab audio from a CD using the raw-sector readlong() call provided with cdrom drivers. The purpose was to write them to a file, so I could copy audio directly from a CD. What happened?  I noticed everytime I read a sector, different data was coming in. I was puzzled, and gave up. Since then I've tried many audio grabbers, to no avail.

They all introduced strange cracks and popping noises. Maybe it's just my CD drive that sucks... Anyway, then I noticed READCDA on the internet. This program contained 'resynchronisation' routines which effectively eliminate crackles and pop sounds. The user interface was horrible, so I decided to rewrite it for Windows. The result is before your very eyes.

Version 1. First attempt. Nice try.

Version 2. Memory allocation reworked. Redid some UI aspects.

Version 3. Small sync problem solved.

Version 4. I changed the name on this program, because there exists an american company which already was using the previous name. But then, as to speak with Shakespeare, "What's in a name?"

Operating the program

The track list

When Dido starts up, it shows an intro screen, and a while later (when the audio CD has been scanned) the tracklist of the CD. You can click on a track, and the search dialog will pop up. The track you selected will also begin to play.

Apart from selecting a track, you can also choose the Quit button, which will terminate the program, the Help button, which shows this help text, and the Prefs button, which will present you a dialog in which you can specify some program settings. You can specify your favourite WAV file editor in this dialog.

The search dialog

This dialog is used to focus in on the exact spot you would like to capture in a WAV file. It's main features are a Start and an End time. You manipulate these times to pinpoint the area on the CD that you want to capture in a WAV file.

The mono/stereo and 44khz/22khz options can be used to reduce the size of the resulting WAV file. If you check the mono option, the left and right audio channels will be averaged, resulting in a mono sound. If you check the 22khz option, every other sound sample is discarded, resulting in audio quality loss.

The 8-bit option is for low-end audio applications. It only allows mono, 22 khz.

The autoplay option, when checked, replays the audio segment every time you adjust a value. The play button can be used to manually restart the current audio segment.

Use the record button to actually transfer the audio from the CD into a WAV file.

After succesful recording, the edit button can be clicked to start up the WAV editor, so you can edit, trim or otherwise manipulate/use the sound.

The recording status window

During recording, a status window will show the progress. It features a cancel button, should you want to cancel the recording. A recording which is cancelled or stops due to a synchronization or disk full error, will be discarded. After a succesfull recording, the statuswindow disappears and the search dialog will become active again. Notice that after a succesful recording, the edit-button is clickable. This will fire up a WAV editor with the recording you just made, so you can easily edit it.

Tips

- Don't run other programs when using Dido. While recording, wait patiently until it is done. This is to prevent sync errors. Dido needs all the computing resources it can get.

- If you use a sampler, specify the name of your SampleStore or SDS uploader program in the preferences dialog as the WAV editor. That way you can directly upload the captured sound to your synth and try it out.

Memory Usage

Dido dynamically allocates as much low DOS memory as it can get, with a maximum of 20 buffers (23K each).

When not at least 2 buffers can be allocated, Dido can't run. You'll get an allocation error when starting up. If that happens, try these tips.


Error: Cannot allocate enough low-dos memory

Cannot allocate enough low-dos memory error

Dido must use memory below 1M to communicate with the cdrom, since the cdrom driver runs under real-mode DOS. Even if you have a whopping 16Meg on your system, it is limited to use the memory in the lower 640K.

This low memory is also used by all other drivers and TSR's you happen to have in your system. Dido must compete with them. It will allocate up to 20 buffers 23K each, until the DOS memory runs out.

If not at least 2 buffers can be allocated, Dido will not work.

If you're system is low on memory and you get this error message, try these:

- load as few drivers from CONFIG.SYS as possible, don't load stuff like mouse drivers, network drivers, disk caches... the cleaner the better

- don't load any unneeded drivers from AUTOEXEC.BAT

- don't forget to reboot so the changes take effect

- try running Windows using the standard VGA driver

- try disabling disk caches

If all fails, your system may not be able to run Dido. Then you should try other audio grabbing products like READCDA, CDINFO, CDGRAB.


Error: Synchronization lost

Synchronization lost during recording

Take note of this: Some brands of cdrom drive give problems. It's in their hardware. Some models are known not to (correctly) support raw audio reads. You can't use these cdrom drives for audio grabbing the way Dido does it.

The faster your system, the less sync errors you will experience.

Synchronization loss can be due to lags in your system. If you start another

windows program when Dido is recording, you can lose sync. It can also happen if a disk-cache suddenly unloads its buffers to disk.

If you experience lost sync errors, and you use a cache, try running without disk-cache.

Alternatively, if you don't run a disk cache, you can try using one.

Try saving to a harddisk that is relatively empty. The faster the file system, the less sync errors you will get.

Also, don't touch anything during recording and hold your breath until it's done.