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.
- Built in 12S DAC,
- wifi adapter
- SPDIF/RCA/HDMI outputs (24bit PCM 192khz)
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!
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.
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).
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-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
sudo apt install nfs-client -y sudo mount -v -o vers=4,loud :/ /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 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.
- 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.
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.
- Bluetooth\SPDIF\Analog inputs.
- CD playback\ripping.
- Streaming support for TIDAL, Qobuz and HiRes Audio
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.
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!