Sounds Free

Sonos Liberum – Sounds Free

A project to make a low cost, open source Sonos type system. A wireless music player.

Based on the Sonos solution here is what I would like to do

The need

  • Always on music players
  • Control playing music from an iPhone
  • Play the same music in multiple rooms in the house
  • Control the volume of each player

The Options

As usual there are many different options to do this. Here are some

1. MythTv
I have a MythTv PVR to manage all my TV recordings and Videos. MythTv has MythMusic which works well. The problem is that browsing music with a TV remote is not a pleasant experience and is quite slow compared to using an iPhone interface. I could use an iPhone app to remote to MythMusic but have not found one yet. Also the TV needs to be turned on to listen to the music and it is a one room solution.

2. iTunes Remote
Connect the sound card output of a PC to an amplifier and speakers. Run iTunes on the PC and Apple Remote on an iPhone.
This is what I have running at the moment. It works well but it is only a single room solution and you have to have the PC turned on to listen to music.

2. Squeeze box
SqueezeBox is a Logitech solution that has a number of the components open source. It is a music streamer so music on a Squeeze Server can be streamed to a number of SqueezeBoxes.

3. MPD
MPD is a Music Player. It will run on just about anything. Windows, Mac and Linux.

The solution that I am going with is MPD.

There are also a number of other solutions

The Hardware

To implement a decent music server it really needs to be always on. Running MPD on an old computer or laptop could be done but it is processor overkill. Also since I will need a number of MPD throughout the house having 4 always on laptops around the house ain’t great.

A number of options are

  • BeagleBoard – processor board with audio out that runs Linux, $149
  • Arduino – an open-source electronics prototyping platform, $50
  • Raspberry Pi – a low cost processor board with audio out that runs Linux, $35

The Raspberry Pi is the cheapest by far and gives excellent bang for your buck. Most Arduino boards are based on the Atmel AVR processor and would not be powerful enough to run Linux. There is an Arduino that is based on an ARM that would be sufficient but this board has no Ethernet, USB or audio out so shields are required that pushes up the cost.

The Pi and the Beagle both use ARM processors running at over 700MHz and are more than capable of running Linux. The Beagle has a much better audio output than the Pi. The Beagle has a dedicated DAC whereas the Pi uses a PWM output with a RC filter to produce audio.

For cost sake I am going to use the Pi.

I am going to implement this in two phases

  1. Music in one room – Get a single standalone Pi with MPD working
  2. Music in more than one room – multiple Pis synchronised or streaming

See the following posts for the steps along the way

Raspberry Pi MPD setup
Raspberry Pi MPD audio without the pop and crackle
Raspberry Pi MPD streaming using PulseAudio

From my experimentation with MPD I have decided not to use it.
I am switching to try SqueezeBox. Stay tuned…

Here are all the associated Sonos Liberum posts