USB DAC settings for use with iFi Zen Streamer? Async or sync?

I’m running a NUC with ROCK, and my endpoint is the Roon-RAAT-compatible iFi Zen Streamer (set to Roon mode that should enable RAAT).

The purpose of RAAT, as I understand it, is to allow the DAC’s clock to control all upstream devices (including the endpoint and Roon Core).

The DAC, however, has two USB input modes - Synchronous and Asynchronous. If “synchronous” is selected, the DAC surrenders its clock to the upstream devices and synchronizes itself to the source clock. But if “asynchronous” is selected, the DAC buffers all input and then re-clocks the bitstream prior to the data hitting the actual digital to analog converter chip.

Which is the proper setting for RAAT?

It would seem that if the DAC is set to “synchronous,” it (the DAC) is trying to synchronize with the source clock. Since RAAT is trying to do just the opposite (synchronize the endpoint and source clocks to the DAC’s clock) it would seem that mass confusion would result with RAAT asking the source clock to follow the DAC clock while the DAC clock is trying to follow the source clock. In short, neither clock will fit the RAAT-desired master-slave relationship.

Yet if the DAC is set to “asynchronous,” the DAC is buffering the incoming bitstream prior to allowing the DAC’s clock to establish the chip-feed timing. How can RAAT “lock onto” the DAC’s clock through the buffer?

So my ultimate question here is "Should my DAC’s USB input be set to synchronous or asynchronous to best integrate with RAAT (and why)?

Thanks - Glenn

1 Like

Is this of any help?

1 Like

Hi Glenn
I hope someone more knowledgeable than me is going to answer straight to you question.

I would let asynchronous as that makes the dac the “ruler”. I think just buffers the data and asks for more from the bridge and the bridge asks for more from the core. I do not get the internal working but I’m not curious enough for this :slight_smile:

I think if you have an external clock to sync your devices you would use the synchronous option but I know this is not the case for your iFi zen stream

I think is to be the best transport so that why it is letting the dac do the clocking.

Traian

1 Like

ASYNC. Why not root out possible jitter if you can? :wink:

1 Like

If this is an “accurate” (see below) question, the answer is asynchronous, unless it causes you a problem that only changing to synchronous solves it.

This is too suspicious, as I’ve never seen a DAC that requires a user to choose between synchronous USB or asynchronous USB operation.

So I tried to find what DAC you are using, and determine whether your DAC does have the setting you asked about.

You are using Emotiva Stealth DC-1.

It does not have a synchronous USB / asynchronous USB setting. All the logical answers above are based on the wrong question asked, so they are invalidated.

It does, however, have an Asynchronous Sample Rate Conversion (ASRC) function. The manual or user interface, unfortunately, describes the disabling of ASRC to be Synchronous. This is a totally different thing from synchronous / asynchronous USB input.

In this case, you can only try both and see which sounds better to you for 44.1kHz music. Listen for stereo imaging in a complex classical music, vocals, bass, etc.

If you find an answer to what setting sounds better to you, let me know.

2 Likes

Hi @wklie -

You bring up an interesting point -

ASRC is, as I understand it, a bit-depth conversion protocol that operates by interpolation? In other words, if my DAC is locked to 32-bit input but is receiving a 16-bit audio stream, ASRC will interpolate the signal to provide the required 32-bit-depth signal to the actual digital-to-analog converter chip. Is this correct?

But to do that interpolation, again - as I understand it - the incoming signal is buffered, then converted by ASRC, and only then is it forwarded to the converter chip.

This differs from “asynchronous input” in that true asynchronous input buffers the incoming bitstream and then has the option to re-clock the frequency of the of the stream prior to forwarding it to the converter chip. In other words, if my DAC is “locked” to 88kHz input and the incoming bit-stream is 44.1kHz, the DAC-device will buffer the incoming signal, and then re-clock it to 88kHz prior to sending it to the converter chip. Is this correct?

