Jam music online with Jamulus

42
46916
(Last Updated On: November 4, 2020)

Introduction

Jamulus is a tool to enable music jams and band practice online, when musicians cannot be in the same room.

With the need for social distancing, many artists and bands lost the ability of jamming or rehearsing together – unless they are living under the same roof. On a separate article, we’ve looked at all possible alternatives to achieve an online jam with reasonable latency.

In this article we will detail more specifically how to configure Jamulus, one of the most promising tools for that job.

Jamulus can be downloaded from this link and is open source, ultra lightweight, and can achieve relatively low latencies if musicians are close enough and the Internet conditions are favourable.

Note: the article was originally written for Jamulus 3.4.4. There is a more recent release, 3.5.1, and the differences are discussed further down in this article.

Equipment

Of course you will need a computer running Mac, Windows or Linux, and a fast internet connection. According to the developer the typical bandwidth in/out is about 150-250kByte/s with 3-5 people, so of course slow ADSL or dial-up won’t cut it. You need fast broadband, NBN if in Australia, cable, fibre or equivalent.

Extremely important: get your computer close to your router and connect via Ethernet. Do not use WiFi as this will make the latency even worse and cause additional audio issues.

Apart from that, you need an audio interface, your instrument and/or a microphone.

If you don’t have an interface my recommendation is the Focusrite Scarlett Solo, which you can buy at Amazon.

Installing

Just follow the link above and it will take to the main Jamulus page on Sourceforge. You will see that Mac, Windows and Linux are supported. Follow the download link at the top and it should download the correct package for your OS. I’ve tried installing on both Mac OS 10.14.6 Mojave and Windows 10 Home and it was quite simple. Just click on the downloaded package and follow the instructions.

Configuring as a client

Most musicians in the band will configure and run Jamulus as a client, and look for an existing server, or a server set up by the most tech minded individual in the band. The GUI is very simple, it contains controls to pan your output if the audio is stereo and adding some reverb. Also light indicators that will inform if the delay is too high (normally way above 20ms or so) and if there is a buffer under-run.

Jamulus Main Screen
Jamulus Main Screen

There are three checkboxes on the left hand side:

Settings (equal to Preferences from the top menu)

Jamulus Settings
Jamulus Settings
  • Device:
    • this is your sound card, the sound card where your instrument is connected.
    • Note that only two channels are allowed per user therefore if you want guitar and microphone, your guitar will have to be mono.
    • Input Channel Mapping: If your sound card or audio interface is multi-channel, there will be a drop down under this setting where you will be asked to map the left and right channels to two of the inputs of your device.
    • In my example I was using a Line 6 Helix in stereo, two analogue outputs connected to the inputs of my Universal Audio Apollo Twin
    • A simpler example would be using a Focusrite Scarlett Solo or equivalent, and just map the instrument input, the microphone, or both.
    • If you want to shape your guitar sound before going in, you need to do this externally. So connect using an external modeller or multi-effects like I did, or mike your amp.
    • There is no talkback microphones, so those who don’t hook up a mike for sining will have to communicate via the text chat provided with the tool
    • Output Channel Mapping: where you want to listen to the output, so the sound card channels where your speakers or headphones are connected
    • Note: it is possible to use separate devices for input and output, minding the extra latency. The ‘Device’ drop down lists all options available
  • Buffer delay
    • Aim for the minimum (128) which in my case results in 5.33 ms delay. Higher values only if experiencing serious glitches in the audio, but then latency will increase as a consequence
  • Jitter Buffer
    • Leave in auto
  • Misc
    • Audio channels: use mono unless really necessary or connecting instrument plus microphone. Less channels, less processing, smoother experience.
    • Audio Quality: start with normal, try ‘high’ only if normal is really causing problems on the session. The trade-off will be latency.
    • New client level: leave at 100%
    • You can turn off the fancy skin
    • Central server address: leave default ticked

Chat

Jamulus Chat
Jamulus Chat
  • Pretty straightforward. Shows you updates as people connect to the session, and lets you chat via text during the session, since not everyone will have a microphone connected

My profile

Jamulus My Profile
Jamulus My Profile
  • Alians/Name: as you will appear on the session
  • Instrument: your instrument for the session
  • Country and city: important as the server owner might want to check latency for each location
  • Skill: I presume this is more important if you join a public session

