Subsonic – Music Streaming for your Mobile Device
After Apple’s keynote on iOS 5 I got really excited about the prospect of cloud streaming music. Though later I was disappointed to learn that the music wouldn’t be streamed to my device, I would have to download it first. After the iOS 5 keynote several tech blogs posted on how to get iOS 5 features now, one of which was subsonic. I had tried music streaming before, (homepipe, Google Music, and pogoplug ) and have had subpar experiences with those different services. Homepipe required me to leave my main PC on to use the service and the music player wasn’t that great. Google Music, at the time, did not have a good way to stream music to my phone. Pogoplug’s software both for the desktop and iOS was horrific. So I researched subsonic and discovered I could run it on the pogoplug device. This required a hack that turned my useless pogoplug into an always on linux mini-computer that can run a file server, music server (subsonic), bit torrent client, DLNA/UPnP server and several other useful things.
Subsonic is a free, web-based media streamer, providing ubiquitous access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.
Subsonic is designed to handle very large music collections (hundreds of gigabytes). Although optimized for MP3 streaming, it works for any audio or video format that can stream over HTTP, for instance AAC and OGG. By using transcoder plug-ins, Subsonic supports on-the-fly conversion and streaming of virtually any audio format, including WMA, FLAC, APE, Musepack, WavPack and Shorten.
If you have constrained bandwidth, you may set an upper limit for the bitrate of the music streams. Subsonic will then automatically resample the music to a suitable bitrate.
In addition to being a streaming media server, Subsonic works very well as a local jukebox. The intuitive web interface, as well as search and index facilities, are optimized for efficient browsing through large media libraries. Subsonic also comes with an integrated Podcast receiver, with many of the same features as you find in iTunes.
Based on Java technology, Subsonic runs on most platforms, including Windows, Mac, Linux and Unix variants.
Setting up the server was only half of it. In order for this setup to work I needed a good app on my phone to play the music. Luckily I found iSub. The developers put a lot of thought into creating this app. Navigating folders to find music is intuitive. It allows the user to create playlists on the fly (a feature the iPod app lacks). It has an option to set the bit rate of the stream so you can conserve data. It has an offline cache mode that is adjustable up to how much space is left on your device. And several more features that I haven’t even tried.
If you are like me and don’t want your main PC on all the time you can purchase a pogoplug device and hack it. If purchasing one is not an option the server runs great on all computer platforms. The iSUB app is $4.99 and there are Android and Windows Phone 7 apps. The subsonic server requires a one-time donation as low as 10 Euros ($13.49) to stream to mobile devices. It was worth it to me, I can have my entire music collection anywhere I go.
Setting up the subsonic server on the pogoplug device was not straight forward but I did it with no previous Linux experience. If enough people are interested I could do a follow up post on how to install subsonic on an Arch Linux ARM pogoplug device.
Thinking about getting a dreamplug PC and using it for subsonic…would love to hear how you got it working on ARM!
Looks like dreamplug PC runs Ubuntu. You shouldn’t have any problems getting subsonic to work with it. It was a bit of a challenge on Arch Linux Arm because there wasn’t a specific package built for it and the default java application was a bit of a resource hog. I had to install an ARM based java version from Oracle’s website and change some of the dependencies to take a load off of the processor and RAM and modify a package from the non standard package installer. I did all this without any prior Linux experience. Like everyone says though Linux support is great on the internet. Archlinuxarm.org has a lot of Plug PC info.