FOSSPicks

FOSSPicks

Article from Issue 247/2021
Author(s):

This month Graham looks at SonoBus, NewsFlash, Kinto.sh, RetroShare, Emilia Pinball, and much more!

Network audio

SonoBus

When it comes to communication, it's amazing how adaptable the human brain can be. In conversation, it can almost completely filter out background noise, accommodate strong accents, and error correct sentences better than 200 percent checksum redundancy. What it can't do, at least not comfortably, is predict and iron out timing issues. If you've ever watched a film with the audio out of sync, you'll know that a certain amount of delay is imperceptible. But there's a threshold where it quickly becomes impossible to tie the spoken words to the people who spoke them, and the same thing happens in a video chat and with musicians, where distance can have an effect on latency and performance. A significant delay makes any kind of musical collaboration impossible, and that means that while the modern Internet can easily accommodate Zoom calls with two dozen people, it's more difficult to satisfactorily connect even a couple of musicians together, despite the lesser requirement in bandwidth.

Over the years, there have been many attempts to solve this problem, such as the closed source TeamSpeak and the open source Mumble. Mumble perhaps gets closest with relatively low latency and uncompressed multitrack audio options. But it's never felt right for musicians. SonoBus, however, does feel right. It's an open source peer-to-peer audio streaming solution that promises both high quality and low-latency audio across a LAN or the Internet. It's easy to install. After launching the application, the first thing you notice is that the UI is simple, well designed, and easy to use. The first thing you need to do is either connect to another user or share your own session. Both these actions can be accomplished through either a public or private group created on a server, which defaults to aoo.sonobus.net, or via a direct connection to the ports and IP addresses of the machines you wish to connect to. You can even run your own connection server to get the best of both worlds.

With this done, a new row will start to appear in the UI for each machine connected to the session, and everyone can speak or listen at the same time. Each row includes controls to adjust volume and left/right pan, as well as an input meter and the ability to add compression, and a noise gate effect to help with legibility and remove background noise. Latency will depend on hardware and network conditions, and each row includes specific details on the upstream and downstream latency, bitrate per channel, and the size of the jitter buffer that is used to iron out variations. The results can be staggering and far better than other chat or audio streaming solutions we've used. Even across hundreds of miles, latency was typically less than 50ms, and often lower, making not just conversation more natural but also opening up the very real possibility of musical collaboration or direct podcast recording. This is helped by the ability to adjust audio quality anywhere between an Opus compressed low (16Kbps) bitrate to a fully uncompressed 32-bit PCM, perfectly acceptable for professional audio production.

Project Website

https://github.com/essej/sonobus

1. Audio back end: SonoBus can use either ALSA or JACK to get the lowest possible latency from a configuration. 2. Effects (FX): Each client has compression and gate effects, with more effects for the global output. 3. Monitoring: Listen to your own mic and carefully control the volumes of everyone in the chat. 4. No security: By default, audio streams are not encrypted. If you're going to be chatting about film spoilers, we suggest using a VPN. 5. Quality: SonoBus is capable of professional quality recordings, as well as offering low-bandwidth friendly compression. 6. Mixdown: Record an entire meeting or session as a single file or multiple files. 7. Metronome: If you're recording music together, use the metronome to keep everyone in sync.

RSS reader

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Spotify Comes to Linux

    Streaming music service comes to penguin users. Sorta.

  • FOSSPicks

    This month Graham reviews Bela, Quickemu, GPU-Viewer, Maestral, Termux and AnLinux, Space Cadet, and more!

  • FOSSPicks

    This month Graham looks at Mixx, elfcat, Plover, and more!

  • Waxing Lyrical

    Whether you listen to music on Spotify or a classic audio player like Rhythmbox, Lollypop, or Audacious, a tool named Lyrics-in-terminal will let you read the lyrics for the track you are currently playing.

  • Podcasts with Audacity

    The glory days of podcasts might be over, but if you have something to say to your fellow humans, a digital audio recording is still a great way to deliver the message. Audacity is a free and easy tool for creating podcasts in Linux.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News