I have argued against the dogma that networking is always better than USB, or that SPDIF is better than USB, or that Toslink is worse than coax. And I have quietly marveled at the extremist steps on power supplies and cables of many kinds. (And so does Darko.)
I argue that it depends on the design of the device, what it is sensitive to. This kind of analysis is behind Chord arguing that optical is good, because it doesn’t carry electrical noise and while it is jittery their DACs are not sensitive to that. And why Auralic argues that WiFi is better than Ethernet.
And why we should be nuanced in choosing equipment and connections, because dogma is not always right. Try!
This triggered some musings about contracts. When we use a service, we always cared about the signature of its interface, the API or protocol, the arguments and return values. But lately, driven by the cloud service revolution, we also consider the contract (this is not new, we could and should have considered the contract in classical architectures, and some of us did, but it became widespread with cloud services). The contract described what the service promises, in terms of performance and reliability and availability, and often security and regulatory compliance and auditability, and of course cost. (The “ilities”.)
Clarity about the contract is essential. If I build a system that calls a service and expects millisecond response and the service provider built it for second response, my service can’t meet its performanc goal. If I build a system that promises five nines availability (99.999%) and I use a service that offers three nines, I must design around that situation, otherwise my contract is not fulfilled.
I think the audio industry is playing fast and loose with contracts. Consider the problem of noise coming in through the power line. Many designers build a power supply that converts AC to the DC that the device needs, but if there is noise on the line, they shrug and point fingers: “it’s not my fault it sounds bad, there was noise on the line”. But the AC line is a service; what is the contract it offers? Does it promise zero noise? Does it promise noise below a certain level? Does it even talk about noise? What is the distortion of the 60 Hz sine wave? Does your utility specify that? What is the contract about frequency stability? (Long term stability is actually quite good, because they manually stabilize it so that railroad clocks are correct, but they don’t promise anything about wow and flutter and jitter.) Most electronics designers act as if the AC service had a contract with a single frequency, zero deviation in frequency and voltage, no other frequencies. But that’s not the contract.
And similarly with noise coming in over the network. If the Ethernet contract is silent on the amount of noise carried by the cable, you have to design accordingly. Or if the contract is explicit but the promise is bad, you have to design accordingly.
Consider jitter. When SPDIF was designed (for CD transports, remember), they decided that the source should own the clock. A terrible decision, probably inspired by turntables: you have a digital technology that demands sub-nanosecond accuracy, and you try to do that by stabilizing a mechanical device? But this lead to DAC designers saying, the SPDIF contract says they own the clock, so I’ll design a DAC based on that incoming clock signal, and if it sounds bad with high jitter, it’s not my fault, you said you’ll provide the clock. Gradually, quality device vendors took responsibility for timing by reclocking. And of course, when we went with asynch USB and networking, there is no jitter by definition. But think of the difference in contract: SPDIF says, “I will provide the clock, but the stability is on a best-effort basis, no guarantees”, while the asynch techniques say “I got nothing to say about the clock, you are responsible for that”. Which contract is better? The asynch contract is more honest, the designer is not misled by undeliverable promises. In fact, they are really the same contract, because a clock with unspecified accuracy is really the same as no clock from a contractual basis, the customer has to take responsibility for timing in both cases.
So ideally, every component designer should be clear-eyed about the contracts of services he depends on, and design defensively. But that is not really realistic. To see the cost of a really robust power supply, come what may, we can look at the PSAudio Regenerators. If really weak power is rare, maybe it is better to externalize that protection so only those who need it pay for it. But noise is common, and I think every device should protect against noise.
And for those things you don’t protect against, what is the failure mode? I would like to see, the device meets its distortion specs with power between 100 V and 150 V, and shuts down otherwise.