Uncategorized

Raspberry Pi audio streaming 101

Raspberry Pi audio streaming 101

IT 101. An Apple Macbook or Windows-based PC is made up of two fundamentals: the hardware; and the software that runs on the hardware. We can see the hardware if we pop the lid and take a peek inside: the CPU, the RAM, the storage (SSD or HDD) and the inputs/outputs (I/O). The software that we install onto our PC or Mac allows us to interface with the hardware. We use a keyboard and mouse to tell the computer what to do. Of course, we also need a screen so it can provide us with feedback. Through the screen, we get to ‘see’ the operating system – usually Windows, MacOS or Linux – and any applications we might have installed: Word, Adobe Photoshop or VLC.

A network streamer is not too dissimilar to a PC or Mac. At its most basic level, it’s a computer made up of hardware and software whose only task is to capture a digital audio stream from a nearby server or the cloud and pass it on to its own internal DAC – or an external DAC via USB – which then sends an analogue signal onto an amplifier. In other words, a network streamer is a computer solely dedicated to audio playback.

Where it differs from a Mac or PC is that we don’t give our network streamer instructions via a keyboard and mouse. We talk to it over the network using a smartphone and/or desktop app.

Perhaps the most recognised makes and models of network streamer are the Sonos Connect (now Sonos Port) and Google’s (now discontinued) Chromecast Audio. Sonos – and to a lesser extent Google – built their market reputation on 1) being super easy to set up and, when the mainstream moved from downloads to streaming, 2) supporting an enormous range of streaming services.

Seemingly of secondary concern to both Sonos and Google was sound quality. We know this because of better sounding – but lesser-known – alternatives like Bluesound’s Node 2i (€550) and AURALiC’s Aries Mini.

The Aries Mini is now discontinued but in the last two years, Bluesound has carved itself a larger niche of the entry-level network streaming pie by developing BluOS – the software that runs on all Bluesound hardware and its associated smartphone and desktop apps – to a point where it now rivals Sonos on user-friendliness and setup ease. A touch panel gives us access to volume control, play/pause and track previous/next without having to pull up an app. A front-facing 3.5mm headphone socket brings headphone users into play. For power users, we note hi-res audio support, a subwoofer output and an analogue/TOSLINK input.

One potential downside for a small number of power users: the BluOS operating system is inseparable from the Node 2/2i’s hardware. We cannot install our own. Bluesound calls the shots on software updates and, therefore, on product lifespan.

Pi 101. If we wish to consciously decouple software from hardware, an off-the-shelf solution like a Bluesound or a Sonos won’t do. Instead, we look to the world of Raspberry Pi (RPi)where greater potential user intervention brings with it greater potential complexity. It’s tiny! This ‘Single Board Computer’ (SBC), that I sometimes call a ‘Small Board Computer’, offers the basic functionality of a Linux PC but with reduced processing power. It’s cheap too at €35/piece. Add a case for €7 and a 5V power supply for €8 and we have ourselves a network streamer for €50. What’s not to like?

For the beginner, quite a bit, actually.

The RPi has no internal permanent storage (HDD/SSD) of its own and runs the OS directly from a microSD card inserted into its side.

There are hundreds of to choose from, each bringing varying degrees of functionality to our RPi. This flexibility can also induce choice paralysis. Volumio is perhaps the most well-known and simplest starting point for first-timer RPi streamers; it integrates Spotify Connect, Tidal and Qobuz (the latter two for a fee). PiCorePlayer is for those who wish to run the RPi as a Squeezebox Client (or server) where Spotify Connect, Tidal and Qobuz functionality comes via server’s plugins section. RoPieee XL gives us Roon ‘Readiness’, which integrates Tidal and Qobuz, and serves Spotify Connect on the side.

Once we’ve downloaded our chosen OS, we must write it to a microSD card (using balenaEtcher or similar).

[Side note: the RPi hardware supports Ethernet and Wifi but some operating systems are Ethernet only.]

Music playback control doesn’t come from any official Raspberry Pi app but the ‘apps’ corresponding to the operating system’s functionality: Volumio users need only punch in volumio.local into a web browser; PiCorePlayer calls for OrangeSqueeze or iPeng; RoPieee will take instruction from Roon remote running on any desktop or smartphone. For Spotify Connect we look to the Spotify app.

The RPi’s secondary weakness is its sound quality. The onboard analogue output is inferior to both the Sonos Connect and the Google Chromecast Audio. One quick fix is to add an external USB DAC. Alas, on all but the Model 4, the RPi shares its USB data bus with Ethernet. Audible dropouts are common. And if we’re lucky enough not to witness those, via more revealing hi-fi/head-fi systems we might hear a hint of metallic sheen on cymbals and hardness on horns.

[Side note: to call a DAC ‘badly designed’ for not coping with the RPi’s digital shortcomings is like blaming Ford for the Fiesta’s inability to deal with rough terrain.]

Time to level up. A ‘Hardware Attached on Top’ moves D/A conversion or digital signal clean-up to a secondary board attached to the RPi’s 40-pin riser. Now we can realise sound quality superior to both the Sonos Connect or Google Chromecast Audio and in analogue (ALLO Boss) and digital S/PDIF domains (ALLO DigiOneJustBoom Digi HAT).

If all this reads like too much to handle, take 20mins to watch our ‘Beginners Guide to Raspberry Pi streaming’ video in which I also contextualise any HATted improvements with the Bluesound Node 2i. An RPi-based streamer can’t compete with the Bluesound Node 2i on functional niceties, ease of setup and (especially) looks, but it can very much compete on sound quality and software flexibility.

Further information: Raspberry Pi Foundation

 

 

John H. Darko

Written by John H. Darko

John is the editor of Darko.Audio, from whose ad revenues he derives an income. He is an occasional contributor to 6moons but has previously written pieces for TONEAudio, AudioStream and Stereophile.

Darko.Audio is a member of EISA.

Follow John on YouTube or Twitter

.END

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s