Hacker News new | ask | show | jobs
by sjwright 2724 days ago
For what it's worth I deal with race conditions on a daily basis with multi-threaded programming. What I don’t understand is the point you’re trying to make and how it relates to real digital audio systems. Can you please explain it.
1 comments

Sure.

tl;dr: As soon as the "digital domain" steps into the "physical domain", you can not guarantee a "side effects" free system.

Let's start with a real-life example:

I have a Macbook from 2006, which has a Firewire port. I have an external audio-interface (Onyx Satelite Pro), that has a (Logitech Z4) active speakers system connected via line-out. When I got the Onyx, I had to realize, that the delivered Firewire cable was too short for my setup, so I had to purchase a longer one. I took great care to buy the cheapest one in the store (which was a Radio Shack type), because, hey, digital is digital, or isn't?!.

When I came home and exchanged the two cables the first thing I realized, much to my surprise, was, that the audio sounded different! The old cable sounded more "relaxed", "warm", "analogous". The new sounded "faster", "analytical", a little "sterile". How could that be? All I changed was the cable...?!

Conventional audio wisdom, especially of those, who call audiophiles "audiofools" dictates, that a digital signal is just zeroes and ones. The sequence either get transmitted or not. Add in the timing component, which is either to the point or off, and things should be pretty clear: What goes in is what comes out. No loss of information. Should there be such loss or distortion, we can error correct it, at least up to a certain degree. Therefore, one always get a perfect, or near perfect, signal.

That, at least, is the argument.

If that argument (alone) would hold true, and be sufficient to describe all, that happens in such a system, I would not have been able to hear a difference, by exchanging the digital interconnect, right?

But I did!

Therefore there must be something happening outside of the digital domain, that influences the signal. In my case, clearly the cable!

And now I come to the conclusion, which should answer your question:

> What I don’t understand is the point you’re trying to make and how it relates to real digital audio systems.

Former example covers exactly your request for a real digital audio system. What happens here is, that we step out of the digital domain into the real world domain, which means the physical and chemical domain. Namely, the domain of audio components. These components are made out of matter. In the case of electrical signals (Firewire, USB, etc.), the medium, which transmits our signal, is the same, which would transmit an analogous audio signal. Signals get transmitted as electricity with ever changing voltages (leaving out optical transmissions now). Therefore all, that applies to an analogous signal transmission, applies to digital signal transmission, as well, as long as the transmitting medium is electrical.

Now, you may, say, that that is not of importance, since the information carried is still a sequence of binary data, and it gets transmitted or not, given the theory behind it, it should be perfectly reproducable. But then, I ask you, why the difference in sound?

Given a perfect program (our digital concept), when applying it to the real world (physical/chemical), race conditions may occur, simply, because of unpredicted side effects (you know the importance of this), that come with this domain. Our perfect program, here, would be the theory of lossless, bit-perfect data transmission: the digital domain. Or - Theory. Our real world would be the cables, connectors, building blocks of electronics, which are: the chemical and physical domain. Or - Matter. And there is something happening in the material domain, that makes an impact on the sound. I don't know what that is. But I can clearly hear it on sub 1000€ system. Now imagine, how much more this could be heard on a stereo system, that cost 25.000€ or more...

Closing, I would like to requote the definition of "Race Condition" from http://FOLDOC.org/Race%20Condition:

> Anomalous behavior due to unexpected critical dependence on the relative timing of events.

The anomalous is the key word here. There are side effects, that happen outside of the "digital domain". And it is these side effects, that change the sound. And audiophiles know this. If a cable can change the sound, then capacitors, resistors, whatever, may well change the sound, too.

> ... given the theory behind it, it should be perfectly reproducable. But then, I ask you, why the difference in sound?

Placebo effect. 100% guaranteed. It is literally impossible for digital audio signals to degrade in any way that even vaguely aligns with your descriptions. It is analogous to using a different brand of SD card to get richer, more vibrant colours out of your digital camera. It is analogous to changing the ethernet cable on your computer to make web pages more insightful.

Bits don't work that way.

Whereas the placebo effect is very real and very powerful.

Firewire is also a two-way packetized, error corrected protocol. If a cable was not delivering the signal reliably, the consequence would have been a lower maximum transmission rate, not error that could affect sound. If there was any change in the signal due to the cable, your Onyx interface could not maintain a stable connection with your computer and you'd get no sound at all.

Your attempt to describe how digital signals are transmitted is actually just plain wrong.

Furthermore, race conditions have absolutely no relevance to this discussion.

I wrote:

> [Digital] Signals [when not transmitted optically] get transmitted as electricity with ever changing voltages [...]

You wrote:

> Your attempt to describe how digital signals are transmitted is actually just plain wrong.

Wikipedia writes:

> A waveform [...] as a digital signal [...]. The two states are usually represented by some measurement of an electrical property: Voltage is the most common [...]

Therefore I will leave it here.