Raspberry Pi music hub

Update May 10, 2024: moOde audio now includes a recent version of upmpdcli. That means you can use this standard distribution on a raspberry pi to achieve that same as what is described below. Check this blog post for more details.

In this post I will show how a raspberry pi can be setup as a central music hub, which can then be controlled through Rigelian. My own setup will serve as an illustration for this.

At the center of the system is a Raspberry Pi 4b with 2Gb of memory, combined with a HifiBerry DAC2 Pro audio card. I used to run the configuration on a Raspberry Pi 3b with 1Gb of memory, but that would run out of memory after some days of usage, and then had to be rebooted. With the 4b I don’t have this issue. A 2TB USB harddrive is connected to (and powered by) the Raspberry Pi, on which I keep my local music library of around 17.000 tracks. For the operating system I’m using the 64-bit version of Raspberry Pi OS Lite, as I’m running it as a headless server with no keyboard or screen connected. This is flashed to a 32Gb micro-SD card using Raspberry Pi Imager, a free download from the Raspberry Pi website.

On this little computer 4 different pieces of software are running to play music in my home office:

  • mpd version 0.22.6-1+b1 arm64, installed via apt-get. This is configured to output via the HifiBerry DAC, which is connected through RCA plugs to my Arcam FMJ A18 amplifier.
  • upmpdcli version 1.7.7-1, installed via apt-get. This creates an OpenHome player on top of mpd, allowing to play music from UPnP media servers as well as from Qobuz.
  • upmpdcli-qobuz version 1.8.1-1, installed via apt-get. This plugin supports is required to use from Qobuz with upmpdcli.
  • Asset UPnP is the media server that makes my local library available over UPnP. It’s possible to use other UPnP media servers like MinimServer, kodi or minidlna.

And to play music to the Naim Uniti Nova in the living, one more package is installed:

  • BubbleUPnP server can turn any UPnP player (in my case the Nova) into an OpenHome player. Via Rigelian music can be selected from a UPnP mediaserver (Asset UPnP in my case) and Qobuz, and then sent to the Nova over UPnP.
    I’m running this in a docker container but it can also be installed stand-alone.

The following picture shows how everything is connected.

To summarize, a single Raspberry Pi can be used a streamer by connecting it to an internal or external DAC which in turn connects to an amplifier, and at the same time as a server that turns any UPnP compliant rendered into an OpenHome player. With Rigelian you can then seamlessly combine your local music library with the high-quality content of Qobuz, without breaking the bank.