Hacker News new | ask | show | jobs
by recursive 412 days ago
It's a less hard problem than the duet. If the round-trip is 38ms, you can estimate that the one-way latency is 19ms. You tell the the other client to play the audio now, and you schedule it for 19ms in the future.

That's assuming standard OS and hardware and drivers can manage latency with that degree of precision, which I have serious doubts about.

In a duet, your partner needs to hear you now and you need to hear them now. With pre-recorded audio, you can buffer into the future.

1 comments

You’re right that it’s an easier problem, but it’s still trickier than it looks. Remember the point of this is to be listening together. To do that, you need to be able to communicate your reactions. And then you’re back to the 38ms (in practice it’s probably twice that). Either way, at 120bpm that’s over a bar!

If you _don’t_ have real time communication, then you don’t really need to solve this problem. But the problem is fundamentally unsolvable because the speed of light (in a vacuum) is the speed of causality and, as I say, puts a hard cap on simultaneity. This tends to be regarded as obvious at interstellar distances but it affects us at transatlantic distances too.

You're basically right, but one 4-beat bar @120bpm is 2000ms.

Also latency demands on conversation are not nearly as tight as those on music performance. See ubiquitous video conferences.

My brain ain't working, and yeah, I don't tend to notice transatlantic delays on voice and video calls.