Volumio – #1 Smart Music Streaming Solution for Your Home

Table of Contents

As a huge music lover and self-host freak, these days I drift between YouTube & Spotify for my music fix. To be frank, these are not the best places to be for longevity. We’ve all had YouTube take down a video from our playlists and not even Spotify is safe from this! Artists can (and have) taken down their content taken down for X reason. At this point I imagine we’ve all felt that cold digital sting of missing songs and ruined playlists.

Enter Volumio…

Having learned this lesson many times over has made me want to take control over the way I consume my music. I’ve shuttled my music around from hard drive to hard drive for the last decade or so. Their current resting place is on my server collecting digital dust (and real dust too). As such it seems only right to take advantage of this and build a personal music streaming center. Enter volumio music player! An open source ‘audiophile’ music player built on top of Debian.

volumio initial setup
Finishing Volumio's installation in the browser
I should note that Volumio also offers a hardware unit called the “Primo”. A complete hardware Digital Audio Converter (DAC) with all kinds of bells and whistles:
  • Built in 12S DAC,
  • wifi adapter
  • SPDIF/RCA/HDMI outputs (24bit PCM 192khz)
All for a premium price of $649 dollars. A bit pricey but if you’ve ever looked at the cost of any “audiophile’ piece of equipment, this is par for the course. Volumio can install and be ran on a Raspberry pi or similar microcomputer and act as a audio setup box.

Features

Here are some key features:

  • All-in-one music player where you can play all your music, local or otherwise.
  • Works out of the box!
  • Sounds great even on stock pi hardware with support for DAC boards!
  • VolumioOS turns your Raspi into a audio hub with a Volumio webui you can control from anywhere.
  • Supports many streaming services & protocols. Listen to Spotify!
volumio running on raspberry pi
Reviving my old Raspberry Pi 3b to run Volumio!
I don’t have an expensive audiophile setup, but I do have a decent music recording setup & pair of studio monitors. I’ll be running VolumioOS on an old Raspberry-Pi 3B that I had lying around. The VolumioOS image is available to download on their official website, linked here.

The Good

Having spent a good amount of time playing with Volumio I can say I dig it. It does a lot well that won me over but it is not without its quirks. For now let’s focus on what Volumio does right: Playing music! Volumio doesn’t care what file type your music is in: Mp3, Mp4, FLAC, OGG, AAC, etc, it’ll play it all, and do it without any hiccups.

vol-now-playing-plugin
Playing a local file (FLAC) in Volumio.

Loading music into Volumio

Out of the box, you’ll find that Volumio plays well with both local and external storage media. USBs loaded up with recognized audio files appear in the webUI without a hitch. You’ll also have options to attach network storage via NFS or CIFS. Internal storage is also recognized which is good if you have a microSD with ample storage. If you need to mount a file system to that path that is possible too! (which I did, and will provide info on below).

vol-music-lib
Indexing a large music library in Volumio
In the pursuit of mounting my own files I dug a little into NFS (Networked File System). At first I used a docker image to spin up an NFS server with a disk volume mounting my music folder onto my network. Unfortunately this didn’t interface well with Volumios’ built in NFS/CIFS system. Next, I turned to SSH to log into my Raspi. Check out this help article from Volumio’s official docs to enable SSH, linked here. Install an NFS client and mount the container onto Volumio’s default music path at mnt/INTERNAL.

A tiny NFS-server with Docker guide

To not get to caught up in the setup I’ll cover what I did in case anyone else wants to do the same. On a server with docker & docker-compose installed I have the following YML file. This container is ran via docker-compose -f docker-compose.yml up -d.

				
					# docker-compose.yml
version: "2.1"
services:
  # https://hub.docker.com/r/itsthenetwork/nfs-server-alpine
  nfs:
    image: itsthenetwork/nfs-server-alpine:12
    container_name: nfs
    restart: unless-stopped
    privileged: true
    environment:
      - SHARED_DIRECTORY=/Music
    volumes:
      - /path/to/your/music:/Music
    ports:
      - 2049:2049
				
			
On the Raspi hosting Volumio you’ll want to log into it and edit the mount point. The default username/password is volumio/volumio. Note that mount points get cleared on power loss. Editing fstab, or scripting the mount command (if you want to be creative) is your best choice. Pick your poison and you’ll save yourself the hassle of mounting it every time the system powers up.
				
					sudo apt install nfs-client -y
