In the context of JamKazam and playing music, latency is the time from the instant that another musician plays a note on their instrument until you hear that note in your headphones. If latency is too high, it becomes difficult or even impossible to play music together - because you hear other musicians in your group playing behind you. So keeping latency as low as possible is incredibly important to how successful and happy you will be in playing online sessions on the JamKazam platform.
Let's say there are two musicians in your JamKazam session. Total latency in your session will be the sum of:
- The time it takes for each of your computers to process the audio. We call this audio processing latency, and it is represented in the diagram below in orange.
- The time it takes for your audio to be transmitted across the Internet. We call this Internet latency, and it is represented in the diagram below in green.
- The time it takes to buffer audio due to jitter. This is a more technical concept, and we don't address it here.
Latency exists in all music performances - even when musicians are together in a single location. Latency is typically measured in milliseconds. One millisecond is one one-thousandth of one second. The speed of sound - the speed with which audio moves through the air - is about one foot per millisecond - incredibly slow. So if you are sitting in a room with another musician, and your chairs are 10 feet apart, there will be about 10 milliseconds of latency in your session.
The reason that JamKazam can work is that the speed of light is about 100 miles per millisecond. This is relevant to audio because the backbone of the Internet is fiber, and fiber moves data at something in the neighborhood of the speed of light (but less due to a number of factors). Still, theoretically if you are sitting 10 feet apart in a room and experiencing 10 milliseconds of latency, in 10 milliseconds your audio can fly up to about 1,000 miles across the Internet backbone.
That sounds great, right? But don't forget that you have to account for the time it takes for the computers on each end of the connection to process the audio. If you do a good job of optimizing your gear, you can typically get this into the 3 to 10 millisecond range. If you are at 10 milliseconds on your computer/gear, you just ate up the equivalent of up to 1,000 miles of Internet range. So paying attention to optimizing your computer and audio gear will pay dividends! We offer very valuable guidance on picking the right audio interface and setting up your audio interface and your Internet connection in optimal ways in the gear recommendation and setup instruction portions of this JamKazam knowledge base.
In the diagram below is one realistic example of what can be accomplished with JamKazam over a long distance. Let's say one musician is in Austin, while the other is in Chicago. Let's say both musicians have set up their gear so that audio processing takes a total of 5 milliseconds. And let's say that jitter takes another 3 milliseconds. Finally, while the distance between Austin and Chicago is 1,200 miles, let's say it takes 20 milliseconds for the audio data to transmit across the Internet. This is a total of 28 milliseconds of latency between these two musicians. This will feel/sound to the musicians as if they are sitting in a room 28 feet apart.
When considering how much latency is tolerable, it's worth noting that it depends on the tempo, the style of music, and how sensitive each musician is to latency. All of this said, as a general set of guidelines, JamKazam would provide guidance that:
- 20 milliseconds of latency or less will yield an excellent session
- 20-30 milliseconds of latency will yield a good session, with latency more noticeable
- 30-40 milliseconds of latency will yield a fair session, with latency that must be managed more
- 40+ milliseconds of latency will yield a tougher session, pretty quickly getting to a point where it's very difficult to stay in sync
There is one other latency concept that is worth understanding. Whichever musician in the session is keeping/driving the beat/tempo of the music is going to feel latency far more than the other musicians in the session. Let's say that your group has a drummer, and the drummer is driving the beat. And let's say that latency in your session is 20 milliseconds. Then when your drummer hits a drum, he/she will hear that drum strike instantly. All the other musicians in the session will hear that drum strike 20 milliseconds later. So all the other musicians, while playing right on top of the beat they hear, will be playing 20 milliseconds behind the drummer. It will then take another 20 milliseconds for the audio of the other musicians to get back to the drummer. So the drummer will hear everyone else playing 40 milliseconds behind, while it sounds to everyone else like they are pretty much right on the beat. The drummer will want to slow down to stay in sync with everyone else, but if the drummer slows down, then everyone else slows down, and the performance grinds to a halt. So whichever musician is driving the beat will need to exercise the discipline to keep the tempo steady, and trust that everyone else will keep playing right behind them, even if only slightly behind. Tens of thousands of musicians are playing successfully on JamKazam, but it does require a little bit of patience and a bit of an adjustment to get used to this - in particular for the tempo keeper of the group.
Ready to learn more? Check out the "What Gear Do I Need to Play/Sing on JamKazam?" article.