Saturday, May 17, 2014

Raspberry Pi with Firefly (mt-daapd) music server

The SoundBridge is able to play your own music collection. But this requires a music server running inside your home network. Since USB sticks with a capacity of 64 GByte and more are affordable the whole music collection of most people will fit onto one stick. So you may put this stick into a mini-computer like the Raspberry Pi and get a small, cheap, and silent music server to run 7 x 24 hours.
There are several options for the software to use. I tested some of them:


This small UPnP and DLNA capable server is part of the Raspbian "wheezy" distribution. You may install it with the standard procedure

sudo apt-get install minidlna

and edit the file /etc/minidlna.conf according to your needs.
The server is working quite good with UPnP capable software and devices like the SoundBridge, but my experience was not the best. In particular the Search function is not working.

Firefly (daapd)

The firefly media server provides a much better integration with the SoundBridge. Raspbian even contains the package forked-daapd which contains a fork of the firefly server. But I didn't managed this one to function at the Raspberry Pi.

So I went back to good old mt-daapd which is another fork of Firefly. Unfortunately it is no longer part of the actual Debian or Raspbian repositories. But the source package is still available at the Ubuntu archive. I built a Debian package for Raspbian "wheezy" from it: 

Download mt-daapd_0.9~r1696.dfsg-15build1_armhf.deb

After download you may install it with:

sudo dpkg -i mt-daapd_0.9~r1696.dfsg-15build1_armhf.deb
sudo apt-get install -f

Update 01/2017:
I build a package for Raspbian/Debian "jessie" and like to share it with you:

Download mt-daapd_0.9~r1696.dfsg-15build1.1_jessie_armhf.deb 

Install it with:

sudo dpkg -i mt-daapd_0.9~r1696.dfsg-15build1.1_jessie_armhf.deb
sudo apt-get install -f

The first dpkg command will probably complain about unresolved dependencies, but the second apt-get fixes this.
You should edit /etc/mt-daapd.conf to adapt the path to the music collection and restart mt-daapd with
sudo /etc/init.d/mt-daapd restart

This solution is working very well together with the SoundBridge. Actually I'm running both mt-daapd and minidlna in parallel at the same Raspberry Pi. The first one is serving two SoundBridges, while minidlna allows to access the music collection at a Samsung TV.

Saturday, March 01, 2014

Release 4.8 with detailed song information

This new version brings a long-wanted feature: Detailed song information (artist and album) in the browse and search screens. This works if connected to a local music server (UPnP, Firefly, ...) but not with internet radio.

Sunday, January 05, 2014

Release 4.7: Extended genre browsing, Configure default touch action

Release 4.7 adds two new features to your Remote for SoundBridge app:
  • When browsing by genre, the results of the genre were simply songs. For example, if you browse to "Blues", then all blues songs appear there. Now it is possible that, after selecting a genre, you'd see all of the artists, and after selecting an artist, then all of the albums, and then all of the songs. You may enable this feature at Preferences - Browsing - Artists of genre.
  • You may now configure the default action that happens when (short) touching an item of the song list. There has been always a context menu that offers the different actions on a song (like Queue and play, Append to queue, ...), but in some situations (party, ...) it might be difficult to open the context menu by long touching the item. To ease this handling I added the setting Song touch behaviour to configure the action that happens on short touching an item of the song list:

  • Queue and play: Replaces the current song queue with the results of the most recent song browse or search, and then it
    begins playback of the list starting at the selected song.
  • Queue and play one: Replaces the current song queue with the selected song, and begins playing that song.
  • Insert into queue: Inserts the selected song into the song queue after the song that is actually playing.
  • Append to queue: Appends the selected song to the end of the song queue.
  • Append all to queue: Appends all songs in the current song result list to the song queue.