Virtual Jam over the Internet... Is it possible?
How can we get together and play music during this quarantine? Since we can't jam in person, why can't we just set up a virtual jam session on the Zoom video conferencing system and pick while in our homes, safe and sound?
Figure 1: Pre-Covid Jamming (that's me in the cool shirt with my back to the camera)
OK, let's see if that is possible. Imagine a hypothetical Zoom call between me and my guitar-playing friend Jerry (who lives 38 miles away).
The first thing you might do to evaluate this question is to calculate how much delay that the electrical connection will cause, to see if this will even work. If the delay is too long, we'll never be able to sync our music with each other:
- The electronic signal will travel at about 90% of the speed of light (reference 1) - that is about 167,000 miles per second. So, according to my calculations, it will only take 0.23 milliseconds for my mandolin note to reach Jerry, 38 miles away, thru the wire.
Ummm. Not so fast... Let's take a closer look at the signal path.
Refer to figure 2 below (reference 2):
Before we can transmit the video signal that was captured on my computer (or phone / tablet), it has to be encoded. This is a piece of software that runs on my computer that puts the video stream in a standard format that can be sent over the internet. This step alone will introduce a delay into the video of a minimum of 50 ms (or 0.05 seconds), and it will vary, depending on how fast my computer is, what kind of other tasks my computer is doing and even how long it's been since I did a hard reboot (power off/on) of the computer.
The second step is to send it over the network. The way the network works is beyond the scope of this blog post, but suffice it to say that the networking software and hardware use a protocol (HTTP and TCP/IP in the case of Zoom) that introduces a significant delay into the signal. Not only is the delay noticeable, it is also unpredictable and highly variable.
Figure 3: Internet latency as measured from the Westerinen household
Referring to Figure 3 (above), I did a couple of latency (delay) measurements over the internet from my home to various servers around the country. You can see that my network delay varies from about 50 ms up to 150 ms, with a single spike going up to 1/2 second (500 ms).
The amount of network (internet) delay depends strongly on any router, firewall and other processing, general network traffic congestion, as well as the amount of buffering and error recovery that is needed. As you can see from Figure 3, the delay could be a few tens of milliseconds up to a half of a second... or more if you are on a cable modem and your neighbor is downloading a video file. And, even worse, the delay varies like crazy from second to second.
This is not good, especially when you cuss and scream at the bass player in a jam for dragging the beat by a mere 40 milliseconds.
Note that there is delay on Jerry's end too - his computer must also deal with this networking stack and decode and display the video as well. That is good for another 20 or 30 ms.
So even a perfect internet connection between Jerry and I will add a significant delay - typically on the order of a second or two. Not only that, but as network conditions change from second to second, the delay will vary.
That will make it pretty much impossible to play music together over the internet.
(Or, as you might have noticed it also makes the nightly newscasters step all over each other when the anchor and interviewee are both quarantined at home, and using internet connections for their video feeds.)
And if that weren't bad enough, there is a matter of echo and noise cancellation that will really mess things up for us jammers. The cancellation software that Zoom and other videoconferencing applications use is not perfect and it really interferes with things when everybody talks - or plays - at once. It can sound like a squealing echo chamber when the software can't keep up with things.
Of course you can always have a one way jam, where one person has her mic on and leads the jam and everybody else mutes their mics and plays along. You don't need zoom to do this, Facebook Live or YouTube will work just fine for this.
There are also some good remote musical collaboration solutions around that allow for multi-track recording such as Acapella or if you are a pro, VST Connect. This will allow for making a video or audio recording - with everyone playing remotely (at separate times). These recordings can then be played back and shared over the internet later on.
[ed note: added 5/27/20] There is a program called JamKazam that a couple of my Facebook buddies pointed me to as a result of reading this blog. It is a custom interface for your PC or Mac that tries to avoid some of the delays on the endpoints (such as encoding and decoding). With a hard-wired connection right to your router, some folks say that it can be used to have a 'local' jam where the pickers involved aren't too spread out. However, most of the reviews I've read are disappointing and some even say it is not usable. This is not surprising given the unavoidable networking delays that we've covered above. You might want to give it a go... if you do, please let me know how it works for you (in the comments section).
So, unless you can afford to lease a dedicated, private, isochronous, high bandwidth, ultra low latency network connection between you and your buddy, you'll have to wait until the quarantine is lifted before you can jam with him (or her) again. Or perhaps, you can get together for a socially distanced, masked outdoors jam in a park somewhere.
Comments
Post a Comment