Using Jamulus to sing online in real time

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.

Continue reading “Using Jamulus to sing online in real time”

Welcome to Chaos Manor

Beginning back in the 1980s, science fiction writer Jerry Pournelle wrote a column for BYTE magazine called “Computing at Chaos Manor” which consisted mostly of entertaining accounts of his struggles with computers and other IT software and hardware. Later on his blog “Chaos Manor,” arguably the first blog ever, Pournelle continued to write about his IT struggles, though unfortunately it looks like those old posts disappeared when Pournelle moved his blog to the WordPress platform in 2011. That’s too bad, because it would be fun to read those posts today, and se whether we’ve made any progress in home computing.

This past week, I’ve felt like I entered the land of Chaos Manor.

My troubles began when my HP Laserjet 1320 started malfunctioning: it would only print a page or two of a multi-page document, then shut down. At first I suspected that perhaps I’d missed an update for the printer driver, only to learn that HP no longer issues updates for that printer; I have to rely on Apple’s drivers. I’m told that writing printer drivers is not that hard — if you’re a software engineer, which I’m not. Instead, I looked online and bought a smaller, more energy efficient monochrome laser printer for under a hundred dollars. I had grown to like the old printer, as one grows attached to well-designed and reliable tools. Plus there is still plenty of toner in the cartridge (a corollary of Murphy’s Law says that a printer will die not long after you’ve purchased a new toner cartridge), and it can still print one page at a time. So it will go to my office as a last-ditch emergency back-up printer.

Then I made the mistake of learning how to use JamKazam, a service that allows you to make music online with other people, in almost real time. The problem with making music with other people online can be summed up in one word: latency. From a musician’s point of view, latency is the lag time between musicians, measured in milliseconds. 10 milliseconds of latency is approximately equivalent to standing 11 feet from your fellow musician; for a rule of thumb, think of 1 additional millisecond of latency as being 1 additional foot away from a fellow musician. Most musicians won’t even hear a latency of 10 milliseconds; 20 milliseconds becomes noticeable and may require extra concentration; and a latency of, say, more than 35 milliseconds makes it difficult to play in synch. If you want to know more about latency, you can read these posts on JamKazam’s support forum.

Jam Kazam provides a way of minimizing the latency, but it is not a plug-and-play-music solution. As I found out very quickly. When I tried to use the JamKazam service, their desktop client gave me several error messages. After a certain amount of swearing and head-scratching, the problem proved to be in my 11 year old wifi router. I attempted a firmware update, and the router stopped working. I had a moment of panic — Carol and I both rely on our internet connection, and we’d be in deep trouble if the router went down — but when I shut the power off and rebooted the router, it started working again. Sort of. Clearly, it was time to buy a new router.

The new router arrived today, and setting it up was mercifully easy. I started up the JamKazam desktop client on my MacBook Air, and everything worked well. However, the Jam Kazam client reported that at time I was using 20% of my processor power — and that was with just me, and no other musicians. So I started up the JamKazam desktop client on my Mac Mini, which has a much faster processor, plugged in my Blue brand Snowball USB microphone — and JamKazam returned an error message. The Snowball microphone samples at 44.1 KHz, and although JamKazam claims to allow you to change the sampling rate of your microphone, it soon became clear that unless I used a USB mic with a sampling rate of 48 KHz, the audio quality would be poor. In addition, the JamKazam desktop client revealed that the internal latency of the Mac Mini was quite high; it turns out this is a known issue with Macs: the Mac sound card introduces significant latency, which can be overcome by purchasing an external audio interface for, oh, two or three hundred dollars, or more.

I had just spent $180 on a blazing fast new wifi router; that expense I can justify. I cannot justify spending several hundred dollars on an audio interface and a new microphone. I went back to the MacBook Air. Using the internal microphone, the basic latency was under 10 milliseconds — more than sufficient for me to try using JamKazam with other musicians to see if I even like the experience.

One final addition to my home office has nothing to do with information technology, though it is the biggest improvement so far. I purchased a small apartment-sized rowing machine for under a hundred dollars. I can’t type while I’m rowing, but I can sit on the rowing machine and watch webinars or even read long pieces on Web sites. And whenever I need a five minute break, there it is, ready for me. If you’re ever on a videoconference call with me, and I turn off my video, you’ll know why — I’m rowing.

Speaking of which, I’ve been sitting at my computer too long. It’s time to row.