Diagnostics and statistics do not sound very exciting, we know. But sometimes the most beautiful things come wrapped in unattractive packages. JamKazam measures and reports important performance statistics continually during your sessions. If you are having problems with audio quality or latency in sessions, or if you're just curious to understand what is happening "under the hood" of your computer, audio, and networking gear, then session diagnostics can give you tremendous insight into what is happening and what you can do about it.
Let’s start by examining diagnostics on your own computer and audio gear. Hover your mouse over the little colored circle on one of your own audio tracks in the Audio Inputs column on the left side of the session screen (pictured below with arrow).
You now see a set of diagnostic statistics displayed and continually updated (pictured below).
The Processor entry under the Computer header shows the percentage of your computer processor that is currently being used, not just by JamKazam but by everything currently running on your computer. If this gets higher than 80% or so, you may start getting audio glitches and other problems because your computer’s processor is getting overwhelmed and cannot keep up with processing JamKazam audio reliably. To reduce the processor load and bring this number down, you may consider shutting down other applications currently running on your computer. You may also close the JamKazam video window or reduce the resolution of the JamKazam video window (if you are using JamKazam video features in your session), as video capture and streaming requires a pretty good chunk of processing power.
Under the Audio Interface header, you see statistics about the performance of the audio interface gear you are using to process audio, as follows:
- The Latency entry in this list shows your audio processing latency. To be clear, this is the amount of time it takes for your computer and your audio interface to capture the analog audio from your instrument and/or voice, digitize it, and put that on the network to be sent to other musicians in the session – plus the amount of time it takes for your computer to grab the digitized audio it receives from other musicians in your session, convert it back to analog audio, and play it into your headphones. So basically, this number represents all of the time it takes for your computer to process audio in sessions. This does *not* include the time it takes for the audio to move across the Internet. Most computers and audio interfaces today require somewhere between 4 and 14 milliseconds to process audio. Using built-in microphones on your computer tends to be significantly slower, typically requiring more than 20 milliseconds to process audio - sometimes much more.
- Under the Latency measurement, you’ll see Input Jitter and Output Jitter numbers. To keep your audio clean, you want your audio interface to capture and transfer audio to your computer reliably on schedule. Jitter in this context is a measure of variability in the timing/schedule at which your audio interface is capturing and transmitting your vocal/instrumental audio to your computer. Variability is bad. As long as these jitter metrics stay in the green or yellow, you should be OK on jitter. If these turn red more than once in a while, it will cause latency problems and also audio quality problems like clicks and pops.
- The Gear Driver lets you know what audio software is in control of your audio interface. On a Mac computer, this is usually CoreAudio. On a Windows computer, this is usually an ASIO driver that was built by the maker of your audio interface. This is really just informational.
- And finally, the Frame Size lets you know how frequently your audio interface is capturing and transmitting audio "chunks" to your computer. In the screenshot above, the frame size is 2.5 milliseconds. This means your audio interface is grabbing a chunk of analog audio at a chunk size of two and a half thousandths of one second and digitizing that chunk of audio and transmitting it to your computer to be processed. This Frame Size value is set in step 2 of the audio setup wizard. This is a pretty safe frame sizes for all computers these days. For more modern/current computers with greater processing power, you can reduce your frame size to 1 millisecond, so that the audio is sampled and processed every single millisecond, which will decrease your audio processing latency.
Let’s move on now to look at the diagnostic statistics available on other musicians in your session. In this example, let's say that you are in a session with two other musicians named Peter and Seth. To see statistics for Peter, hover your mouse over Peter’s colored stats bubble (pictured below with arrow).
You now see a larger set of statistics displayed (pictured below).
The total latency ("Tot Latency") at the top of this set of stats tells me the total, end-to-end latency between you and Peter, including the time it takes to process audio on each end of your connection, plus time it takes for the audio data to move across the Internet connection between you. So in the example above, from the moment that you play your guitar and hear it in your own headphones, Peter will hear the audio from your guitar 30 milliseconds after that point – in other words 30 one-thousandths of one second later.
The Computer and Audio interface sections show you the same statistics we reviewed above for your own computer and audio interface, but these statistics are for Peter's computer and audio interface. So you can see if Peter's computer processor is being used too heavily or if Peter's audio interface is having jitter issues.
Under these sections there is a new section labeled "Internet", and this section displays data about the Internet connection between you and Peter, as follows:
- The Latency entry in this list shows you how much time it takes for the audio data to move across the Internet between you and Peter. In the example above, the Internet latency is 13 milliseconds. So roughly half of the total 30 milliseconds of latency between you and Peter is the Internet, and the other half is from your computer + audio processing gear.
- In the Audio Interface section of the statistics, jitter measures variability in the rate at which your computer and audio interface capture and process audio. In this Internet section of the statistics, the two jitter statistics measure the variability of how much time it takes for your audio data to get from you to Peter - and from Peter to you - over the Internet. If there is variability in how much time it takes to transmit your audio data over the Internet, this is bad, and will result in higher latency and also audio quality problems, like crackles and pops. As long as these two statistics are in the green or yellow, you should be OK. Red is a problem, as usual. The most important key to keeping Internet jitter down is to use a wired Ethernet connection rather than using a wireless/WiFi connection on your computer. More on this later.
- The Packet Loss entry in this list shows you what % of the audio chunks that are being sent between you and Peter are getting lost on the Internet between you. This should be zero or close to it, and here again, using a wired Ethernet connection of your computer to your home router is going to keep this minimal. If this stat turns red, you are definitely going to hear audio quality problems.
- The Connectivity entry in this list shows you if Peter is using a Wired connection (i.e. is Peter's computer connected to his home router using an Ethernet cable) or a WiFi connection (i.e. wireless/WiFi). WiFi connections are very, very bad for JamKazam's streaming performance, so if you see another musician in your session using WiFi in this diagnostic display, you will know why your connection with that musician is poor, and you can suggest to the musician that they will be better served to change their computer's Internet connection to a wired connection.
- And finally, the audio and video RX and TX stats at the bottom of this section show the size of the audio and video streams you are sending to and receiving from Peter in the session. The JamKazam application will automatically manage these streams up or down to optimize audio and video quality while adapting to the amount of Internet bandwidth available at any given time. More bandwidth generally translates into higher audio and video quality.
Now let's say that you move down to look at Seth’s stats in the session. To do this, you hover your mouse over the colored dot on Seth's audio track (pictured below with arrow).
You now see the statistics related to Seth's computer and audio interface, as well as the Internet connection between you and Seth (pictured below).
Here you see the same set of statistics, but a very different picture. Your total latency with Seth is 91 milliseconds - versus 30 milliseconds with Peter. This is going to make it pretty impossible to play in sync with Seth.
When you look at Seth’s computer and audio interface stats, those look fine, and are all in the green and yellow ranges. But when you look at his Internet stats, you see a lot of red. The baseline Internet latency - i.e. the time it takes to transmit your audio data to each other over the Internet - is about 23 milliseconds, which is in the yellow range. Not great but not awful either. The culprit here is that if you look at Seth’s Connectivity, it says Wi-Fi, and is displayed with a red dot, indicating a problem. So Seth’s computer is using a WiFi connection rather than a wired Ethernet cable to connect to his home router. This WiFi connectivity is creating big Internet jitter problems, which are showing up in the two jitter stats, which are both also red. And this is all feeding up into the total latency stat, which is also red, indicating a poor connection.
You can skip this section if you don't want to get too technical, but we get asked about this regularly, so we are posting this information here. The problem with WiFi routers has nothing to do with bandwidth. Bandwidth and latency are not correlated. Having or getting more bandwidth won't make your latency lower. The problem with WiFi routers also has nothing to do with your Internet service. The problem is based on packet rate. Basically, in order to keep audio latency low enough to play together in sessions, one of the many things JamKazam does that is different than Zoom or Skype or other applications is that we capture and transmit audio data very frequently in very small bites/chunks. With the 2.5ms frame size setting in the example above, every audio stream between you and Peter and Seth is transmitting and receiving 400 packets/chunks of audio data per second. These packets need to be delivered in the right order, and right on time, like clockwork. If they are not, then the audio quality falls apart. And wireless WiFI routers simply don’t handle this task well. They tend to choke, and the chunks of data get delayed. So it’s extra trouble, but worth every bit of the trouble to connect your computer to your home router with an Ethernet cable. If you don’t have an Ethernet port on your computer, you can buy a USB-to-Ethernet adapter to enable this wired connection.