Choosing a Sharing Platform
We looked at a number of platforms for connecting multiple participants together remotely, and concluded that Jamulus fit our needs the best.
Jamulus is a free, open source program that runs on MacOS, Windows and Linux, and lets a number of people connect together and hear each others’ audio streams. It is pretty straightforward to install, though not as easy as mass consumer products like Zoom. It also requires a server to which all participants connect. The server is a central hub that redistributes the audio. Presumably Zoom and Google Meet also have a central server, but Jamulus requires you to think about the server yourself, so it’s technically more involved than most of the products discussed below, at least for the person in the group tasked with setting up the server. But after extended experimentation, we found that, assuming all participants have a good connection to the Internet, Jamulus gave us the desired audio quality without much work on the part of most participants. It supports up to 50 simultaneous users. And it’s free.
The following pages cover the various aspects of using Jamulus:
Other Platforms Considered
Zoom is a popular video conferencing app that lets many people connect at once, and displays participants in a nifty gallery view that gives a pleasant sense of connectedness. Unfortunately, the audio is designed for meetings, where few people are talking at any given time. When we tried to sing together, it seemed that the system would choose the top three voices at any given time, and suppress the others. So it was impossible to hear everyone. We disabled the two background noise suppression options in the Advanced Settings menu, but that did not help enough. Here’s a paper evaluating the audio quality of Zoom and a few other platforms.
If you are using Zoom, make sure to go to the Audio Settings window and set some options:
Google Meet is a Google product similar to Zoom. Ordinarily, it may cost some money to use, but in the current environment Google has made it free. In our experience, the video quality was not as good as Zoom. It seemed like we could hear everyone at the same time. But the audio quality was still far too poor for a really artistic performance.
Ninjam is an interesting product designed for no-latency real-time musical collaboration. We didn’t try it, because it is designed specifically for a different musical idiom, where the tempo is completely steady. You tell Ninjam the tempo of your piece, and how many beats or measures are in the basic cell. It then tries to increase the latency between participants up to one complete cell. So instead of being half a beat off from the drummer, you are exactly four measures off from the drummer. Each participant has the experience of being completely in sync, just at a different place in the music. Sounds very cool, and perhaps we could create pieces with this kind of tempo regularity. In the present context, though, we are more interested in pieces with flexible tempi and non-regular metrical blocks.
Jamkazam is a tool not unlike Jamulus. They have broad ambitions, supporting video as well as audio, and linking directly to streaming platforms. But their development resources appear to be stretched thin at the moment. A recent email noted, “We are necessarily working on JamKazam part-time at this point. We are short on capital/cash. And we are very overwhelmed by the surge in the use of JamKazam.” As a result, there were technical difficulties when we experimented with it. We do look forward to trying JamKazam again in the future, when it has developed further and stabilized technically. UPDATE: I heard a talk from the Jamkazam developer, and they are still hard at work on the product. So we will stay tuned.
Source Elements makes a Chrome-based product called SourceConnect Now, which lets up to five participants share audio with each other (they are also rolling out a video-sharing service that works similarly). Ordinarily it costs money, but they are being flexible at the moment as well. The audio quality is very high, and in our experience, it was relatively reliable as long as everyone had a good Internet connection. We experienced some odd echoes on occasion, but that might have been due to our setup. To achieve the minimum possible latency, each participant’s audio is routed to each other participant directly. This is great from a latency perspective, but results in an increasing burden on each participant as more participants are added. There is currently a hard limit of five participants, and even if that limit were raised, ten participants would result in 45 separate audio streams, with each participant having to send nine streams and receive nine more. Twenty participants would create 190 streams. We are hoping to support that many participants, and the ultra-low latency is not as important, so SourceConnect Now isn’t a good fit.
Jacktrip is a software product from Stanford CCRMA that connects many computers together, passing a number of audio channels between them. It’s apparently what the researchers use. But it doesn’t actually do any mixing or routing. You would need to run a mixing console on the server. If you invested the necessary time to do this, you would then have the potential for all sorts of great features, as you could run a full DAW, add effects and plugins, and so on. But the server would need to be on a very fast machine with great Internet connectivity, and you’d have to go to the trouble of setting everything up. Jamulus gives you most of what you need right now, and you do have the option of adding effects to the final mix, so from a cost/benefit perspective, Jacktrip does not currently seem worth it.
Soundjack appears to be another peer-to-peer streaming product like SourceConnect. I couldn’t tell exactly how it works. It uses a browser, but also requires a piece of installed software on each user’s machine. I think it is sending the data directly from each user to each other user, resulting in lower latency but an exponentially increasing number of streams as the number of participants increases. It does allow more than two channels per participant, and so might be useful when we return to having more than one person per room.
ConnectionOpen is a paid audio sharing platform. I should investigate it. It is not cheap, however. Their non-free nature is evident in their description of the company: “ConnectionOpen, Inc. was incorporated in the state of Nevada in 2007 with the mission statement of both patenting and developing a low latency, high quality audio application that is end-user/internet compliant for point-to-point communication for use in business, school, entertainment and studio environments.”
Cleanfeed is a browser-based audio sharing platform. We will add an entry for this.