USB Audio

Converting

As all major desktop operating systems (Windows, OSX and Linux) have a native mode USB audio driver. The only thing the manufacturer of a USB audio device has to do is supplying a receiver translating the audio data send over the USB into something the DAC do understand.
This might be SPDIF, I2S, any protocol the DAC does understand.

In essence all USB audio starts with a USB receiver doing the protocol conversion.

Connecting

There are several ways to connect a PC to your audio using USB.

 

Converters

Most converters translate the data as received over the USB to SPDIF because when legacy audio has a digital in, it is SPDIF (optical or coax) most of the time.
Converting to AES/EBU also exist as this is the standard in the pro-world.

If you are happy with your current DAC or receiver, this is a good solution.

 

USB DAC

Add a DAC to the converter and you have a USB DAC.
Today this is often combined with volume control and a head phone out making it a USB pre-amplifier.

 

USB Amplifier
Next logical step is to add a power amp and you have an integrated amp with a USB input.

Resolution

A lot of people think USB audio is limited to 16 bits/48 kHz max.
A lot of (cheap and sometimes not so cheap) USB DACs are indeed limited to this resolution.

This is because the manufacturer decided to use a simple and cheap of the shelf hardware solution.

Another common misunderstanding is the specification of the bus (USB 1,2 or 3) and the USB audio standard (1 or 2).

USB Audio Class 1 standard (1998)

This standard allows for 24 bits/96 kHz max.
The standard itself doesn't impose any limitation on sample rate.
Class 1 is tied to USB 1 Full Speed = 12 MHz


Every millisecond a package is send.
Maximum package size is 1024 bytes.

2 channel * 24 bit * 96000 Hz sample rate= 4608000 bits/s or 576 Byte/ms
This fits in the 1024 byte limit.
Any higher popular sample rate e.g. 176 kHz needs 1056 bytes so in excess of the maximum package size.

 

All operating systems (Win, OSX, and Linux) support USB Audio Class 1 natively.
This means you donít need to install drivers, it is plug&play.
All support 2 channel audio with 24 bit words and 96 kHz sample rate

USB Audio Class 2 standard (2009)

It is downwards compatible with class 1.
USB Audio Class 2 additionally supports 32 bit and all common sample rates > 96 kHz
Class 2 uses High Speed (480 MHz). This requires USB 2 or 3.
As the data rate of High Speed is 40 X Full speed, recording a 60 channel using 24 bits at 96 kHz †(132 Mbit/s) is not a problem.

From mid-2010 on USB audio class 2 drivers are available in OSX 10.6.4 and Linux.
Both support sample rates up to 384 kHz.
It is unclear if Microsoft is going to support USB Audio 2.
You need a third party USB class 2 driver on Windows.

Companies like Thesycon or Centrance have developed  a USB Class 2 Audio driver for Windows.

Using High Speed USB for playback †there are no limits in resolution.

Adaptive or asynchronous synchronization

The audio data is send over the USB in isochronous mode.
Each frame contains a certain amount of data.
The volume of the data is about equal to a real time stream but it arrives in packages at distinct intervals (the send rate of the bus).
In adaptive mode the PC controls the amount of data send. As a consequence the DAC has to adapt its speed to avoid buffer over/under run.
In asynchronous mode the DAC sets up a feedback loop telling the PC how much data to send.
This allows for implementing a fixed clock of high quality in the DAC.
In principle asynchronous USB allows for an implementation with very low jitter.

This is what probably differentiates between an asynchronous USB DAC and an asynchronous USB to SPDIF converter. The moment you use a converter you move the clock out of the DAC.

More details

Things to look for

When buying a USB DAC always check the specs of the USB input.

DAC and USB specs
Lots of people think that a spec like 24 bit/192 kHz upsampling DAC applies to the USB input as well only to find out they get no sound at all when playing high res recording in their native format using the USB input.
This spec says what the DAC chip set is capable of and has nothing to do with the accepted input over the USB or any other digital input.
If there is no explicit information about the capabilities of the USB input, you better assume it is limited to 16 bit/48 kHz.

Asynchronous

Lots of people think that if it is an asynchronous DAC, this applies to the USB.
This is not necessarily the case. Asynchronous Sample Rate Conversion is a noise shaping technique to deal with input jitter. DACs using the ESS Sabre DAC often uses this technique.
But is says nothing about the synchronization used by the USB.
If the manufacturer doesn't state explicitly to use asynchronous USB you better assume it is adaptive mode.

At the present I don’t see any reason to by a 16 bit USB DAC.
24 bits can be obtained at the same price.
Even if you don’t have 24 bit sources (might change in the near future) a 24 bit depth is beneficial when using digital volume control.

 

The bit depth (16 or 24) of a DAC is a nominal value.
It is not a performance metric.
All it says is that the DAC accepts samples with a 16 or a 24 bit word.
Not to be mistaken for being able to resolve this word to the last bit.

Will playing 16 bits sources on a 24 DAC affect sound quality?
Very unlikely, all what is done is padding 8 zero’s too the 16 bits to make it a 24 bit word.
In fact there might even be a benefit, if you apply digital volume control, you can chop off these eight zero’s (48 dB reduction) without losing resolution.

A well implemented asynchronous design probably beats an equally well implemented adaptive mode design. But a DAC is more than a synchronization mode only!

 

A clear and well written step by step guide to setup and USB DAC using XP, Vista or OSX can be found at the Ayre website.

Setup for Win7.

Setup for Vista.

References

More technical information about USB audio can be found here.