Raspberry Pi Headless Music Machine

One of the motivations for getting my amplifier working again was the need to listen to music on a system with more depth and weight than a set of Logitech 2.1s can provide.

Since I left my CD collection in the UK my sources are all mp3, with a Soundcloud habit as well.

So, how to listen?  Well, I also have a Raspberry Pi habit, and they have an audio out (in my case on a Model B it’s a headphone jack).

Rotel RA-931 stereo amplifier fed from a Raspberry Pi B.
Rotel RA-931 stereo amplifier fed from a Raspberry Pi B.


After some browsing for headless options, i.e. they are controlled from remote devices so don’t need a monitor, I decided to run with Mopidy.

As I already had a Pi running I started with the Debian instructions, bad idea.  Lots of error messages apparently boiling down to the fact that I was running Wheezy rather than Jessie. Rather than fight against the tide I downloaded Jessie and tried again. Similar story, probably due to Mopidy needing lots of other gubbins to work.

Next stop was to find a ready-made img with Mopidy and all its gubbins pre-configured, something like Pi MusicBox.

That worked well enough, I could at least access it through a browser on the main computer, but it wouldn’t (and still hasn’t) indexed any media files accessed over a network connection.


To get it playing mp3 files from another computer I decided to mount the network drive as a folder in the default MusicBox directory on the Pi:

mkdir /music/MusicBox/<appropriate name, e.g. PC-MAP>
mount.cifs //<Pi IP address, e.g.>/<shared directory name> /music/MusicBox/<appropriate name, e.g. PC-MAP> -o username=<network drive username>,password=<network drive password>

I haven’t yet rebooted the Pi, so not entirely sure if the network drive will mount itself or if I will have to find the right place to put the script so it mounts automatically.

I’ve also plugged a USB stick into the Pi’s powered USB hub, and I can play music from there.  Long term plan here in Gaborone will be to have a portable disk drive permanently connected to the Pi with all my mp3s on it, and another unit in Francistown reading from the NAS (the NAS and the portable drive being kept in sync by sneakernet (see also), so working as backup system as well).

Next step will to be work out why MusicBox isn’t indexing my tunes.

What does work?

I’ve spent the day dropping SoundCloud links into the Stream menu, and they sound great.  Except it won’t load tracks from an artist’s page or parse a playlist.  So basic rather than advanced “working.”

Pi MusicBox - SoundCloud streaming control panel in a web browser.
Pi MusicBox – SoundCloud streaming control panel in a web browser.

It will play all the files in a directory that you browse to.

I can lie in bed and control what is playing and how loud through my smartphone.

Pi MusicBox - controlled through a smartphone's browser.
Pi MusicBox – controlled through a smartphone’s browser.

What next?

Well, maybe try some of the plug-ins for MusicBox for file handling and interface wise, and or other flavours of headless music player to see if there are any that work better without having to fettle the heck out of them.

At the end of the day the Pi ecosystem is for those that like to tinker and fettle, anybody with access to decent electronics stores and no inclination to tinkering and fettling should look elsewhere.

Me?  I’m contemplating a couple of Pi Model 2s with DAC and RCA output boards.


Author: Michael

Parent, husband and civil engineer born and raised in Britain before emigrating to Botswana. Interests in construction, information technology, fitness, mechanics and mapping, among others.

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.