What is Jamulus?

As the project's site explains:

The Jamulus software enables musicians to perform real-time jam sessions over the internet. There is one server running the Jamulus server software which collects the audio data from each Jamulus client, mixes the audio data and sends the mix back to each client.

You need the client to connect to a server. You can get the current version from Sourceforge. (You get both the latest client and server in the same install but you do not need to run a server.)

Configuration hint (channel send):

Install Reaper 32bit even if you use Reaper 64bit and make sure both have ReaRoute installed. Start up Jamulus and set it to use ReaRoute rather than your soundcard. Exit Jamulus to save that configuration.

Reaper is quite flexible but one thing you cannot do is put a send on the "MASTER" track. This means if you want to mute your hardware out and your send to ReaRoute separately via track mutes, you need to send to a track other than "MASTER" (without "MASTER" send) and then have the ReaRoute track send to master.

Start a new Reaper project. Add two tracks. Set the first track to keep Master Send enabled and add a hardware out to ReaRoute. Set the second track not to have Master Send enabled and add a hardware out to your soundcard. Set up the second track for monitoring as usual (Monitor Input, Record Input enabled) and set to Input from ReaRoute.

Now any further tracks you add (Audio In or VST) should route to the first track with Master Send disabled.

This sample project is set up as above (the hardware connections may need adjusting, of course) and includes ReaNINJAM on the MASTER track. As downloaded, it has both NINJAM and Jamulus receive disabled, with audio straight to hardware out. To enable only Jamulus, mute "MASTER" and unmute "Jamulus RX" tracks. To enable only NINJAM, leave "MASTER" unmuted and "Jamulus RX" muted. Enable FX on "MASTER".

Configuration hint (master send):

Again using Reaper and ReaRoute, this time with Jamulus as an extra output from Reaper.

Get Jamulus set up for ReaRoute, as above. Start your Reaper project and set it up as you like.

On your Reaper Master, add an additional output to ReaRoute 1/2 out.

Also add one extra track which should record/monitor ReaRoute 1/2 in, have no master/parent send but instead route directly to your hardware stereo out.

Now, when you connect to Jamulus, mute your Jamulus local channel (as you'll hear yourself twice, otherwise).

Configuration hint (no Reaper):

If you do not want to use Reaper, you can do similar configurations using Jack (Linux, Windows or Mac).

On Windows, get Jack configured to use your soundcard and make sure you have both 32bit and 64bit versions of JackRouter registered.

Use JackRouter in place of your ASIO driver outputs in your DAW and Jamulus.

Note that JackRouter will hang if Jack is not running, so always start Jack first.

Once you have Jack, your DAW and Jamulus running, you can use Jack Control to connect them together as you wish.

Please note that this page requires JavaScript enabled.

Jamulus status

This page provides a running status display, refreshed every fifteen seconds, of the server at "jamulus.drealm.info:54850".

Note that the server connects to the internet over domestic DSL at 20Mbps (capped) up/77Mbps (max on copper) down. There is no quality-of-service provision for Jamulus data, which means you may suffer latency, jitter and drop outs... Oh, I forgot to mention, the server also does not run a real-time kernel and is multi-purpose, so that really helps, too!

The server is now recording jams. The archive lives here.

Recent events

To give some idea of server activity, here are the last ten lines from the log:

NINJAM status

Here's what's happening in the world of NINJAM!


Valid HTML 5! Valid CSS!

Main index

PHP updated: jamulus: change date unknown; ninjam: change date unknown.
Page updated: 20 May 2019
Improved SVG history graph
19 May 2019: Initial SVG history graph
27 April 2019: Header compliance fixes.
22 April 2019: Offical recording has now started with jams being (manually, for now) published.
21 March 2019: The server is now "testing" server-side session recording.
6 March 2019: Got around to adding an example Reaper project.
15 February 2019: Added note about server scheduling priority.
20 January 2019: Streaming for DOCJ jams.
5 December 2018: Handle change in new bot name.
15 November 2018: New server, new bot to handle.
8 July 2018: Time to switch speed test pages again. Added in some more details.
10 November 2017: Replaced OpenSpeedTest with Ookla Beta. Which? SpeedTest gave similar results. Reworded comment a bit.
10 December 2015: Well, maybe now it will be the last "llcon" reference...
11 October 2015: Added some more meta tags and made a tiny formatting fix. Added OpenSpeedTest result.
18 April 2015: Add a hint about using Jack.
28 March 2015: Fix hopefully the last "llcon" reference.
26 January 2015: More bot removal. Make ninjamer stream links actually work.
24 December 2014: As you have all been so good this year, I have added a "Listen" link for the ninbot and ninjamer streams.
9 December 2014: And fixed another few remaining "llcon" references hidden deep in the code; plus a minor possible security issue. And reformat the Jamulus recent events section.
25 November 2014: Fix a few remaining "llcon" references.
15 November 2014: Fix overflowing image with the widely known "max-width: 100%" trick.
6 November 2014: DNS updated, so mentions of llcon can disappear. History graphic appeared.
4 November 2014: W00tz! Server up and page... working with a bit of a cheat (no "is alive" check).
10 August 2014: Updated offline status.
19 July 2014: PHP Update: more bot removal.
1 April 2014: PHP update: handle ninjam "Server down" responses rather than treating as a script error.
6 January 2014: Update for longer-term Jamulus outage.
18 December 2013: Mention llcon is actually called Jamulus, apparently. No one told me...
29 March 2013: PHP update: handle bots more elegantly. Oooh, OO.
7 October 2012: PHP update to handle no session max on ninjam servers.
26 September 2012: Thanks to Dodec for a page with multiple columns aligned using css and div elements.
24 July 2011: llcon history script now returns llcon server status as the previous method was unreliable.
Ninjam status script changed to cope with errors from the PHP script.
Ninjam status script changed to filter out ninjamer's Jambot (just like ninbot gets filtered out).
6 July 2011: Remove note about Casey Anthony trial now the verdict is in.
3 July 2011: Change over for ninjam to use autojam server list; also add tags for PHP update dates.
28 June 2011: Added the NINJAM/ninbot bit with a bit of a proxied cross-domain service call. And used a table for something I wanted to use columns for but couldn't get the breaks working.
25 June 2011: Created using jQuery and PHP.