The Bay Area Sacred Harp (BASH) singing community has been using Jamulus to sing together online, in four part harmony, in real time. The big problem with trying to sing online together is that the Internet has built-in “latency,” or lag time. Jamulus is free open source software that minimizes latency to allow people to make music together in real time.
Last night, we had eight singers logged in to our Jamulus server, including two singers from Southern California. And it finally felt like we’re getting the hang of how to do this.
We started experimenting with Jamulus back in June, and since mid-August we’ve been singing twice a month, so this is our seventh regular meeting. Singing online requires several adjustments on the part of singers. First you have to get used to the Jamulus platform, including watching your volume level, adjusting the volume levels of other singers, etc.
Beyond the technical learning curve, there’s also a musical learning curve. You have to get used to the fact that you have no visual cues, so instead of watching someone beating time you have to maintain a very sure sense of the tempo. You also have to get used to the fact that there’s more lag time than when singing in person; in person, you can rely on another singer by listening to them and following a split second behind, but singing online has just enough lag time that you have to be exactly on the beat (or even the tiniest bit ahead). In short, you have to be very confident of your part.
No, it’s not as good as singing in person. But because of the pandemic, singing in person simply isn’t possible. This is the best alternative; and really, given how good it feels to be able to sing with others, it’s a pretty good alternative.
I’ll continue after the jump with more technical details.
Technical details of using Jamulus:
A reasonably recent computer with a built-in mic will provide adequate hardware for using Jamulus; you don’t need to purchase a special microphone. However, you must be able to connect your computer using an Ethernet cable directly into your modem. And you absolutely must use headphones or earbuds to prevent feedback. Jamulus uses a peer-to-hub model for connecting musicians, so you only need Internet service with a minimum of 200 Kbps upload and download speeds. However, we found that you would be very wise to host your Jamulus server in the cloud, e.g., on AWS, Google Cloud, or MS Azure. For your Internet connection, cable and fiber are best; DSL will work, though it injects a bit more latency (lag time); wireless Internet service providers do not seem to work well. Jamulus compresses the audio, so audio quality is about the same as an mp3.
Comparing other platforms:
I’ve tried using JamKazam, which offers higher quality sound. However, I found that JamKazam also requires a lot more bandwidth (about 1 Mbps for two musicians, increasing with more musicians), and you’re limited to connecting a total of about five other musicians, or maybe eight if you all have super fast Internet. I also found JamKazam to be significantly more finicky than Jamulus; this may be in part because it’s a modified peer-to-peer platform. JamKazam now offers both audio and video, if you have enough bandwidth. In short, if you need the best possible audio quality, and if you and everyone in your ensemble is willing to invest the time (and maybe some money for good microphones to match JamKazam’s audio quality), JamKazam would be worth trying. If you need both audio and video, JamKazam is the only game in town.
Another platform that’s been getting a lot of press is JackTrip. JackTrip says you can include dozens of individual musicians, just as with Jamulus, but with CD-quality sound. Not surprisingly, it requires about ten times more bandwidth, about 2.0 Mbps. I did install the JackTrip software, an unpleasant task, and I was underwhelmed with the user interface. Since I don’t need CD-quality sound, I felt no reason to go any farther. However, JackTrip is extremely well-funded — they’re based out of Stanford University, which has more money than God — and they have a couple of new initiatives that look promising. First, they’re working on a piece of dedicated hardware: a small Linux-based computer with JackTrip installed, which you plug directly into your modem, and into which plug in a microphone; total cost, $150-200. (including mic and cables). Second, they’re providing cloud servers for JackTrip, so you don’t have to go to the trouble of setting up one yourself. In time, JackTrip might turn out to be a good solution for choirs and other ensembles that need high-quality sound and turn-key solutions. But right now, the user interface is so clunky, I wouldn’t recommend it.
Musical challenges and tips:
Expect to spend several hours of rehearsal time just getting used to the software, and then getting used to making music in this new environment.
We’ve found that the hardest thing is keeping tempos. When you can’t see other people, the temptation is to listen to another singer for cues, but when you do that, by the time you react to their cue, you’re already behind the beat just a little bit. Keep doing that, and everything slows down. Then there’s the fact that typical latency times are on the order of 20 to 50 milliseconds; each millisecond is about like standing one foot farther away from the other musicians; so it’s like being in a huge ensemble where you’re far away from many of the musicians, with no conductor, and no visual cues. This means you need to have rock-solid tempo. We also find that with pieces of music that we don’t know well, it helps to count in two full measures; or for one person to sing a passage at the correct tempo so we can all hear it.
I think the next hardest thing is paying attention to volume levels. This means watching your own input volume on the Jamulus main mixing board, to make sure you’re staying in the green zone; you can adjust your input volume in two ways: by moving closer to or farther away from the mic, or adjusting the input level in your computer’s controls. The sliders on the Jamulus mixing board adjust the levels that come into your headphones. I like to start by putting everyone’s volume levels about two thirds of the way up, and the volume level of my own voice somewhat lower; then I turn up the volume of whoever is leading a given piece way up; I can also adjust volumes if one musician is a little too soft, or a little too loud; and occasionally I’ve had to turn someone’s volume all the way down when they were lagging behind the rest of us. I find I have to keep fiddling with volume levels constantly for set results.
There’s nothing conceptually difficult about this. It just takes time to get used to it.