Is Real-Time Online Music Making Easy Yet? A First Look at FarPlay and SoundJack LITE

by Ian Howell

23 January 2022


Abstract

The Covid-19 pandemic forced many segments of the music performance and education communities online. This happened at a time that most participants were ill equipped to do so, in terms of both technology and knowledge of best practices. It quickly became clear that simple solutions were not professional, and professional solutions were not simple. Challenges to a seamless user experience remain surmountable, but this means they must be surmounted. This article explores two apps in their public beta phase, FarPlay and SoundJack Lite. While challenges remain to using high quality, peer to peer connections between musicians, these two apps represent a significant move toward ease of use and quality of experience.


License

This work is licensed by Ian Howell under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.


Table of contents

  • Introduction, or a brief history of (this incredibly challenging) time

  • Falling short of the ease of FaceTime

  • Intrinsic challenges, or things for which there is no (and may never be a) big green GO button

    • Routers, or things your teenager can do that seem impossible to you

    • Windows OS is generally bad at handling audio

    • You Must Choose: Highest possible audio quality or lowest possible latency

  • FarPlay and SoundJack Lite

Introduction, or a brief history of (this incredibly challenging) time

From the start of the Covid-19 pandemic, it was clear that those who needed high-quality, low latency telecommunications solutions the most were the least likely to have access to them. In terms of hardware and software, yes, but also in terms of knowledge. Musicians and music teachers, even those in contemporary or commercial music programs, are rarely taught the basics of audio signal chains, how audio is converted from an analog to digital signal, or how to manage that digital audio within a computer. And this is dwarfed by how little we understand about how networks and the Internet work. 

During the pandemic I helped to support my immediate community at NEC to use technology as effectively as possible to teach and collaborate. However, the single most common tech support call was from a user who had forgotten to turn on the phantom power to their microphone. Not some complex adjustment of a hidden buffer; they forgot to turn on the mic. At most schools, the technology departments are in the service business. They record recitals, keep the Wi-Fi running, and make sure that projectors and speakers are set up for classrooms, but at many schools, their main goal is not to educate. For the most part we do not teach people how to succeed with digital audio.

Falling short of the ease of FaceTime

The desire for a simple solution in a box with a big green GO button was strong from the start of the pandemic. Perhaps it is a testament to how well some consumer technologies work that we expected everything to function without much effort on our part. FaceTime on an iPhone is remarkably human proof, but it also bakes in multiple compromises. Apple’s most elegant and user-friendly products embrace those tradeoffs. Their professional products do not. They are as complex and user-unfriendly as anything else out there. But this is because professionals take the time to learn their tools. 

Those teaching, studying, and practicing music during the pandemic experienced a strange mental split. Their violin may have cost thousands of dollars and they may consider the value of putting in years to understand it obvious, but no one wanted to learnhow to make online collaborations work well. People who had spent a lifetime working at the mind-bogglingly complex task of playing a piano felt that they would never be able to learn how to use technology more complex than their phone. 

What is the next phase of low-latency, real-time online collaboration tools? Are we to the point that a range of options exist to serve both power users interested in professional features, and also novices who just want to make a connection and play? Perhaps. At minimum, with the public beta phases of two new options, we are closer. This multimedia essay will explore FarPlay (farplay.io) and SoundJack LITE (soundjack.eu/sjl). They offer different features and may be appealing to different populations (even different students of the same teacher, depending on individual limitations). Both are still in development, and I suspect this article will be out of date by the time I publish it. But both work now, are free to use, and everyone should know about them. 

Intrinsic challenges, or things for which there is no (and may never be a) big green GO button

Before walking through what these two options can do, it is important to point out a few absolute limitations associated with real-time collaborative apps. Anyone who suggests that they have completely solved these problems is most likely trying to sell you something. I will briefly unpack each issue below, but they are: (1) no matter what, some routers will try to block your data, (2) Windows OS does a terrible job at handling audio at a system level, and the best (fastest/highest quality) experiences require external hardware. (3) the speed of your connection (latency) and the quality of the audio tend to vary inversely. 

Routers, or things your teenager can do that seem impossible to you

