Best services for online music jam (2020)

15
20701
(Last Updated On: April 13, 2020)

Introduction

Online music jam is a common trend these days.

Many are the reasons for musicians to look for a service that allows them to jam online. Getting the whole band and the gear in one place is hard. Times might not suite because of work and other commitments. And in more recent times, we’re all stranded at home for a while…

So unsurprisingly, demand for online livestreams grew quite dramatically over the past few weeks, something we covered in a recent podcast episode.

That suits those who want to get their music out, but what about bands who want to jam and practice together ?

In this article we look at a few services who claim this can be achieved with relatively low latency.

What is the gear required?

It will vary a bit depending on the case, but for the most part you will need:

  • a computer (Mac or PC)
  • a high-speed internet connection such as fibre, DSL or cable
  • connecting your computer to your router via an ethernet cable – avoid wi-fi
  • an audio interface such as the ones discussed here
  • Headphones with microphone if you want to be able to chat
  • Cameras are optional and since the focus is on the music, I would not push my luck by adding video to this unless it’s really necessary

So clearly the same gear you use for recording on your home studio should be enough.

In our case here I’ve used the gear below which you can find at Amazon:

Guitar connected to the Apollo via the outputs of the Line 6 Helix so I could jam using my preferred tones.

The main issue: latency

There is no way around this. For this to work you need low latency from one musician to another. In a rehearsal space, you are all listening to each other via direct sound waves, so unless the space is gigantic the latency is virtually zero. But over the internet you will have the compound effect of your interface, their interface, and the Internet connection between you, in addition to whatever other processing the service you are using might have.

The Internet latency will be a function of the distance between musicians. This is due to the way in which it is all connected; if you’re in the same city you have a better chance of experiencing tolerable latency when jamming online.

So what is the tolerable threshold ? According to research I’ve done over the years when recording with various interfaces while listening to the ‘wet’ signal live, anything above 20 to 25ms starts becoming very noticeable. As you will later see this is highlighted in some of the services I’ve tried.

The formula for the total one-way latency when jamming with another musician online is:

(your audio gear latency + their audio gear latency + round-trip Internet latency) / 2

So it’s easy to see that if your gear and their gear combined are close to 40ms together you have problems regardless of how close to each other you live. Step number one then is to go for low latency gear if you can.

See this article on the RME Babyface Pro vs the Universal Audio Apollo Twin for more info, but keep in mind that inside the DAW you can adjust the buffer size (with the trade-off of possible audio glitches) to compensate.

On the services I will explore here this is controlled by the service.

A network ping generally provides the RTT or Round-trip time, which gives us the round-trip Internet latency.

The service speedtest.net allows you to measure the ping time between you and the server you’re connected to, generally from your provider. I have NBN in Australia with Vodafone and the ping is generally between 7 and 8 ms.

Melbourne ping
Melbourne ping

The service wondernetwork shows the ping times between cities. I’ve captured a snapshot for some of the cities in Australia, with some other cities from overseas.

City to City Ping
City to City Ping

To make things more challenging, consider that the packets of data need to go from your computer to the server of the service you will be using for jamming, but the same applies to the other musicians.

So the total round-trip Internet latency figure from the formula above has the compound effect of your connection and ping time, and their connection and ping time.

Clearly jamming with someone overseas is not going to be feasible. Melbourne to Melbourne or perhaps Melbourne to Sydney (~13 ms ping) is as far as I can go without significant latency issues. And this is considering reasonably good audio interfaces, and direct connection to NBN.

JamKazam

Before I go into the rabbit hole of open source services that require a specialised installation, I’ve decided to try existing services, and JamKazam seems to be one of the first ones to appear on a google search.

The whole look and feel of their website and the app (which exists for Mac and Windows) and the fact that the YouTube tutorials are over 5 years old make me think that this is not an updated platform. Having said that, when you trigger some of the features inside the app you get a message stating that they are working on upgrading their servers due to recent demand – clearly there’s an opportunity here, right ?

First step is to create a free account. With that done, we proceed to the configuration, which basically consists of performing some network tests and then configuring the audio interface. I wanted to have a stereo input for guitar, a microphone to chat, and the return audio in stereo on my headphones or monitors. Upon doing that the service measures your gear latency (7.29 ms in my case).

JamKazam Configuration
JamKazam Configuration
JamKazam Test Audio Gear
JamKazam Test Audio Gear

I’ve then proceeded to run a solo session to make sure everything was working. For that I’ve muted the return channel of my guitar sound back into my headphones on the Apollo, as I wanted to hear back from their service, not the direct sound. In a solo session the latency was negligible.

JamKazam Solo Session
JamKazam Solo Session

Next, you can join existing sessions or start your own public session and invite other people. When you check the sessions online, it gives you an estimate of the one-way latency, if available. The issue here is that there was no way to search for ‘local’ jams, and the ones that popped up on the screen were primarily in the United States, which would be a no-no for latency – unless you’re stateside of course.

JamKazam Sessions
JamKazam Sessions

I would like to invite musicians in the US to try this out and contact me to share results. I haven’t managed to find any sessions in Australia yet, so I jumped to the next tool I wanted to try.

Jamulus

Running Jamulus requires a bit more technical knowledge so I’ve written this specific article on the subject. It’s open source and free to use. Once installed, I proceeded to run a session on one of my computers as a server and another session on the same computer as a client. I then proceeded to run it as a client on another computer. What I wanted to do was to jam with myself to test the best case scenario for latency: two computers in the same network.

