I’ve been playing with SlimServer, the software developed to serve music to the Slim Devices Squeezebox, and I’m impressed. Don’t have a Squeezebox? Read on, because you don’t need one to benefit from SlimServer. In fact, I’ve not yet tried the Squeezebox itself, only the software. SlimServer is written in Perl, and is both free and open source. There are installers for Windows, Mac OS X and Linux.
Here’s how it works. First, you install SlimServer on a PC. It does not need to be particularly powerful, but it does need plenty of disk space, depending of course on how much music you want to store and what format it is in. If you are installing on Linux, you may have the choice between a package specific to your distribution, or one that you download from the Slim Devices site. I installed on Ubuntu using the Debian packages direct from Slim Devices; instructions are here.
Once installed, you can open a web browser anywhere on the network and navigate to http://yourserver:9000, where “yourserver” is the name or IP number of the machine where SlimServer is running. Select Server Settings, and check or amend where SlimServer looks for music files. You can also change the look and feel of the Web UI, using the Interface settings. I use the skin called Fishbone.
Next, copy your music files to the SlimServer. What format should they be in? Most of the common ones will work, provided they are not DRM-protected, but there can be complications depending on what operating system you use for the server, and which player you use. There are two obvious choices: MP3 if you want to use lossy compression to save space, or FLAC if you prefer a lossless format. An excellent feature of SlimServer is that it can transcode on the fly. This means you can store music as FLAC, but play it as streaming MP3, which is better supported.
Personally I like to store music in a lossless format. Even if you think the best lossy-compressed files sound equally good, the lossless format is more future-proof. Let’s say at some future date you fall for a system that requires AAC, or WMA. All you need is a batch file to convert your lossless files, and you are done. By contrast, converting from one lossy format to another quickly degrades the sound quality.
Playing the music
Now you need one or more players on your network. On PCs and Macs you can use Softsqueeze, a Java player with native support for FLAC, MP3, WAV and AIFF. When I first tried Softsqueeze I thought it was fiddly to use, because searching for a song takes ages if you use its virtual remote. That’s because I misunderstood how it works. The best way to control the player is through the SlimServer Web UI. There, you can easily perform searches, scroll through results, and create playlists. Through SlimServer, you can select music, play, pause, skip, and control volume for the player.
What if you have more than one player? No problem, just use SlimServer’s drop-down list to select the player you want to control. SlimServer will happily serve different music to different players simultaneously.
Now imagine you have a real Squeezebox installed in your blissfully computer-free living room. Are you stuck with the fiddly remote? Not necessarily. If you have a wireless device with a web browser, such as a wireless PDA, or the end-of-line Nokia 770 Internet Tablet that is now being sold off cheaply, you can use it as a smart remote. This is where the web UI skins are a great advantage – there is a skin for handhelds, and another specifically for the Nokia 770. Another twist is that you can actually play music directly on the Nokia 770, by using the SlimServer to stream MP3.
Developer? SlimServer is open source and here’s the code. Check out the TCP protocol it uses to communicate with players. At a higher level, you can use one of several APIs. Just install SlimServer, then follow the link to Help – Technical Information. There’s a Web API, a command-line API, and a plug-in API – plenty of scope for customizing SlimServer.
Integration with other media software
This is where it gets a bit ugly. What can you do if you need iTunes for your iPod and iTunes Music store downloads, or if you use Windows Media Center? Can these integrate with SlimServer?
First, buying that DRM-protected music was really a mistake. SlimServer cannot play purchased iTunes music (unless it was one of the few DRM-free tracks), or WMA DRM-protected files.
If that’s not a problem, there are several possibilities. You can point iTunes or Windows Media Center (or Player) at the same shared directory used by SlimServer. This works well for MP3, but FLAC is problematic – iTunes will not play them, WMP needs a plug-in. However, you can use iTunes to manage your SlimServer library. And both iTunes and WMP will play SlimServer tracks streamed to MP3.
Unrealised potential
There is an active SlimServer community, but I think there is unrealised potential here. I’d like to see some more software players, and/or better support for SlimServer in existing music players.
Simply, any device on the network that can play music should be able to play it from your music server. The industry giants seem slow to implement this rather obvious feature. For example, I’ve got Windows Media Center, and a brand new Windows Mobile 6.0 device with a fast wireless connection. Can it play music stored in Media Center? Sorry, no, not without third-party assistance. I can’t even use it as a smart remote for Media Center, at least not without custom coding. SlimServer may be the answer.