RAAT and clock ownership

I’m always nervous to wade into these topics…

This is true and, in fact, in many DACs there are multiple clocks running depending on the design of the product and its feature set. For instance a DAC with an integraded streamer card will have a clock (or clocks) managing the DAC itself along with a separate clock (or clocks) running the processor on the streaming card.

This, however, is not entirely true. RAAT operates at a higher level than the network hardware itself. To greatly simplify things it allocates a buffer on the core and another one on the endpoint. The endpoint buffer can be in a connected computer, streaming card, etc. The core puts data into its local buffer and the DAC pulls data out of its local buffer using whatever interface is appropriate. The core only sees its local buffer and the DAC only sees its local buffer. It’s up to the RAAT protocol to manage the transfer of data between the two buffers and to ensure that neither one is too empty or too full.

Why does this matter?

Well, the DAC can only pull data from its local buffer so it doesn’t care about the upstream plumbing. The core can only put data into its local buffer because it doesn’t care about the downstream plumbing.

RAAT manages the data transfer between the two and in order to ensure that all of the bits get from the core to the DAC intact it uses the lower level facilities provided by the network itself to ensure integrity. If a packet gets lost a new one is sent and dropped into the buffer in the right order. Corrupt? Same thing. In most cases the buffers are large enough so as to allow this error correction process to take place without the DAC running out of data or the core filling up its buffer.

Please keep in mind that I’m very carefully using the word data here because that’s what the music is at this point. It’s a stream of bits that are a copy of the file being played. This is an asynchronous process and has no impact on the analog output of the DAC. RAAT (and the network stack) are facilitating a very chatty conversation conversation between the core and the endpoint. They’re making sure that the file (up to the size of the buffers) is being copied from core to endpoint.

The clocks in use over the transfer media have zero impact on the sound coming out of the DAC as all the DAC is doing is playing from a local memory buffer. It doesn’t know, nor does it care, what happened to those bits prior to landing in the buffer. If the clocks in the switch or network interface meet the specification of the transfer mechanism then the data transfer process takes place with little or no issue. If they don’t then one has larger problems.

This is an asynchronous process. By definition the timing (clocking) of the transfer process is completely separate from the decoding process. The buffers will fill and empty at a variable rate, but as long as there’s enough in the DAC’s buffer playback will continue reliably.

The key thing to differentiate here is the difference between data and signal. The file being played doesn’t turn into a signal until its bits are actively making their way through the DAC in real time. Up until the point that they are pulled from the local buffer in the DAC (or endpoint) those bits are no different than those used for a document, image, or even this post.

I understand the audiophile desire to constantly try to “improve” things and that behavior really is the foundation of this hobby. That was easier to do in the past when most of the concepts related to something physical and changes were not only easily demonstrated, but could be backed up with some logical explanation. Digital isn’t like that at all as many of the concepts are counter-intuitive and the explanations are far more complex. Throw streaming into that mix and the problem gets worse. Most manufacturers of audio equipment have little to no understanding of how networks function and how the network may or may not have an impact on actual playback. Sadly, this has a negative impact on the consumers who are forking over their hard-earned cash for solutions to problems which don’t actually exist.

18 Likes