So even though my Emotiva DAC says I have a choice between synchronous and asynchronous USB inputs, the actual choice is between “taking whatever shows up at the DAC input” (synchronous mode) or else changing the bit-depth (only) and even then, only if the DAC is set to a specific bit-depth. Is this correct?

Please pardon my ignorance on this topic - I’m trying to learn.

Thanks - Glenn Young

Further asynchronous USB / ASRC information from the tech guru at Emotiva:

An asynchronous USB port is a very specific thing… and, of course, only applies to the USB input.

Basically, in order to play a digital audio file or stream, which is really just a list of numbers, you need to add a clock. Since USB audio data is delivered as packets of numerical data it does not include a clock.

In the old days DACs would “regenerate” the clock by “locking onto the rate the packets arrived and generating a clock that was a multiple of it”. Most used a PLL (phase-locked loop) to generate a clock that was a multiple of the packet rate.

The problem there is that, since USB was never intended to be an audio format, little consideration is given by the computer to delivering packets at a consistent rate. Most of those early DACs used either multiple PLLs, or some other equivalent filtering scheme, to “even out” the result into a fairly smooth clock rate. However, the result never really exceeded “pretty good”, and was very dependent on how consistently the computer delivered the packets. This is why early DACs were sensitive to things like computer optimization and USB cable quality. (And remember that, from the computer’s perspective, this was not much of a priority.)

With an asynchronous USB port, rather than “waiting for the data to arrive”, the receiving device (the DAC) actively requests the data from the computer. The DAC then creates its own internal clock to use with the data. This means that the accuracy and consistency of the data clock no longer depends on the computer or the USB packet stream. As long as the computer is fast enough supply data when the DAC asks for more everything works out well…

And, as long as the packets arrive in “readable condition”, things like jitter, which is a variation in the timing of the packets, shouldn’t matter either. Note, however, that this ONLY applies to the USB input…

In contrast to this an ASRC (asynchronous sample rate converter) operates on the digital data AFTER it enters the DAC and AFTER the USB input circuitry. This enables it to work for all of the digital inputs rather than just the USB input.)

The actual internal workings of an ASRC chip are very complex - and are performed by a powerful DSP engine inside the chip.

The following is a somewhat poetic sounding, but technically accurate, description of what an ASRC does:
At one of its inputs the ASRC chip accepts a digital audio signal and its accompanying clock.

At another input the ASRC chip accepts an “output clock signal”. (This clock signal is provided by a local high quality clock and is totally independent of the clock signal that goes with the incoming audio data.)
The ASRC then calculates a new output signal that is “what the incoming digital audio signal would be if it was at the sample rate of the output clock”. (Basically it mathematically does the equivalent of converting the incoming signal to analog then converting the result back to digital at a new sample rate.) The “cool part” is that, in this process, the original clock is totally discarded, so any jitter or timing errors present on the original clock are ignored.

The signal that comes out of the ASRC is at a new sample rate… but the purity of its clock is SOLELY dependent on the new clean output clock signal. (So the ASRC both converts the sample rate and totally re-clocks the resulting output signal.)

The important distinction is that an asynchronous USB input provides a clean jitter-free signal coming into the USB input while the ASRC acts on the digital signals coming in from ALL of the inputs, including the USB input, and the Coax and Toslink inputs. This does mean that, when the ASRC is enabled, the USB input is being clocked at the DACs input, then re-clocked again by the ASRC. It also means that the ASRC works on all of the digital inputs and not just the USB input. (However, since either alone does a near perfect job of providing a clean clock, you don’t gain or lose anything much by “double cleaning” the USB input.)

Also worth noting is that there is a sort of confusion about the menu choices on the DC-1.
“Synchronous” really means “ASRC Disabled” …
And “Asynchronous” means “ASRC Enabled” …
The USB input on the DC-1 is ALWAYS an asynchronous USB input.

Note that, in a DAC, the purpose of the ASRC is to re-clock the digital audio signal…

The ASRC on the Stealth DC-1 re-clocks the incoming data to the same sample rate as it started at. It doesn’t really matter, since…the DAC chips in Emotiva DACs oversample anyway.

3 Likes