Joining a session

Once the above is completed, you are ready to join a session.

Note: you will only be able to test your audio once you join a session, an issue that may be addressed in future updates I hope.

Click on connect and the pop up screen will show servers close to you in order of perceived latency.

Jamulus Servers
Jamulus Servers

The ping time is green when the latency is tolerable (generally below 20 ~ 25 ms), a lighter shade of green if above that and so on all the way to red, which basically means that the latency won’t allow you to use that server.

The number of musicians connected and their location is also shown there.

The sessions on this list are public. if your server owner decides to run a private session instead, they will give you an address that you will have to type at the box at the bottom.

Join a session by clicking connect and you should go back to the main screen and see all musicians connected, control volume, mute, solo and so on. You can open the chat to communicate, and if you open settings again you can see the actual ping time and overall delay of the server and session you connected to.

Jamulus Session in Progress
Jamulus Session in Progress

Running a Server

Chances are someone in your band will have to run a server so you don’t need to share one with other bands.

If you’re running a server at home please observe that:

  • The computer chosen for the task will have to be on during all practice sessions
  • Minimum Internet connection speed for the server is 200kByte/s up and downstream, but at least 1Mbps is recommended if you are running a server at home (typical bandwidth in/out is about 150-250kByte/s with 3-5 people), and ping times not exceed 40ms average.
  • The server should have at least 1.6GHz CPU frequency and 1GB RAM
  • You can run one client – just one – on the same machine in case you are jamming as well, and connect that to your server

There are two ways to run a server:

Public server

The main things to know about running a public server are:

  • Public servers will be listed in the Jamulus Central Server list. Other musicians will be able to see and connect. If they are not from your band you may have to mute them or ask them to leave the session.
  • Public servers do not require the configuration of port forwarding on your router so are easier to set up
  • Public servers will not be seen by other machines in the same network (so other computers inside your house)

To run a public server on MacOS, open a terminal window and type the command below:

/Applications/Jamulus.app/Contents/MacOS/Jamulus -s &

For Windows, there should be a Jamulus server on your start menu – this was installed when you installed Jamulus in the first place.

Make sure ‘register my server in the server list at the central server’ is ticked to make it public. Give it a name, location and country.

Jamulus Running a Server
Jamulus Running a Server

On another machine outside your network people should be able to see your server there and connect to it.

Private server

The main things to know about running a private server are:

  • Private servers will not be listed in the Jamulus Central Server list. You will need to pass the address of your machine in the network to other musicians. If you running this at home, the address of your computer is likely to be an internal address given by your router. You need to google ‘what is my IP’ and use that address instead as it is visible externally.
  • Your address will change from time to time depending on how your router is configured.
  • Port forwarding is needed to open port UDP 22124
  • Machines inside your own network can connect if you use the server IP address and connect manually

Given the additional set-up and the risks of opening doors on routers I recommend private server for internal sessions only, when testing. The only disadvantage of the public is that other people might join – but maybe you can make new friends !

Version 3.5.1 updates

Since the article was published, Jamulus was updated to version 3.5.1. Apart from ‘behind the scenes’ changes for performance, these were the most notable changes:

The main screen has a ‘mute stream’ option. The ‘my profile’ was moved to the ‘view’ menu on the top bar.

Jamulus Main Screen
Jamulus Main Screen

The settings screen now has an even lower option of buffer size (64), but recommended is still 128.

Jamulus Settings
Jamulus Settings

When running as a server, you can chose between the central server for North America and the central server for the rest of the world. Each server was limited to 200 listings at the time of writing so you might get a ‘server full’ message if that number is exceeded.

Jamulus Server
Jamulus Server

Finally here is an example of what 3.5.1 looks like on Windows

Jamulus Windows
Jamulus Windows

Further Updates

Since the 3.5.1 update there’s been several other updates as the number of users of Jamulus has been growing significantly. While a few cosmetic and performance updates were introduced (you will notice a slightly different graphical user interface), I wanted to highlight two important changes:

  • The server is now a separate app, so to launch it you don’t need the command line anymore; when you install Jamulus you should see a client app and a server app
  • The ‘mute stream’ is now actually called ‘Mute myself’. Well you also have a mute for your name on the mixer so what is the difference ? On the mixer you are controlling your own mix by adjusting levels and muting players you don’t want to hear. This affects your mix and no one else’s. On the other hand the ‘Mute myself’ mutes your audio for everybody. Useful if you have to leave the session for a moment but don’t want to disconnect.
  • In October 2020 Jamulus reached version 3.6.0 and was moved to this website so the links in this article were updated.

