Most musicians have recently entered the world of online music making for the first time, and there is one thing in particular that many are missing – playing together! Anyone who has used Zoom/Skype etc. for teaching or rehearsing will know that it is impossible to play together over these platforms due to their inherent delay.
There are, however, a number of platforms designed to minimise this delay so that it is possible to play together over the internet.
Whilst they are not without limitation, they are worth investigating if you are missing playing with other musicians or need to be able to rehearse. These platforms could also be used for teaching or accompanying students, although this would require your students to be reasonably tech savvy.
I’ll start with a run-down of three platforms, all of which are free to use. At the end of this article is a section on how to optimise your system to get the best results, as well as some information about how the technology works. The key take-away points from this are:
- Use ethernet rather than Wi-Fi where possible
- Use an audio interface or USB microphone for better sound quality
- Using headphones can prevent feedback, but they should be wired because Bluetooth has an inherent delay
- You will get the best results on a fast internet connection over a small geographical distance
- The limiting factor will be the speed of the slowest internet connection
You can download Soundjack for free.
Sound quality – 3/5 Latency – 3/5 Ease of use – 3/5
Soundjack is the first platform I tried, and I am very grateful to Gerard McChrystal for suggesting this. I have enjoyed playing duets with Gerard quite successfully over Soundjack on several occasions.
To use Soundjack, first create an account on the website to obtain the download link. Then run the Soundjack application and log in to the “Stage” section of the website, where you can connect with other users.
Once you’re connected to a fellow musician, Soundjack shows you the latency (time delay) between the two of you. Ideally, latency should be around 20ms or less for real time playing and I have consistently reached below 25ms using Soundjack.
Soundjack has a lot of settings that you can tweak in order to find the best compromise between speed, quality and stability. Expert settings allow you to reduce the sample and network buffers in order to reduce the latency – you want to use the lowest value that doesn’t degrade the sound.
I would also suggest changing the CODEC setting to OPUS 48kbps, which seems to provide the best balance between audio quality and speed.
Soundjack does offer the option of video as well, and if you have enough bandwidth this doesn’t significantly increase the latency, especially if you use the default low quality black and white setting.
Soundjack is a great platform that offers decent sound quality with acceptable latency. However, it can be fiddly to set up and it does unexplainedly crash every so often!
Jamulus can be downloaded for free from Source Forge.
Sound quality – 3/5 Latency – 1/5 Ease of use – 4/5
Jamulus is a no-frills application for sharing audio in real time. One person has to run the JamulusServer app on their computer to create a server that others can connect to using the Jamulus app. Whilst Soundjack requires users to login via the website, Jamulus is run entirely from the app.
Both platforms have very similar settings for adjusting the network buffer size and audio quality, again to trade off audio quality against latency. Jamulus will automatically adjust the jitter buffer size to optimise the connection. However, if you set it to manual, you might be able to reduce it slightly (and thus decrease the latency) without running into audio issues.
I want to love Jamulus because it is simple to use and, on the face of it, looks like a brilliant tool, but in real-life use I’ve failed to get the latency low enough for this to be a viable real-time solution. It is worth a try as it is easy to setup and use and you may have more success dependent on your internet connection.
JamKazam is free to download.
Sound quality – 4/5 Latency – 3/5 Ease of use – 2/5
JamKazam is possibly more widely known than the other platforms, so I was excited to try it. Disappointingly, I ran into frustrations almost immediately.
JamKazam has the slickest looking interface (the others are very basic), but I found it difficult to navigate and even work out how to get started and connect with someone. I also received a number of error messages, and the app froze from time to time.
I thought that JamKazam would be a write-off due to these frustrations – however, once successfully connected, it offered the best sound quality of the three platforms. In a back-to-back test with fellow saxophonist Guy Passey, we found the latency comparable between JamKazam and Soundjack.
It is frustrating that JazKazam appears to lack options for adjusting the network settings – I would happily trade a little bit of sound quality for lower latency.
As with Soundjack, JamKazam also has a video function, offering superior video quality without introducing additional latency. It is also very easy to record sessions in JamKazam, and a few other features are offered (both free and paid).
Overall software recommendations
Overall, I would recommend Soundjack and JamKazam as the two best free platforms to try, with Jamulus as a wild card to see how it works with your particular connection.
I slightly favour Soundjack over JamKazam because of JamKazam’s frustrating setup and interface, but once you’ve got it working, JamKazam may well have the edge.
Bear in mind, however, that none of the platforms are perfect and you shouldn’t expect miracles – whilst they enable some level of real-time collaboration, don’t expect to be playing fast, complex pieces with large ensembles online any time soon, and be aware you are at the mercy of the slowest internet connection.
Optimising your system to minimise delays
This is the critical factor. Internet speed has two elements – bandwidth and latency.
- Bandwidth refers to the amount of data that can be sent/received at any one time. Imagine your data is water flowing through a pipe. Increasing the width of the pipe means that more water (or data) can travel through it at any one time.
- Latency refers to the time taken for data to travel through the network. This is equivalent to the speed that the water (or data) is flowing through the pipe. When we are trying to work in real-time, the latency becomes the most important element.
Latency determines the delay that we experience (lower latency = less delay), whilst bandwidth determines the amount of data we can transfer and hence the quality of the signal we can send (higher bandwidth = more data = better quality signal).
To test your bandwidth and latency, type “internet speed test” into a Google search and run the test. Ideally, you want your latency to be around 10ms or less and your upload speed to be around 5Mbps or higher.
Download speed is unlikely to be the limiting factor. When you are connecting to another computer, you can only download data as quickly as it is uploaded. If your download speed is 50Mbps but their upload speed is only 5Mbps, you can only receive data from them at 5Mbps.
If your bandwidth is low, you can usually upgrade your speed with your internet provider. If your latency is low, there is little you can do because latency is usually dependent on the distance between your house and the nearest server. Latency is typically low in large cities, whereas rural areas can suffer from much higher latency.
Ethernet vs Wi-Fi
You should connect to your router via an ethernet cable instead of Wi-Fi if possible. Most real-time platforms claim they won’t work on Wi-Fi; I have found them to be workable but less stable. If your computer doesn’t have an ethernet port, you can buy a USB ethernet adapter fairly cheaply.
Ethernet has two advantages:
- Ethernet has lower latency than Wi-Fi, which means it takes less time for data to travel from your computer to your router (on my system it takes about 3ms over Wi-Fi or 1ms over ethernet).
- Ethernet is more stable than Wi-Fi, so you are less likely to suffer any data loss. Wi-Fi is more prone to data loss and when trying to play live this can cause temporary distortion or loss of audio.
If you can only connect via Wi-Fi, position yourself as close as possible to your router and away from large electrical appliances that could interfere with the signal (e.g. fridges, microwaves, TVs).
Unfortunately, the technology is greatly limited by geographical distance. I have already mentioned that if you are in a rural area you are likely to suffer from higher latency, but there is also the issue of how far you are sending the data.
If two people within the same city are trying to play together, there is a good chance of success because the data doesn’t have to travel very far. As geographical distance increases, the time taken for the data to travel between you gets longer.
As an example, when I use Soundjack with Gerard, we are about 80 miles apart and have a latency of just over 20ms. If I connect to the Soundjack test server in Germany, the latency doubles to 40ms. This essentially means that collaboration is currently limited to people in the same country, and the closer you are geographically the faster the connection is likely to be.
Whilst using an audio interface or USB microphone won’t necessarily improve the latency, it will vastly improve the audio quality compared to using a computer’s built-in microphone, so I would recommend using one if possible.
My interface recommendation is the Focusrite Scarlett range, and some of the best value USB microphones are the Thomann own-brand range such as the SC450. Note that for many interfaces, installing and using the ASIO4ALL audio driver will offer the lowest possible latency.
Understanding why real-time collaboration is so difficult
Before turning to music, I took a degree in Information and Computer Engineering, which included a course on Advanced Telecommunications Systems (with the tongue-in-cheek subtitle of “Why Skype is a bad idea”. This was over a decade ago; Skype has proved fairly successful).
There is a fundamental problem with trying to play in real time online in that the internet is what is referred to as a “connectionless” system. This means that if two people are sending data across the internet, there is no physical connection between them.
Data is sent as a series of tiny packets, each of which finds its own route through the network. It may be that some packets find a faster route than others, and they may even overtake other packets, meaning that they arrive in the wrong order.
All of these packets then have to be reassembled back into the correct order when they arrive before they can be opened. Whilst this method is hugely efficient for sending large amounts of data through a network, it is not so good for real time operation.
By contrast, the terrestrial phone network is a “connection-oriented” system. When telephones were first invented, the caller phoned the operator, who would literally connect the correct cables to establish a physical connection from the caller’s phone to the recipient’s.
This means that all of the data travels down the same path, which is held open exclusively for the two users in the call. Landline phones are therefore much better suited to real-time audio calls than the internet (hence why Skype and other VoIP services are a bad idea) and, despite all the sophistication of the internet and the incredible speeds attainable, you may find that you actually get lower latency on a landline phone!
For more advice on teaching online, including software, room set-up and online safeguarding – see our advice pages.