The right solution is already invented and is called asynchronous USB.
It would seem so. I wonder why every good dac manufacturer hasn't run to it.
Tim
The right solution is already invented and is called asynchronous USB.
It seems so. But do you know of an existing implementation of this solution? One that does not depend on the activity, file type, type of music server, computer , operating system, cables or other gimmicks?
As best I can figure out, Async USB is licensed or is extra work to develop on their own relative to just buying the standard ones.It would seem so. I wonder why every good dac manufacturer hasn't run to it.
Tim
amirm,Buffering does not help with this situation. It has to do with the architecture of our systems where *source* is the master. Assume the case where your DAC clock is running faster than the source. In what way would buffering help you? You would run out of data quickly and glitch. If the DAC clock is slower, you keep accumulating data. Think of my leaving my PC running with 10,000 tracks playing continuously. How much buffering do you need and how far off are you from the source?
Think of my playing a movie now using the same audio connection. The video is displayed on my computer monitor and audio with said DAC. Now think through the above scenarios of the DAC clock running slower or faster. You will easily drift and lose audio/video synch.
Our devices in default mode then run synchronous to the source as the master. The DAC cannot make a different assumption and have it work as customer expects it per above.
As Vincent mentioned, in the specific case of music, we can choose to go asynchronous using USB. In that case the DAC become the master and then, using buffering, be in charge of the consumption rate of bits. It would still break A/V sync but it is understood in this scenario that it would do that from customer/application point of view.
Different problem. Buffering is indeed used to gather enough data to play. Once there though, the same mechanism as above is used to maintain sync. If you run the DAC async from the PC you will indeed lose A/V sync here too.
Buffer does solve network delivery issues. It does get rid of that type of jitter. Reason it works there is because your PC is the master, not the network server. It buffers enough and then plays. The server does not control AV sync as it delivers both data types simultaneously. And it behaves as a pure "data pump." In sharp contrast, in audio playback we use a synchronous system where the source is in control. The only way to fix this is as mentioned above -- using asynch USB to turn this system to a mode similar to network delivery of streamed content where the source is a data pump and nothing more.
There are quite a good number of DACs ith Asynchronous USB : From very little money and good .. HT Streamer DAC at ($149) to to lot of money and still good dCS Paganini DAC (around $20,000/ ..
DACs don't seem to care about the PC or the files itself ... You send them the digits in their preferred format and they output Analog.
Thanks Vincent, I had completely missed the 'external USB DAC' concept and approached it from an internal computer-centric to outside world view.I’m afraid a lot of your arguments are not related to the problem.
PCM=sample + time step
Each times time step should be of equal length.
As the time step is generated by a clock this is of course impossible, in our physical world there ain’t such thing as infinite precision.
Ok, we want this time step as close to perfection as possible.
One of the tricks to obtain this is, beside using a clock with a very low intrinsic jitter, is to avoid input jitter.
Whatever your source is, be it streaming, be it a file on a HD, the data is pre-fetched and stored in memory.
The data is decoded and then send to the audio device.
All what happens before this is irrelevant from a jitter perspective.
Sending the audio (lpcm most of the time) to a DAC is a matter of a protocol.
SPDIF is a real time stream, the bitrate is used to construct the sample rate.
It is a unidirectional protocol. As a consequence, on protocol level there is no way the receiver can influence the sender.
In principle the input jitter is as low or as high as the quality of the clock of the sender dictates.
In practice there are all kind of trick applied to reduce the input jitter like PLL, ASRC, FIFO, etc but we probably talk about reducing, not to be mistaken for eliminating input jitter.
Adaptive USB is pretty much like SPDIF, unidirectional and in this case the sample rate is derived from the data rate.
You might (and will buffer) but buffer management is and can only be done by the DAC by varying the clock speed to avoid under/over run.
This applies to SPDIF as well, if there is no feedback loop only varying the clock speed will help.
Async USB is bi-directional, here you have the option to vary the data rate so now the DAC can run at fixed speed.
This link demonstrates the difference between an adaptive mode (buffered of course) and a async mode (buffered of course) nicely:
http://www.audiomisc.co.uk/Linux/Sound3/TimeForChange.html
dreamed and owned ... This aticular transport and its asociated DAC had a synch cable and there was a difference when using the Synch cable .. Obvious but really subtleFrantz,
Does this mean you never dreamed (or owned ) the great sounding Burmester 979 Transport?
As Vincent mentioned, you cannot perform the same function. Since the S/PDIF source is a master, it doesn't need to comply with anything external to it architecturally anyway.Internal audio devices or external firewire audio devices both have OS drivers which can communicate to the hardware ports of the audio device... sort of a back channel. Not quite bidirectional, but similar capabilities can be performed.
Well, the answer is what you gave: buffering! The PC in this scenario becomes a data pump just like your hard disk is when you play internally to the PC. The async adapter buffers enough data to play and once its buffer gets below the "low watermark" (i.e. a point where there is need for more data but that we are not going to run dry if it doesn't come immediately), it will request the next chunk of data from your PC.But I personally have a hard time believing that control of the bit rate of the s/pdif output signal over a USB port (to the Halide or other async device) is capable, by drivers and timing controlled by the PC CPU, even if paced by the async device, to exactly match the internal clock rate of the Halide device predictably and consistently.
If you have a lot of traffic on that USB port, yes, you can run out of bandwidth or get hit with high latency and get a glitch. The answer is, "don't do that." Good USB adapters will have fair bit of buffering and reduce or eliminate the chances of this happening.Especially with many USB controllers and other devices in the driver tree. Maybe there are limitations, like no other devices present on a particular root USB controller to which the asynch audio device is connected, or no external HD's allowed ... something like that?
Sadly few companies publish such data. One of them that does is Audiophilleo. And for Halide, we have measurements performed in stereophile review. Here is a comparison of using Toslink out of a pro audio card, RME, on the PC running an external DAC relative to Halide. First the Toslink:Whether there really would be an improvement in the resulting audio from a jitter standpoint would depend entirely on the accuracy and stability of the Halide's internal clock(s). Do we know those are of truly professional accuracy?
There are other async adapters that support higher sampling rates. You just need a driver in the PC. I use Audiophilleo and Berkeley alpha USB to S/PDIF & AES both of which support up to 192 KHz. I just wrote this article on topic of audio jitter that may be a good read in this area. And a bit of information about the Berkeley here: http://www.whatsbestforum.com/showthread.php?4160-Review-Berkeley-Audio-Alpha-USBI think I'll get one of these and take a listen. Too bad there's no 176k or 192k support, though.
--Bill
dreamed and owned ... This aticular transport and its asociated DAC had a synch cable and there was a difference when using the Synch cable .. Obvious but really subtle
I think I'll get one of these and take a listen. Too bad there's no 176k or 192k support, though.
--Bill
I looked at the M2Tech Evo, but found the wording of their description of how it works a little odd. They don't seem to come right out and say they're using the USB Async mode, and elsewhere in their text they use the term 'reclock'.If you're just buying one to try, the M2Tech Evo is the best value for money I know and works up to 24/192:
http://www.m2tech.biz/evo.html.