sudo mount -v -o vers=4,loud <your-servers-ip>:/ /mnt/INTERNAL
				
			

With your file system mounted, you can go back into Volumio and scan your files. In the menu click on Settings→Sources menu and scan and update you Internal Music Library. This may take some time to index especially with larger music collections.

The Look

The UI is dark with a splash of color where it counts, but if you don’t like it Volumio also offers 2 other skins. You may also customize the player with your own background image. When it comes to actually using the program, it’s straight forward. Your music categories get laid out in a panel to the left with the transport controls in the bottom bar. Very reminiscent of Spotify’s web player or any media player in the last decade.

vol-ui3
Volumio's 'Manifest' skin
vol-ui2
Volumio's 'Classic' skin

Fine-tuning

Volumio also has a wealth of playback options. You can change the audio outputs, various hardware/software settings, and audio resampling. 12s DAC support is also available from this menu. Since I don’t have one of those external HAT boards for my Raspi, I kept these settings stock. Any audiophile will love to tinker in this menu.
There are a few other settings of interest here:
  • Setting Volumio up as an alarm clock,
  • Networking options (including a hotspot mode!),
  • A sources tab to mount USBs/NAS.
  • DNLA settings.
  • The webui plugins page. Where you can find your installed plugins.
  • This is where the trouble starts, which before I get into the rest of the cool stuff that Volumio can do I must address.

The Bad

Making an account

Now on to the thing that I didn’t like. You’ll have to make a free account with Volumio to access its plugin system. You can’t just see your installed plugins and open them up. They are holding all the other streaming services hostage until you fork over that sweet, sweet email of yours. Not a big deal to some, I hate having to make an account to use something especially when I’m hosting it. A nitpick sure, but it doesn’t sit well with me. We live in a post SaSS world and Volumio is another product in the world. I get it, devs have to make money somehow, especially on a free product.

vol-audio-set1
Changing playback options in Volumio

Paywall

Speaking of making money of a free product, UI data collection is also enabled by default. And Here’s a list of all the features locked behind a paywall:
  • Bluetooth\SPDIF\Analog inputs.
  • CD playback\ripping.
  • Streaming support for TIDAL, Qobuz and HiRes Audio
A premium subscription with the above and a few other features is available in two tiers. A monthly fee of $7.49 or $70 yearly with no option for a lifetime license available. At least there is a 15 day trial is available so you can see if its worth spending money on.
vol-premium
Volumio's pricing information is available directly in the UI

If any of those are deal breakers for you well then, there you have it. I’m in the the free tier and it fulfill its purpose well enough for me to be happy with Volumio.

Minor UI glitches

The only other issues I encountered were the minor odd UI glitches that happened. For example, the seek bar at the bottom will sometimes get out of sync with the currently playing audio. That only happens during aggressive song switching, and isn’t that noticeable. Aside from that there is not much else wrong with Volumio. Now back to the good stuff.

The Good (Reprise)

The plugins are what takes this slick music player from OK to rad. Volumio has tons of plugins available. Most comes from the community, which is always super awesome to see. In the plugin section you’ll find plugins you can download and install for YouTube, Spotify, Soundcloud, and Bandcamp. There are also clients for Logitech Media Server, Jellyfin, MiniDNLA, and many others. I’m interesting in playing Spotify on volumio, so I’ll be checking that plugin out.

vol-plugins
Volumio's plugin screen has many cool community made plugins!
Being from the community, support for these plugins limits how much help you can get. It’s not as simple as go to my plugins and open spotify, it takes a bit more effort. I had issues with the Spotify connect plugin until I found a thread on the Volumio sub reddit. For anyone else, the right spotify app plugin to use is Volumio Spotify Connect2 plugin. You’ll only be able to cast to your Volumio and not browse Spotify from inside of it. This is unlike the Youtube plugin which has a built-in search and play feature from inside of it. There are more than just music services plugins available. There are also plugins for hardware like IR remotes or GPIO control for advanced DIYers. You can also find a last.fm scrobbler to track your listens.

Final Word

Volumio is a great music player with tons of features and is very flexible about where the music is coming from. Sound quality is great, not raw masters great but close. Be it YouTube, Spotify or a music file proper, you can count on Volumio to play it and play it well. Having a hub where I can listen to Spotify and YouTube sans insufferable comments is a dream. If you are in the market for a home audio set-top box, have a spare Pi lying around, check out Volumio!

Meet the Author

Leave a Reply