Publisher Profile APPEARANCE - Editor - Theme Header Google Adsense Top Banner

Advancing Audio Streaming, Part 1: Raspberry Pi 4 as USB Network Audio Transport

By: |

Rewind a bit…if your reaction to the title of this article was, “English, please,” then I should take some time to explain. The rest of you can head on down to the section, “This thing is hot!”

If you’re still with me, I’ll discuss the title from right to left, starting with “Transport.” For many of us, the Compact Disc was our first exposure to digital audio in the home. CD playback started with single-chassis CD players; however, it was not long before folks discovered that better sound was possible by splitting things up. As similar concepts, consider a turntable and external phono stage or a preamplifier and power amp vs. a combined integrated amp. Cost aside, isolating the mechanical vibrations from a disc that spins up to 500 RPM and stepper motors for the laser into a separate chassis with its own power supply makes a certain amount of sense. Not without its challenges, this approach turned out to be a solid architectural decision, and with it, the external DAC was born.

At around the same time, multimedia PCs were popular and were starting to become fast enough to play CD-resolution audio (44.1k samples per channel per second at 16-bits per sample). More smart people discovered that, with a suitable interface card, they could disconnect their CD transport and connect their computer directly to the DAC. With this discovery, the Computer Audio Transport was born. While splitting up a CD player to a CD transport and DAC often improved sound quality, for many years, the computer audio transport was a step backward in sound quality. It would take another decade or so before improvements in interfaces and architecture would bring the Computer Audio Transport up to the level of the finest CD transports.

Eventually, more smart people realized that the problem with Computer Audio was the Computer! Computers can be noisy beasts, both mechanically and electrically. The mere presence of a computer in one’s audio component rack can negatively impact sound quality of the entire system. There are a few different approaches to solving this problem. One is to spend a huge amount of money building a powerful yet ultra-quiet computer. The other is to split things up again.

The idea behind the Network Audio Transport is to put some distance between that noisy computer and our delicate audio components and listening environment. The audio computer can be relocated to an office or closet as long as it’s accessible over the home network. We browse and control music selection and playback via a remote control app installed on a tablet or smartphone, but how do we get the music to our listening room?

The solution is a Network Audio Transport (sometimes referred to as an NAA or Network Audio Adapter). This small device receives a digital audio stream from the audio computer (a music server) over a network connection and outputs digital audio to a DAC, typically over S/PDIF or USB. These devices are, technically, tiny, low-power computers. The advantage they have over full-sized (even small form-factor) computers is that they can be cost-effectively configured to generate no noise and very little RFI and EMF. They usually run single-purpose software that simply copies audio from the network to the digital output. Virtually no background tasks are running, so the much less powerful CPU in a Network Audio Transport is still almost entirely idle. Crucially, an idle CPU is what we want whenever a computer is anywhere near our audio system!

The Raspberry Pi (RPi) is a pocket-sized $35 single-board computer that’s been around since 2011. The latest version is called Raspberry Pi 4 Model B, or RPI4, and includes performance and architectural improvements over its predecessors. The RPi is a popular choice commercially and among hobbyists for building network audio transports due to its small size, low power, and low cost. It has been used in a number of commercial products, including Bryston’s BDP-Pi Digital Player. The RPi is equipped with four USB ports, a wired Ethernet connection, and 40 general purpose input/output (GPIO) pins to which 3rd party audio boards may be attached without soldering. The RPi’s low power requirements mean that it can be run for many hours from four rechargeable AA batteries or a small linear power supply.

So, there you have it. The RPi is a $35 device that, with just a little work, can be configured to function as a network audio transport that feeds a high performance DAC while eliminating the need for an electrically noisy computer to be present in the listening room. Now, advancing audio streaming…

Smraza Case for Raspberry Pi 4 B

This thing is hot!

I’ve had a Raspberry Pi 4 small board computer (SBC) for a while, but the thing runs hot (61 – 65º C) just idling in a standard case. At first, I thought I might have a defective board, but that’s just how the RPi4 is.

To manage the heat, I moved it from the official case to one with an integrated CPU fan. Doing so brought the temperature down to RPi3 levels (~45º C) but precluded serious use of the RPi4 as a Roon output due to fan noise and vibrations.