Your home router, sometimes the same as your modem and sometimes not, serves two functions for your home network. (1) It takes a single stream of data between your house and Internet provider and splits it so that all of your internet enabled devices can connect to the outside world, and (2) it protects all those devices from the outside world. Unfortunately, the way in which it protects you is problematic for the fastest data transfer protocol used by low latency apps (UDP packets sent directly between computers). In the majority of cases, neither FarPlay nor SoundJack require changing settings in your router. This has actually always been true, even for the fully featured version of SoundJack. However, please do keep in mind that you will likely always encounter someone you want to work with whose router will be a problem. This could be because their home router’s security setting is set too high or because they are trying to connect from a more complex network (common on college campuses). Without purchasing a custom router with an open firewall by default, or manually creating what is known as a port forwarding entry in your router (which sounds harder than it is), no one can guarantee that everyone will always have access to the fastest possible connection using a peer to peer app. Most people most of the time, yes.

Windows OS is generally bad at handling audio

I know that many people, especially those who have purchased Windows OS instead of macOS computers, argue that anything a Mac can do can be done with Windows for less money. Maybe this is true for some aspects of computing. For low latency audio applications this is absolutely not true. This is because Microsoft abdicated the responsibility to build professional audio drivers into the operating system. Yes, the default audio drivers in windows function, and in an app like zoom, a built-in microphone on a Windows laptop will transmit your voice. However, it does so with several limitations. (1) the default audio drivers do a worse job of digitizing the analog sound wave. This means a potential loss of fidelity. (2) the default audio driver may not make full use of the dynamic range available in digital audio. (3) the default audio driver does not work at low latencies.

The process of converting an analog sound wave into digital audio is a process of representing a continuous change in pressure with a series of data points. Digital, in this case, refers to these separate points, much like the separate fingers on your hand are called digits. In digital audio, these data points are called samples. The built-in drivers on windows require that you accumulate a large number of these samples in a buffer (think of a buffer as a waiting room for digital information) before that larger chunk of samples is sent off to your application. This adds time, as you are literally waiting for new samples to fill up the waiting room before they are sent off on their way. The default windows drivers require a large buffer, which adds a significant delay.

Industry has come up with a solution for this issue and most professional or prosumer audio interfaces designed to work with the Windows OS offer what is called an ASIO driver. ASIO drivers do function at extremely low latencies. However, two problems persist. First, not all devices, especially built-in microphones or USB microphones, offer the option of an ASIO driver. Second, one of the core features of this type of driver is something called exclusive control mode. That means that if you’re ASIO audio interface is being used by one app on your computer, it will not function at the same time with another app. Provided you have a nice enough audio interface, there are workarounds for these challenges. But they are absolutely workarounds and require troubleshooting and maintenance.

By contrast, the default Audio drivers on a macOS Computer are professional quality. This means that if you use the built-in mic or a USB microphone and the manufacturer did not write professional ASIO drivers for it, you will automatically be able to reach lower latencies on the macOS computer than you could ever get on the Windows OS computer. Can a Windows OS computer be set up to meet or exceed the audio latency and quality of a macOS computer for less money? Maybe. But not for a casual user.

You must Choose: Highest possible Audio quality or lowest possible latency

I mentioned above that low latency apps use something called a buffer, or a waiting room for digital audio samples. These apps all function along these lines. Typically, an app uses several buffers. Each could increase or decrease Latency. Additionally, we must account for the inherent latency of the network that connects the user’s computers. The smaller the size of the buffers, the faster the process that replenishes those buffers. More processes within your computer per second requires greater computing power. No matter what, the faster you attempt to run any low latency app, the more likely that the computer will slip. When it fails to keep up with the processing demands, you will hear clicks, pops, or garbled sounds. there is always a setting that is as fast as the connection can be made and still sound perfect. There is also more than one workaround that allows you to capture high fidelity audio at a higher Latency while simultaneously collaborating at low latency. More on that below. Some users will always choose to accept occasional pops and clicks in return for lower latencies. We should not be confused about the purpose of these apps. The fact that the settings allow one to create a slightly degraded sound is a feature, not a bug. Do not compare them directly with apps designed to only transmit perfect audio at higher latencies.

FarPlay and SoundJack Lite

Both FarPlay and SoundJack Lite offer exciting and relatively simple ways to connect online in real time. They are both feature rich, despite their simple user interfaces. They both remain under active development, and I would expect more features and potential bug fixes to roll out over the coming weeks. Which is right for you? Honestly this may depend on your circumstances. Although SoundJack does offer the option to port forward your router, both SoundJack Lite and FarPlay are intended for a user base who does not want to have to think about it. You may find that one app allows traffic while the other is blocked, and this may differ between collaborators. Assuming that you have a normal home router and either a macOS computer with or without an external audio interface, or a Windows OS computer with an external audio interface (with ASIO drivers), I would expect one or both of these apps to allow you to connect to a similarly equipped collaborator in a short amount of time. 

Please watch each of the following videos for a first look at each app and see the table below for a feature comparison matrix. These are not yet user-proof, and still fall short of the ease of an app like FaceTime. However, these are elegant steps toward that goal. Stay tuned, and check back for feature updates. 

A first look at the low latency app, FarPlay.

A first look at the low latency app, SoundJack LITE


Feature List

Feature

FarPlay

SoundJack LITE

Notes

Peer to Peer or Server-based

Peer to Peer

Peer to Peer

Full version of SoundJack does offer a server-based option

Maximum number of participants

Currently 2, additional connections in development.

4-6 depending on quality of computers

Full version of SoundJack offers server-based option for dozens of participants

Is it an app or website?

App (macOS, Windows OS, Linux OS)

Both. App (macOS, Windows OS, Linux OS) runs on computer but interface accessed through Chrome window

 

Signup required?

No (yes for subscriber features)

No

 

Audio codecs

Uncompressed 16 bit/48 kHz

OPUS 192 kbps (high quality audio that masks some network dropouts)

Full version of SoundJack has Uncompressed 16bit/48 kHz, OPUS: 192 kbps, 96 kbps, 48 kbps, 24 kbps. OPUS codecs allow for lower latencies at times and use less bandwidth.

Requires ASIO drivers on Windows OS?

Yes

Yes

FarPlay currently recommends using ASIO4all for audio devices without ASIO drivers, but latency will remain high.

Video?

Currently no (recommends using a separate app). In development.

Yes, built in low latency color video up to 640 x 480 SD resolution

SoundJack video currently does not work well on Windows OS and has issues with MacOS M1 chips, but these issues are being addressed.

Port forwarding required?

For most home users, no. Expect challenges connecting to a college campus, large network, or home router with high security settings. Currently no way to set a port forwarding entry to overcome those restrictions.

For most users no. Yes, if connecting to a college campus, large network, or home router with high security settings. 

SoundJack displays whether you are likely to make a successful connection, and gives an error if a call fails. FarPlay will simply fail to connect. If one app fails, it is worth trying the other.

Works on a Local Area Network?

Yes

Yes

 

Ethernet required?

For lowest latencies, yes

For lowest latencies, yes

 

Echo cancellation/headphones required/

No echo cancellation. Either headphones required, or position speakers and microphone to avoid echo.

No echo cancellation. Either headphones required, or position speakers and microphone to avoid echo.

 

Cost

Free to use (subscription available for advanced features, free until close of public beta)

Free

 

Number of buffers to adjust/complexity

One single slider that dynamically adjusts network buffers. The audio buffer is hidden in the preferences menu.

One buffer is manually set, the other two are managed by SoundJack.

 

Automatically recommended settings?

Yes, FarPlay displays a workable range on the slider to suggest where to set it

No

 

Built-in recording?

Yes

Currently no, but in development. Currently requires using Loopback or a similar audio routing app and a separate recording app

 

High quality/high latency broadcast option

Yes, built in feature available to subscribers

Currently no, but in development

 

MIDI?

No

No

Full version of SoundJack has MIDI

Is one-way latency estimate accurate?

Yes. Initial tests suggest that it is accurate and includes a good estimate of the latency of the audio interface

Yes, but excludes a small portion of the latency of the audio interface

FarPlay’s latency estimate is great, and displays in milliseconds, feet, or meters.