Video tutorials on Jamulus

Conclusion

A free and relatively simple tool to enable online jams and rehearsals during these times of social distancing.

If you have any issues with the configuration don’t hesitate to contact me using the button on the home page.

Please subscribe to our newsletter at no cost to stay in tune with articles like this

42 COMMENTS

  1. Hi Fabio
    Thanks for the info on Jamulus. Very useful. JamKazam have just forced an update that seems to have introduced a problem resulting in no audio! Just a bit inconvenient. I’ll have a look at Jamulus and see if we can get it going.

  2. Love the Jamulus software! Have a problem trying to setup a ‘private’ jamulus server so our classical string quartet can rehearse. Jamulus server keeps crashing on Mac OS 10.12.6. Wont’ let me enter my own IP address to let my computer be the server. Any tips?

  3. I’ve not been able to try Jamulus yet but my IT skills aren’t great. However, my brother has worked in IT for years and his advice is to rent a small bit of Amazon server space and kidnap a knowledgeable 18-20yr old to configure and maintain it. He reckons that’s the most secure and hassle free option and won’t cost very much. Compare it to renting a rehearsal space.

    If it’s of interest, JamKazam seem to have fixed the problem they had after the last update. Presumably a server side issue. Also, interesting to see that they have sent out a shout for donations to try and provide better support and intend to introduce new and improved features.

    I think this is a good call and I’m willing to support them. JKZ already has very good features in place, (such as setting-up invite only sessions that are effectively private for band rehearsals). It just feels like it’s been left in limbo for a long time – Set-up is finicky because the UI is very sluggish. That said, once you’re up and running it’s really good and has things like video and audio recording, the ability to upload reference tracks you can all play against, and JamTracks, which are multi-channel versions of well known songs. You can dial out your instrument and play along and record the result, by yourself or with others. Every participant has their own channel recorded as 44kHz 16 bit Ogg Vorbis – a lossless Wave equivalent like flac or m4a. Be aware that if you’re uploading a ref track it won’t recognise an mp3. Has to be .wav or lossless.

    JamKazam does work if you’re patient with the app and you take a little time to balance your levels when you’re in a session with others – same as playing a gig. Most importantly, the latency is pretty low and they’re promising improvements. Just make sure you have a decent audio interface with ASIO or a manufacturers equivalent driver. That is essential for reducing latency and getting good sound quality.

    • I presume so since it is open source… but the solution I’ve seen for that is to run the server on a machine you own, then use Loopback or ReaRoute, ‘grab’ the audio from the session, send to OBS, add video from Zoom, and broadcast that. There is a group on Facebook that does that every weekend (links on the show notes for Episode 24 of my podcast)

  4. I’m using a private server for band rehearsals for a 15 piece big band in Sydney. It works very well. The server is set up in Vultr which I found had slightly better networking than AWS.

  5. As a user of JamKazam this looked promising for my band. I am a tech guy so all of this was easy to setup however, I could never get it to work using the private server. Even with the UDP port-forwarding on my router no one could connect. So we went public and it works just fine.

    However, my band mates and I noticed immediately that there is an instrument delay locally through our own interface. I hit one of my drum pads and the delay of hearing it through the interface is immediate. We’ve all tried every setting that we could adjust, we’re also a mix of macOS and Windows and the interfaces are a range from Behringer UMC to Focusrite Scarlet yet we’re all hearing the same MS delay. For me I’m on Windows and I’m obviously using the same ASIO driver in JamKazam that Jamulus is using. And I don’t have this issue with JamKazam so…..

    Although I love this more of a peer-to-peer setup I just don’t see it working for us. Suggestions?

    • Hi mate what do the buffer and delay indicators show in your case ? And what ping time do you see for your server on the public server list ? If the ping time is not in the ‘green’ it means you are too far apart for Jamulus. If it is green and the buffer and delay indicators are not you can fiddle with the settings (but it appears you’ve already done all that). The most basic test would be just you (assuming you are hosting the server) running server and 1 client on the same machine (or network domain) and seeing if you can get good latency with that before adding any others. Email me at contact@audiogeek11.com if you wish to discuss further.

  6. The dedicated Behringer UMC ASIO driver is ok but the Focusrite one seems to be a good deal better, certainly when using them with JamKazam. Could it be that the slowest link in the chain is pulling everyone down to that level?

    I know from my own experience that Behringer only offer the Asio4All freeware driver with the lower end UMC interfaces and that is next to useless. I bought five for folk in my band and had to return them. Behringer should not be branding those products as part of the UMC range because they cannot achieve a latency below 20ms. I get around 4.5ms with my UMC 204HD in JamKazam. My Focusrite Solo shows 0 or under 1ms, which I don’t really believe, but it’s certainly very low.

  7. Thanks for the article and tips Fabio. Dely is my Jamulus problm. Four of us in a band are using Jamulus. Three are able to play in time and it sounds good. But my time delay is 100ms making it impossible to play in time with the other three. My ping is 9, which is quite good. Download speed is 45. I have an ethernet cable but using it makes no difference, certainly not to the delay> Any suggestion you have will be gratefully received! Cheers, Adrian

    • Hi mate have you checked your upload speed? Also have you tried changing who is hosting the server to see if it gets better or worse? Are you all in the same region? Your ping time is that to your ISP or the ping time on the Jamulus server list?

      • Thanks Fabio. On Jamulus my ping shows as 9ms. On the Ookla online speed test my Ping is also 9ms Download is 49mbps; and Upload is 9mbsp. We have not tried changing server because we always go with the one that Jamulus says is the fastest at that time. But it’s a good idea anyway, so will try that. We are all in the same region, max 20 miles apart, SE of UK. Thanks, Adrian

  8. i have a windows machine and i have Jamulus working fine. However, i have followed all instructions to set up a public server and it never works. My server name ‘TCMB’ does not show up in the connect list. i am using the same machine for the client and the server. is that ok?

    • Hi Chuck you can use up to 1 server and 1 client on the same machine, that is ok. Sometimes their public server list is full and names don’t pop up for a while. Does it say ‘registered’ in the server screen ? They have a limit of 200 servers listed and you get a ‘server full’ message if that list is full. So you can try and set up as private; on the same machine you need to find out the internal network IP for the machine to be able to connect.

  9. Hi Fabio,

    Thank you so much for the clear instructions – I set up a private server for our choir, and it works beautifully, with only one snag.
    I tried to record our rehearsals but all I get is a bunch of WAV files for each client connection.
    Is there any way to record the cumulative output?

    Many thanks in advance!
    Boris

  10. I downloaded the app which works fine, however I get no profile button, I have searched hi and low no one has talked about it, I was thinking of setting up a server but didn’t want to get into setting up my router just yet, plus that doesn’t really explain the plain Jamulus window, there is chat setting no profile? but I would like to be seen as me and not no name? when jammimg I have seen a few other with no name. what is the deal?

    • Hi Jason, I believe in newer versions of Jamulus they moved the ‘profile’ to the view menu on the top bar… on the version I have now (3.5.9) it is called ‘My profile’ under the view menu.

  11. Present, the default max number of client on a server is 10. I would like to know how to change the max number of client in a public server. Thanks

  12. Hi Fabio – many thanks for posting so much helpful info – especially on Jamulus which I’m particularly interested in. I’m on a Mac and I now have Jamulus up and I’m want to be able to record my Jamulus sessions. I’ve downloaded Audacity – I was wondering if you could offer more detail as to how one would record Jamulus in Audacity on a Mac? Many thanks in advance for any help you can offer~Ian in Oxford, UK

  13. Excellent article. I was able to configure a server and our group is beginning to use Jamulus. I really appreciate that you are updating the article as Jamulus evolves. So many authors let their articles become stale. It’s wonderful to have up to date information.

  14. Hi Fabio,

    I play Greek music with my Bouzouki player on Jamulus and we enjoy it very much. We would like to have a virtual concert via Zoom for our friends to enjoy our music in these hard covid 19 times we are going through. How can we channel our music from Jamulus to Zoom?

  15. Yes you can send the output from Jamulus to ZOOM using the same computer. You need two separate audio system (mic and speakers). Nevertheless, using two computers (one for Jamulus and one for ZOOM) will be much easier.

Leave a Reply

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