Jam tomorrow#
Wed, 09 Dec 2020 22:13:59 +0000
A complete departure from my usual topics:
This week is Hackathon week at work, and we're solving latency on the Internet so that people in different places can play music together.
Well, not really. The speed of light is the speed of light whatever you do, the speed of light in optical fibres is slightly lower, and the speed of your packets through all the switches/routers/etc in the path to your band members - that's not something we can solve in two days. So what we're doing instead is adding latency : the idea being that if the delay between you and your bandmembers is a multiple of the time to play a measure, at least you can play in sync with what they were playing a bar (or two bars or 8 bars) ago. There is software that does this already: the most well-known is apparently Ninjam , but we're using a fork of it called Wahjam - mostly because Wahjam has simple free-as-in-freedom clients whereas Ninjam steers you quite firmly towards something complicated-looking (and probably $$$) called Reaper.
Anyway, yes, basically it's been two days of compiling code qith Qt on macOS and cargo-culting fixes by copy-paste from Stackoverflow, and I won't deny it's kind of fun. My contribution to the intellectual commons is a patch to allow an unsigned Wahjam binary to open the microphone although I freely admit I have very little idea if I've done it right.