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.

[...]

Use Express-Checkout link below to read the full article (PDF).

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.

  • 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.

  • Perl: Spotify

    For a monthly fee, the Spotify streaming service beams music onto your desktop or phone. To intensify the groove, Perlmeister Mike Schilli archived his Spotify playlists for eternity using an OAuth-protected web API.

  • Sayonara Player

    For a simple audio player, check out Sayonara Player, a great choice for enjoying all your favorite music, Internet radio, and podcasts.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News