C4: The Choral Composer-Conductor Collective
Follow Us
  • Home
  • About
    • About C4
    • The Ensemble
    • Black Lives Matter
    • Repertoire
    • Chorus America Award
    • Press Kit
    • C4 Network
    • Collaborators >
      • Outside Composers
      • Visual Artists >
        • Linda Schrank
        • Byron Gibbs
        • Jerry Hirniak
        • Judith Turner
        • Zsuzsanna Ardó
        • Cheryl Aden
  • The 2020-21 Season
  • Concerts
    • C4 Goes Remote
    • Past Concert Programs >
      • 2006 - Season One
      • 2007 - Season Two
      • 2007-08 Season Three
      • 2008-09 Season Four
      • 2009-10 Season Five
      • 2010-11 Season Six
      • 2011-12 Season Seven
      • 2012-13 Season Eight
      • 2013-14 Season Nine... Innovate | Elevate
      • 2014-15 "By the Numbers" Our Tenth Season
      • 2015-16 Season Eleven "Cornerstones"
      • 2016-17 Season Twelve "Collaboration"
      • 2017-18 Season Thirteen
      • 2018-19 Season Fourteen
      • 2019-20 Season Fifteen
  • Remote Live Help
  • Competitions
    • Past Competitions >
      • 2010-2011 Competition
      • 2014-2015 Competition
      • 2016-2017 Student Competition
      • 2017-2018 IGNITE Competition
      • 2020-21 IGNITE Competition
  • Media
    • Listen
    • Watch
    • CDs >
      • Volume 1: Uncaged
      • Volume 2: Cornerstones
    • Gallery
  • Support
  • Contact

Remote Live Music-Making With Jamulus

For questions, contact brian@mountford.net.
If you feel moved to give back, consider making a contribution to C4.
C4 Logo

Contents
​

Introduction
Checklist
Hardware
  ​Buying Guide
Software
​
  Installation
  Configuration
  Connecting
  Using
​Server
​Musicianship

Repertoire

Advanced Topics

Audio Routing
Engineering

Running a Jamulus Server

Jamulus requires a central server to which each participant connects. You only need to run one. In theory, there are many Jamulus servers already available; these are what appear in the main Jamulus connect window. But for choral singing, we want our own private server, so that a drummer doesn't crash our chorus rehearsal. They probably wouldn't enjoy it any more than we would. :)

You can run a Jamulus server either on your local machine (though see the warning below) or on a server machine somewhere in the cloud.
  • The local machine might be a little more convenient, and cheaper.
  • A cloud server might have better Internet performance, and better latency if the participants are widely scattered.
Either way, the server needs to have good Internet service, as it will be handling inputs from and outputs to every client, and any dropouts in the server’s service will affect every participant.
​

By default, the Jamulus server allows 10 simultaneous clients. This number can be increased to 100 using a command-line parameter. Of course, just because you set the number to 100 doesn’t mean that the server will have the necessary processing power to handle 100 at a time. :) Experimentation will be required.

Running a Server at Home

NOTE: Although the Jamulus documentation says that you can run a server and a client at the same time on one machine, we have had trouble doing this on two different Macintosh computers, at least. The client and server appear to work initially, but when someone else connects remotely, their sound will cut out after a few seconds, leaving only brief bursts every so often, with mostly silence. This problem does not occur when running a server and no client. So we are shying away from running servers and clients on the same machine for the moment.

The official documentation for running a server at home is here. There are two parts:
  • actually running the software in server mode, and
  • configuring your router, firewall, etc. to let the server accept incoming connections on a well-known port.

​You can then run a client on your local machine at the same time as the server. Either look for the server in the usual Jamulus room list, or connect directly to it by typing the IP address in the address box (typing localhost may not work, but typing 127.0.0.1 may). You will have a superfast connection to the server, but you need to make sure that others have adequate latency as well.

The instructions below are for Mac, but you can also run a server on Windows or Linux if desired. See the official documentation for details.

Running on MacOS

Jamulus is now distributed with a second application called JamulusServer, which puts Jamulus in server mode. You can also run Jamulus in server mode by invoking it from a Terminal window with certain special command flags. The official documentation is here. You can run the server with or without a GUI. If you run with the GUI interface, you see the server window, which shows the clients connected to your server. If you turn off the GUI, it runs silently, but still accepts connections normally.
Picture

Running a Server in the Cloud

As an alternative to running your server at home, you can configure a server on the cloud provider of your choice. This may be a little more work, and may cost money. But it has the advantage of being up all the time, even if you put your local machine to sleep, and is likely to have more stable network performance. We have been using a cloud server, and have been quite happy with the results.

There are a number of cloud providers; use whichever one you prefer. We use Google Cloud Platform, and it has worked well for us.

Running on Google Cloud Platform (GCP)

This is the way we run the server. We've created a quick-start video for running and configuring a Jamulus server on GCP, which should get you up and running in the cloud in 10 minutes:
 

Jamulus server on GCP quick start video

The main steps covered in the video are:
  1. Creating a GCP account
  2. Creating a server virtual machine (VM) instance
  3. Setting up the port-forwarding as described above
  4. Installing and running the Jamulus server on the server instance

​Instructions and commands you can copy and paste are included in the video and its description.
C4 is funded in part by:
The New York City Department of Cultural Affairs
NYSCA
The Rea Charitable Trust
C4 is a proud member of:
​
New York Choral Consortium
New York Choral Consortium
Chorus America
C4 Network
Receive our newsletter:
Support C4's Mission!
Donate Today
Website by NewPickle Pro CMS