|
Home
/ FAQ
/ News Classifieds / Events |
Audio Asylum Thread Printer |
Get a view of an entire thread on one page |
159.153.4.50
| '); } // End --> |
In Reply to: Re: You know the "tweak" gurus will glom onto PC Audio.... posted by John Swenson on November 10, 2005 at 13:41:11:
OK, I want to believe that one USB cable can sound better than another, but I think there is a little more to it than this.First, USB cables cannot "sound" different...they either allow the data to pass through error-free or they do not.
An error-prone USB cable would probably also do things like not print your documents properly, or cause bad data to be pulled off your external hard drive.
I am fairly certain that such cables exist, but they are probably the exception (a chair ran over it, or the cat chewed on it, or the connector is damaged, or something like that).
If you truly are hearing a difference between USB cables, it probably means your DAC or USB Converter is WAY too sensitive to the incoming signal and should be replaced immediately.
![]()
Of course it has nothing to do with bit perfectness, its purely a jitter issue. It all comes down to the USB audio spec and how that has been implemented in the available chips.The USB audio class implementation uses the isochronous mode of data transfer over the USB bus, with three possible types of synchronization:
synchronous, adaptive and asynchronous. I will go over these in detail a little further down, covering how they work and their jitter rammifications.
But first some detail on isochronous mode and covering some myths about USB. The USB bus works very differently than an ethernet connection works and this has given rise to some erroneous assumptions I hear a lot of around here. First off the host (computer) is in complete control of the bus, there is no way too many devices trying to talk at once can "overload" the bus such as can happen on an ethernet. Data is sent out in frames that go out every millisecond. This happens whether there is any data in them or not. The rate at which the frames go out is determined by the oscillator in the host transmitter, not by the speed at which the computer is running, or the software running on it. Some piece of software bussily running in the background cannot "slow down" the bus. It might prevent a program from keeping up with the bus (providing data to it) or accepting data from it, but the data rate on the bus stays constant (or at least fairly constant within the limits of the oscillator in the host PHY)
Now on to isochronous, this means that the host reserves bandwidth on the bus for an endpoint. (your DAC is an endpoint) This is easy for it to do since it is in complete control of the bus, nobody else can "steal" it. It doesn't matter that you have a 300gig hard drive, a scanner, a mouse or whatever else on the bus, once an isochronous endpoint is setup they all have to work around it, they get whats left over. If you try and setup too many isochronous endpoints such that the bus cannot handle it, the host will not allow them all.
One interesting tidbit about isochronous streams is that there is no error correction. There is a rudimentary error detection, but no mechanism for doing anything about it, no retries or ECC codes. I read somewhere that its estimated that for a 44.1 stream running 24 hours a day there will be an error about once a month or so. The standards committee did not consider this worth doing anything about. I guess if you detect an error you can either flash a light on the front pannel to let people know an error occured, or you can just play the previous sample. (or maybe interpolate with the next)
Now on to the fun part, the syncronization modes. In all casses the data from the bus goes into a buffer and gets clocked out by a clock, how that clock is generated and how it interacts with the bus is the differences between the modes.
Synchronous: in this mode the readout clock is directly derrived from the 1KHz frame rate. There is a PLL that takes in the start of frame signal and genrates a clock. Using this scheme its rather difficult to generate 44.1, but very easy to generate 48KHz. This is a primary reason why many early USB audio devices only supports 48KHz, they used this mode. As you can guess this mode is very susceptible to jitter on the bus, pretty much anything that causes the output from the host to be jittered (PS noise, vibrations, interference etc) AND things that can cause jitter on the interconnect (interference, reflections, ground noise etc) will wind up with jitter on the readout clock. This is a VERY poor mode to use for decent quality audio.
Adaptive: in this mode the clock comes from a separate clock generator (usually implemented as a PLL referenced by a crystal oscillator) that can have its frequency adjusted in small increments over a wide range. A control circuit (either hardware or firmware running on an embedded processor) measures the average rate of the DATA coming over the bus and adjusts the clock to match that. Since the clock is not directly derived from a bus signal it is far less sensitive to bus jitter than synchronous mode, but what is going on on the bus still can effect it. Its still generated by a PLL that takes its control from the circuits that see the jitter on the bus. Its a lot better than synchronous mode, but still not perfect by a long shot. This is the mode that MOST USB audio devices use today.
Asynchronous: in this mode an external clock is used to clock the data out of the buffer and a feedback stream is setup to tell the host how fast to send the data. A control circuit monitors the status of the buffer and tells the host to speed up if the buffer is getting too empty or slow daown if its getting too full. Note this is still isochronous, the host is continuousley sending samples, there is no "per packet handshake" going on. Since the readout clock is not dependant on anything going on with the bus, it can be fed directly from a low jitter oscillator, no PLL need apply. This mode can be made to be VERY insensitive to bus jitter.
The reality: There are NO USB audio chips that out of the box support asynchronous mode! If any one here is aware of any please let me know. I have researched the field quite thoroughly and not found any. There are a few that theoretically do support it, but their firmware has to be rewritten to support asynchronous transfer. I have been trying to do this for one of these chips for the last several months and have been running into a lot of roadblocks. Sometime in the future I hope to get it working, but for now I have to live with chips that support adaptive mode.
These adaptive chips are not bad, they actually have quite good jitter performance, much better than I thought they would have when I started working with them. But its not perfect, or really even close. Because of this the DAC is still sensitive to whats going on with the cable and the host, not a lot, but it is definately there.
As the quality of the power supply, DAC board layout and output stage have increased the level of grundge and noise from these sources on the output signal have decreased to the point where the jitter effects are a larger percentage of problems with the sound. You probably will have a hard time hearing these effects on a stock transit for example, there is too much else going on that is masking these effects. But once this other stuff is diminsihed significantly the effects of the interface jitter are much more noticeable.
Of course there is another way to deal with this, throw out the USB audio spec and write your own using the bulk protocol. Of course this means you have to write your own windows, MAC and linux drivers, AND your own firmware for a generic USB interface chip. It CAN be made to work and if done right could provide a very low jitter interface, but it is one heck of a lot of work, one I don't have the time for (unless someone here is willing to support me and my familly so I can spend full time on this)
I guess thats enough of my soapbox for now, I'll get off and return you to your regularly scheduled assylum.
I believe this one may use the asynchronous protocol. I have been unable to make it hiccough by adding more system applications. Seems like a completely custom implementation. Have you seen one?
![]()
It is probably not due to data differences but rather EMI / RF radiation. Different cables or different lengths will emit different levels & spectrum of ratiation which will affect other components. Cable placement could also change radiation. This is confirmed by John who has noted that lifting the cable off his metal table helped. But very often these could be system specific so it may not be useful to make USB cable risers as he suggests!
![]()
"First, USB cables cannot "sound" different...they either allow the data to pass through error-free or they do not."Seconded. Since USB is a message passing system, all data is buffered and reassembled between host and client devices. No jitter.
If the USB audio device is poorly designed enough to allow noise picked up by the USB cable into the DAC section, then that's probably the least of your worries.
/*Music is subjective. Sound is not.*/
![]()
USB Bridges are not perfect. Some do not work well or at all with external drives. Others sometimes fail during use for unknown reasons even without parallel use of other computer functions.Why are there no serious tests on the integrity of usb/firewire connections; just statements that they are superior. I have found that MAudio usb boxes consistently cause software problems on quite different computers.
Some, please don't say that computer audio is perfect because it is theoreticaly 'perfect'.
Computers are still noisy despite so called silent boxes. There is noise and vibration from the drives and power supply unless one takes extreme measures. This is enough to downgrade the actual signal to noise ratio of -96 dB for CD. Hi Fi boxes can reach this or lower with hirez sampling and bit depth.
![]()
> USB Bridges are not perfect. Some do not work well or at all with external drivesI'm not sure what that has to do with digital audio, as bridges are usually meant for cameras. This is more of a function of the bridge not implementing the full USB mass storage command set, or the camera expecting propriatary commands to retreive images, than USB itself being a poor transport mechanism.
> Why are there no serious tests on the integrity of usb/firewire connections; just statements that they are superior.
USB has been around for quite a while, and as of the 1.1 spec release several years ago, is considered bulletproof if implemented correctly, which these days is a trivial task.
> I have found that MAudio usb boxes consistently cause software problems on quite different computers.
That's a result of poor drivers, not a problem with USB itself. I've had endless problems with the drivers for their Quattro USB interface. I've been using high speed USB2 DAQ boxes for about a year, and have never had a problem outside the realm of bad drivers or software.
> Some, please don't say that computer audio is perfect because it is theoreticaly 'perfect'.
The resulting audio may not be perfect, but if you use well written software, the internal audio handling is bit perfect. It's not a theory, it IS. If computers randomly dropped or altered bits they wouldn't run at all.
> Computers are still noisy despite so called silent boxes. There is noise and vibration from the drives and power supply unless one takes extreme measures.
Yep, the inside of a computer is really noisy, which is why you pull the DAC out and put it in a well designed, outboard USB box.
/*Music is subjective. Sound is not.*/
![]()
usb bridges are universal and the chips form the basis of usb operation; not just cameras - I don't know why you say this. For me, NEC bridges both usb and firewire spell trouble. I have no confidence that other makes are 'perfect'.If usbs are bomb proof, why do they fail? It doesn't matter if it is the hardware or software, they are more prone to failure than the good old hi fi boxes which have software and hardware integrity until something fails and lets you know.
The only way to be objective is to subject computer audio systems to the same tests as hifi systems. Many computer audio tests are just mickey mouse and assertions.
![]()
> usb bridges are universal and the chips form the basis of usb operation; not just cameras - I don't know why you say this.Oh, *that* type of bridge. There is a USB product class called a bridge that lets you plug a camera directly into a printer, or hard drive, or whatever.
Actually USB bridge chips are only used when converting from USB to another bus type, such as 1-wire or SATA. On the computer side of things you have host controller chips, and most USB driver chips in peripherials are integrated into the micro. Many USB audio devices, for example, have the USB driver hardware integrated into the DAC.
> If usbs are bomb proof, why do they fail?
Usually it's a problem with bad driver software or lousy hardware design. If most USB hard drives are $150 and you buy an off-brand model for $80, guess where they're cutting corners?
> they are more prone to failure than the good old hi fi boxes which have software and hardware integrity until something fails and lets you know.
It's no different than hifi gear. If you buy cheap junk, in the computer or hifi product arena, it's more likely to fail.
By the way, what does any of this have to do with the quality of USB cables, which is what I was originally arguing about?
> The only way to be objective is to subject computer audio systems to the same tests as hifi systems.
What makes you think they aren't?
/*Music is subjective. Sound is not.*/
![]()
This post is made possible by the generous support of people like you and our sponsors: