Jack Moore

Email: jack(at)jmoore53.com
Project Updates

Sonobus with Remote Server

15 Jan 2022 » system configuration, configuration, server, remote connection

While VNC is good for video across the network, and Pulse audio provides a good solution for Linux to Linux audio, I needed a way to view a server and hear the audio from my Macbook.

This an issue I have revisited a few times and have attempted to solve with Pulse, but the newest and best solution I found was with Sonobus.

To quote the intro on their documentation:

SonoBus is a free, elegant, multi-platform, open-source peer-to-peer solution that allows multiple users at a distance to share audio together in real-time with the highest possible quality and lowest possible latency over the Internet.

Anymore, basically what I did was install the client on both my Mac and on the server and viola everything worked.

I connected them both to the same room and I was able to stream audio from my server to my Mac without issue. I believe the default settings just work so for me it was a matter of finetuning the settings I wanted to get up and running.

From their documentation on fine tuning:

Choose an Audio Buffer Size for your own output. This will set a baseline for your sent audio latency. The lower value you choose, the lower your sending latency, but at a cost of increased processing and network packet overhead. Generally, choosing 256 is safe, but for lower latency, use 128 samples. You can go lower if your hardware supports it, but it will not be of much benefit unless you use one of the uncompressed PCM send quality options, which can use those smaller buffer sizes.

One of the more interesting things I found in the documentation was their note on physics about why you cant jam with a friend in Australia:

Although our technologies can do some amazing things, it is important to accept some physical limits. Even if all the Internet equipment your audio passes through were capable of operating with no processing time, the speed of light, (186,282 miles per second) means a sound played in San Diego, CA would travel to Sydney, Australia, a trip of 7500 miles, in 0.040 seconds (40 ms). For comparison, consider an in person session, where the same sound travels at 1100 feet per second (the speed of sound in air). That 40 ms delay would be the equivalent of playing with someone sitting 44 feet away! - just barely tolerable!

But the multiple bits of Internet equipment between you and your friends don’t operate without delay, and so the practical limit is likely closer to 500 miles.

© Jack Moore