Jamulus Settings
Jamulus Settings

Of course this cannot be done via wi-fi as explained above, so I dug up an old router (my computers are physically distant from my main router) and connected the two computers.

On one of them – the server – I’ve directed the output of Logic Pro X, with a drum and click track, as being the input ‘instrument’. I then plugged my guitar to the client computer, which reported latency under 20ms from the server, and was able to play against the drum track.

But this was expected: the ‘drummer’ cannot hear me, so even if the delay was massive it would not matter, I was playing at the client side only! It then occurred to me that I should play at the client side, but listen back at the server side (where the drum track is playing) and see if this affects my playing – if it sounds that it has a perceivable lag. Not at all, I was able to play on time, with the beat and with the click as if I was hearing the direct sound of my guitar. In fact I was hearing it go through the client computer and then to the server, with no noticeable lag.

This of course changes once you go outside your network. I tried a few servers in Australia including one that I set-up for jamming with a friend in the same suburb. In this case the latency went from acceptable to problematic in a few cases, which means that your best shot at Jamulus is to try to set up your own server (home or cloud) and keep all musicians in the same location, same city, as close as possible.

Jamulus Servers
Jamulus Servers
Jamulus Session in Progress
Jamulus Session in Progress

Even better if you have access to fast audio interfaces and good computer hardware – every bit counts.

Further updates that deserved a mention on the article:

  • I’ve successfully tested with a colleague in Adelaide (so not exactly ‘adjacent’ cities, there is a fair distance between Adelaide and Melbourne) and it worked reasonably well.
  • I’ve also jammed with a friend from Melbourne – same suburb – and a screenshot of the latency he was experiencing can be seen below. I played a regular beat and he was able to follow it. To me he sounded well on time, so enough for a 2 or maybe 3 person jam.
Jamming in Melbourne
Jamming in Melbourne

Others

Other services at the time of writing, with a brief comment of what it does and what are the caveats:

  • NinjaM – open source, used by services such as Jammr and Jamtaba. The caveat here is that is not really real time or live, the server plays a beat for a segment specified by the user and musicians play following the beat but listen the past recordings of one another from the previous segment.
  • eJamming doesn’t seem to be active anymore
  • Jam whenever is a track collaboration tool, not for live jams. Same for Endless.
  • ConnectionOpen 3.0 is an amazing idea, but it’s for one-on-one collaboration during recording of music or podcast, not for online live jams

Conclusion

Online music jam is a challenging topic. The best ‘lightweight’ solution I’ve found to date is Jamulus, and I will keep testing and finding ways to optimise it. If you want to join me, or if you want to suggest another tool we can use, please use my contact information at the bottom of the page.

15 COMMENTS

  1. In the last days more and more people is using jamulus. That means there are now more servers available and it is easier to find one close to where you live. Additionally you can setup your own server to jam with your band mates. I do it with my band and it works. Setting up a server on a windows PC is really easy. I believe jamulus is the only serious online real-time jamming software out there.

    • Marcello indeed Jamulus is my preference for online jams now. I’ve been using it with friends here in Melbourne as well as helping people with their setups elsewhere. I hope you have fun with it !

      • We had a lot of fun. Essentially it allowed us to reharse regularly every week with our band during lockdown.

      • Yes! Thank you for this great article, it is how I first found out about Jamulus.

        We had mixed results with JamKazam for about 6 weeks. In theory, with the same gear and internet connections we should get essentially the same results as with Jamulus, but in practice we had problems with JamKazam. The JamKazam forced client updates sometimes left my friends in a state where their client no longer recognized their audio devices, and recovery involved uninstalling/reinstalling drivers. (I personally did not experience this.) Another issue is that JamKazam allows you to run with a WDM driver at 44100 Hz sample rate, while Jamulus insists that you use an ASIO driver at 48000 Hz. Silly as it is, some guys figure they’re done once we can hear each other and don’t worry about getting their best possible latency. It also seems fair to say that with JamKazam it is easier to lose your audio gear and client settings and more tedious to recover them. JamKazam also seems a bit less stable. Even when it is working it can occasionally get itself in a state where you have to leave and rejoin the session. With all that said, when it works, it’s great.

        We/ve consistently had great results with Jamulus for just over a month now. We’re in the same area and our reported overall delay is in the 35 ms ballpark. There are three of us (guitar, bass, sax) and we play with a drum track. I run a private server, a client for sax on the same PC as server and a separate client on a second PC for drum track, four clients total. It has been extremely stable, it just works. We started out at version 3.5.5 and have updated once to 3.5.8.

        Jamulus is a lot like being in a studio session with headphones on, pretty amazing. We use a conference app for video only, our audio interfaces all have instrument+mic inputs so we use Jamulus audio for chat. This avoids the typical conference app high delay, one speaker at a time audio behavior.

    • Olá, Marcello. Seria pedir muito pra vc fazer um tutorial ensinando como configurar um servidor local no Jamulus?

  2. I’ve seen more mention of Jamulus, and it’s great to see solutions like this appearing. Have you come across SoundJack? This seems to be another similar service, but potentially achieves even lower latencies.

  3. Hi, I’m interested in this program (Jamulus), but I don’t konw how to setup the both part (server and client). Can you help me?.
    My friends and I have a band and want play together on live, but the latency is very high and we need the one program that facilities a less latency.

  4. Have you tried JackTrip? Dial in latency using iperf, opening ports on your router and firewall, conduct packet tests on server and client side and things start to work.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.