I love my music playback setup that consists of a couple of Squeezebox V3 players in different rooms so I can listen to music in lossless format wherever I am in the apartment. With the iPeng HD app on my iPad, I have a nice interface for controlling the players with album art and other nice features. But the best part is that I can playback high resolution audio directly on my iPad using the Camera Kit USB adapter and an HRT HeadStreamer DAC portable USB headphone amplifier. But I wanted a small, cheap and eco-friendly server for hosting my music files and wondered if I could use the Raspberry Pi. And here’s my findings.
Read about my Raspberry Pi Car Audio System using Squeezebox here
Installation
First off, I did a search on how to do the installation of he Squeezebox server, Logitech Media Server.
There’s a preconfigured image ready to download called SqueezePlug with the Squeezbox Server (now known as Logitech Media Server) and a lot of other server options for serving media like pictures, films etc.
I used this setup to install just the server because I only needed the Squeezebox Server function with just a Samba connection for uploading to the USB disk connected to the Raspberry Pi. But the easy way is probably to just use the preconfigured image from SqueezePlug.
UPDATE After installing another setup I tried SqueezePlug and it was much easier! It helps with setting up a static ip-number and is much easier to configure mounting of a external USB disk. So this is the way to go if you’re thinking about doing this.
Performance and usability
The scanning of my library of 1200 CDs in lossless FLAC format took about 40 minutes. This is a total scan, so the next scan will go much faster when looking for changed or added music. By setting the scan timer you can have this done late at night.
The web interface is usable, but can seem a bit slow at times. That was something I experienced even when using a fast server, so that point is moot for me. But using the Squeezebox V3 player to navigate music really impressed me. No noticeable lag. Very usable. Using the Squeezebox App for iPad called iPeng HD that is a great program for navigating your music collection and selecting songs or album for playback it’s downright quick. But you can even playback the music directly on your iPad/iPhone.
Sample rate problems
Due to the fact that version 3 of the Squeezebox player only supports 24-bit, 48Khz playback, unlike the Squeezebox Touch, the server has to downsample high res files to one that is supported by the device. It uses a conversion tool called sox to do the downsample. Problem is, the Raspberry Pi doesn’t have the horsepower to handle the conversion, even when over clocking. This is not a problem for standard CDs which use 16-bit 44.1Khz, but if you bought a lot of music from places like HDTracks in high resolution there’s a problem. I tried to stream high res audio (both 88Khz and 96Khz) without a problem to an iPad connected to an external DAC via the Camera Connection Kit’s USB connector. As long as the DAC supports the sample rate, the Raspberry Pi can handle it.
With the newer versions of the Squeezebox player, like the Squeezebox Touch which supports higher sample rates, this shouldn’t be a problem, it’s only when resampling needs to be done that there’s a problem.
Multiple clients
I can stream one 24-bit, 88.2Khz song to my iPad, play a standard CD quality song to my laptop with SqueezePlay and at the same time playing another song on the Squeezebox V3 without a problem. I’m sure it could handle more. Pretty impressive!
For this setup, I just wrote a Python script to downsample all high resolution music to 24-bit, 48Khz, something my Squeezebox V3 was able to handle and the high quality audio playback was solved. This wouldn’t be needed for owners of devices that supports the sample rate of your music. I’ve put up the downsample script on github if you want to downsample your library. The script does downsample the original files to the sample rate you set, so make sure to have a backup before running it.
Low cost, extremely small Eco friendly Squeezebox server
With a cheap Raspberry Pi server and an USB disk, you have a music server that draws just a couple of watts of power. This is a great and cheap solution to be able to share music around the house in amazing quality. And with it’s small footprint and almost no heat being generated, it’s easy to just hide away from prying fingers.
Logitech and stupidity
Logitech really has destroyed a great product by discontinuing devices. It has a strong user group and a lot of development going on. But after they took over, everything got very confusing for the consumer, and now the product line seems to be dying. Thankfully the original developers had the server side of the software Open Sourced, so even if Logitech kills the product line, hopefully they will live on. I’m thinking of getting an extra Squeezebox Touch just because of the playback quality and the hacking possibilities with these products.
Still, it’s a shame. The second I got the news that Logitech bought the Squeezebox company, I knew they would destroy this product.
JP Norair says
The BeagleBone platform has a lot more CPU power than the RasPi does, especially if you can maximize usage of the NEON unit (the code is open sourced, so it is certainly an option). Just a note, in case you want to take the project to the next level.
Jack Zimmermann says
Sounds interesting, I’ll check it out. But I’m still amazed that a small linux computer costing $25 and draws almost no power is able to handle server duty. It’s now permanently installed as a music server at my girlfriends house.
MoFoQ says
or the cubieboard which has a 1GHz ARM CPU, SATA port, and a Mali-400 GPU.
Swiftpint says
Are you using a usb hub, or just plugging the hd straight into the piss usb?
And is this wireless or connected to your router with lan cable?
Jack Zimmermann says
The HD is plugged directly to the Rasp. It’s a powered 3.5″ USB disk. And it’s connected with an Ethernet cable.