Solving the heat issue properly required the Flirc case that I had pre-ordered a month or so before the RPi4’s release. Theirs is a passive cooling design that uses the entire chassis as a heatsink. A metal post extends from the top of the case, making contact with the CPU/GPU via thermal tape. It acts as a heat-pipe, transferring heat away from the CPU.

iFi iDefender3.0 between SBC and DAC

My interest in the RPi4 as a network audio transport stems from its improved USB design. Quoting from the official documentation, “In all models prior to the Pi 4, the USB ports connect to a combo hub/Ethernet chip, which is itself a USB device connected to the single upstream USB port on BCM2835. On the Pi 4, the USB hub chip is connected to the SoC using a PCIe bus.” In theory, this dedicated connection should result in better USB performance with, possibly, less noise contribution from the Ethernet chip.

The “bits are bits” crowd will argue that noise makes no difference with digital signals, but in reality, there’s no such thing as a “digital signal.” All signals are analog and are affected to some degree by noise. More importantly, the “A” in “DAC” stands for analog, thus reducing noise in the digital audio transport means that less noise makes it to the analog circuits of the DAC. Is this significant? The answer is very system dependent, but it’s just good housekeeping. If you have an opportunity to do something that may reduce transport noise without spending a lot more money, why not?

One limitation of the USB implementation on the Raspberry Pi is available power. According to the official documentation, “The USB ports on a Raspberry Pi have a design loading of 100mA each — sufficient to drive “low-power” devices such as mice and keyboards. Devices such as Wi-Fi adapters, USB hard drives, USB pen drives all consume much more current and should be powered from an external hub with its own power supply. While it is possible to plug a 500mA device into a Pi and have it work with a sufficiently powerful supply, reliable operation is not guaranteed.” This means that it’s never a good idea to rely on any Raspberry Pi to solely power an attached DAC!

Whenever I use an SBC as a USB network audio transport, I insert some kind of device to obviate the SBC of the responsibility of powering the DAC. In the photo above, I have the iDefender3.0 from iFi Audio relieving the RPi4 of 5V power duties. In other installations, I’m using the micro or nano (no longer available) iUSB3.0 devices from iFi Audio for the same purpose. These ensure that the DAC receives adequate power to drive both analog and digital circuits without stressing the upstream Raspberry Pi digital transport.

 

How does it sound?

DSD256 streaming to the RPi4 from Roon

Well, it’s early in my evaluation, but it sounds great so far. Like the Raspberry Pi 3 Model B+, the RPi4 has 5 GHz Wi-Fi and 802.11ac support, so streaming DSD256 and 32-bit, 768 kHz PCM are no problem. The background is inky black on quality recordings, leading to impressive dynamics. My next step is to compare the RPi4 with the Allo USBridge. The latter solves the USB noise issue by adding a bespoke USB board that Allo specifically designed for digital audio applications. This board should give the USBridge an advantage over a general-purpose RPi4, but I’ll report back on what I find soon.

 

Regarding the kodi edition of the Flirc case

I originally purchased this case with the intent of using the RPi4 as a kodi video player. (The kodi edition of the Flirc case is exactly the same as the standard case, but some of the money goes to support kodi.) The dual 4k HDMI outputs and hardware H.265 video decoding makes the RPi4 a very attractive device for video playback. Sadly, as far as I can tell, kodi is not yet supported on the RPi4. That’s too bad since I think kodi will become one of the killer applications for this SBC. Until a future version of kodi is released that adds support for the RPi4, this device will be relegated to audio duties.

 

Following along at home…

If you’d like to give the Raspberry Pi a try as a Roon output, here’s a link to a video that I created that walks through the hardest part: preparing a microSD card with an O/S and the Wi-Fi settings required for you to access the device from your home network.

 

How to flash a microSD with DietPi and Roon Bridge

 

End of Part 1

 

Copy editor: Dan Rubin

  • (Page 1 of 1)

4 Responses to Advancing Audio Streaming, Part 1: Raspberry Pi 4 as USB Network Audio Transport


  1. Richard Jones says:

    The Raspberry Pi 4 USB ports can output up to 1.27A. That is hard wired to all four ports so can all be drawn from one USB if needed. Obviously depends on a suitable PSU. The official Pi 4 supply is designed to prove enough power for the board and supplying this to external USB devices.

  2. Andreas says:

    LibreELEC 9.2, based on Kodi 18.4 is available for Pi 4.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Popups Powered By : XYZScripts.com