Quote:
Quote:
Originally Posted by ex0du5 /img/forum/go_quote.gif
Digital data sent over the USB cables is error corrected and buffered. As long as there is a moderate buffer, any errors that occur during the initial transmission will be corrected before being output from the buffer to the source.
Did you read the links I provided ? USB audio is working with extremely small buffers, too small for error correction. They're made just big enough to account for the variations in the clocking of the arriving packets.
edit: and I don't "believe" in USB cables making any differences. The interface is inherently poor, can't see a cable degrading the situation much.
Why do they work with such small buffers? There's no reason, other than to save costs...heck, just stick some internal memory in the device and buffer it there before having it go through the DAC. Audio is not something that requires immediate response, so the buffer can be as big as need be. And a buffer to receive 100% correct information on a measily 1441kbps stream would not have to be very big at all...
My Maverick Audio D1 DAC is unusable on the USB output due to an apparent lack of buffering, as it will actually skip/crackle from time to time. That is what you might expect from a bad or unbuffered digital stream, gaps in the sound. You won't get slightly degraded sound quality. Much like a bad HDMI signal will result in blank screens or dropouts, not a slightly worse picture.
I don't understand why more DACs don't seem to implement proper care in handling the digital streams. Don't want to rely on the source clocks? Transfer it and store it internally before having it interact with the DAC component, keeping all your timings internal.
edit: after reading through that article, here's what stood out to me:
Quote:
There are four USB transmission modes (please see Table 1). The two of those that are used for sending large quantities of data are (1) Isochronous Mode - A fixed number of packets is guaranteed to be sent and received. This mode is used with multimedia data such as images and audio. (2) Bulk Mode - A fixed quantity of data is sent at one time. If for some reason some of the data, is lost it is resent.
For data storage or printer applications the bulk mode is best because speed is of utmost importance and, through retransmission, data errors will be eliminated. But for audio data, real-time transfer is even more important than occasional missing data. (Noise is more tolerable than interruptions in the data. Of course pops and clicks are intolerable, but even more unpleasant is an intermittence of the data.) In this case, the isochronous mode is used. In other words, a real-time transmission scheme, with no re-sending of packets, is used for audio data, which streams from the PC in an RS-232-C-like manner.
In a very cheap DAC, I might expect the design to use isochronous data transmission. My proposal: use bulk transmission, and store the 100% error free signal in internal memory. From there, you have a much quicker and controlled transmission environment.
Given that some DACs may use isochronous transmission, I'll admit that it's a possibility that USB cables 'could', theoretically, make a difference. However, it begs the question whether errors occuring during transmission are the cause of the transmission medium (the cable), or the transmission itself (outputting USB port).
I really don't think asynchronous transmission should be used for anything but the most time sensitive tasks. Audio is not one of these tasks.