Home Digital Drive

Upsamplers, DACs, jitter, shakes and analogue withdrawals, this is it.

A little more information

The command I am sending to the drive is a "Digital Audio Extraction" command (which results in audio data being transferred as fast as the drive can extract it). A "C2" error is flagged if the data contains errors, allowing the read command to be retried.

This is essentially the same principle as the "Exact Audio Copy" (EAC) program, and as for EAC it's important to choose a drive that does not cache audio data (otherwise the drive might get lazy during rereads and simply spit out the same errorneous data).

The DAC is driven directly off a clock with no intervening PLL stages. There is another buffer in front of the DAC, and audio samples are extracted from this buffer at exactly the same rate as the DAC in order to feed the DAC with minimal jitter.

Choosing buffer sizes is quite important, as well as avoiding memory access contention (between the transport buffer trying to fill the DAC buffer, and the data being extracted from the DAC buffer).

Because the data is read from the drive at faster than normal speed, it potentially allows me to do clever things like variable speed playback (ie. fast forward will timestretch and pitch shift the data) but I haven't bothered implementing those features yet.

But cross fades during track skips would be nice (you get an uninterrupted flow of music even when skipping tracks).


This post is made possible by the generous support of people like you and our sponsors:
  Sonic Craft  


Follow Ups Full Thread
Follow Ups
  • A little more information - Christine Tham 18:41:14 07/30/06 (0)


You can not post to an archived thread.