About a year and a half ago, the price of Hard Drives (and their size) suddenly made it possible for us to imagine having most of our content (music, DVDs) archived on Hard Drives and easily accessible across devices. As it turns out, we are still in the process of importing some of our CDs and DVDs on digital media and tagging all of that information. What a job that is…
At the same time, we are constantly on the lookout for solutions to enjoy our music collection (and movies collection) across devices, wherever we are.
A lot of recent events indicate that we are not alone in this quest and that it will only get better and better in time.
Recently, of course, Apple introduced the Remote App for iPhone/iPad, AirPlay followed by iTunes Match… In the Unix World, a lot of things already exist as well : Pulse to stream audio across devices and projects like Music Player Daemon (which is nothing but new). Media Center are also making the news frequently (Windows Media Center, Boxee, Plex) and commercial solutions (Music streamingm VoD) like Spotify, Netflix and Hulu are slowly forcing DVD and Blu-Ray Discs pricing down.
Dematerialized solutions are the way of the future but several problem remain :
- how to organize one’s library (how to merge dematerialized bought content and ripped content from CDs and in our case even vinyls that we already had)
- how to make this content accessible across devices (especially in a multi-platform environment)
- how to stream this content on various speakers in the same house
- how to remotely control what we play in each room
- finally, can we somehow enjoy our content even on the move
- (I don’t even mention syncing across devices, the size of our collection makes that totally impossible, the content has to stay in one place)
- (other issues include the ever needed backup management)
We are currently waiting to test some of these solutions (we do not have an AirPlay receiver for example though that will soon arrive).
For now, I’ll focus on one part of our solution : Music Player Daemon.
Music Player Daemon (definition) is a server side music player. It allows to queue and play music files (in various formats) accessible to it via the file system. MPD can be controlled remotely using a wide range of clients (desktop, mobile or web based).
An example ? We have several computers in the house. One of them is the “Media Center”. It has the Music Hard Drive hooked to it and is (mostly) always on. Because it is the “Media Center” it is the computer that has the good sound system attached (whether that means a 5.1 speaker set or a connection to a Home Amplifier System, whatever). Basically, this is the computer that should play music. Why would you listen to a song using your laptop speakers when you can play the same song on your great expensive speaker set ?
So what you do, if you are in your house and connected to your home network, is remotely control what song your “Media Center” computer should play. Using a MPD client, you can browse your Music Library (and your playlists) and just play any of them on your great sound system. The good news is that you can do this using Windows, Mac, Linux, iPhone, iPad and even AppleTV.
Of course, this only answers some of the problems mentioned above (there will more than likely be several more articles on related subjects in this blog in the future). MPD does not offer a solution to the online streaming (at least not directly) not does it solve the problem of playing music acrosse the house on various speaker sets (it only plays on the machine it is installed on). But that’s already a first step to our goal : an ubiquitous access to our Music and Movies Collections.
Some Technical Notes
Setting up the server
aptitude install mpd
#what else were you expecting?
Mac OS X
sudo port install mpd
#also works with fink and homebrew
Configure mpd by editing /etc/mpd.conf or /opt/local/etc/mpd.conf and set the path to your logs, music library, etc.
Start the server (either manually with mpd) or automatically with an /etc/init.d type script
The MPD Community Wiki (new to me) reveals that the project has been pretty active lately which is excellent news.
Now that I’ve described how to setup your MPD server, you will need a client to play your music from anywhere. I switched to Mac OS X about a year ago and this is now my primary system. We also run some Windows machine. I use Debian as well but most of the time, that’s only as a server (ie no graphical interface there)
QMPDClient: our favorite client on Windows is QMPDClient. The client suit us best because it didn’t choke on the size of our collection and it handles both file system and tag views.
QMPDClient has been extended with another project QMPDClient-ne which should also run on Windows though I haven’t tested it on this platform.
MPD being a project that came from the Linux world, most clients are aiming for this platform.
Currently, I have tested:
QMPDclient (so that Derrick and I can run the same software on both systems)
QMPDClient also has a package available via apt/aptitude for Debian.
QMPDclient-ne in order to see what enhancements have been added like the possibility to pull up lyrics.
QtMPC, another Qt4 based client.
Mac OS X:
Theremin is the most famous Mac OS MPD client as it is written in Cocoa and therefore has the Mac aqua style. Another plus, it has a growl connector.
About a year ago, I had tested Kea2 which was in an alpha stage. It seems to have disappeared.
iPhone / iPad
Where to go from there ?
There is a lot more to do on this Music system of ours. We are still looking for a great Music Client (iTunes doesn’t cut it for us at all, our collection is too big for the sorting and management offered) but we want to enjoy solutions like AirPlay. We also hope to see more AirPlay (or similar) received come out in order, one day, to have speakers in every room and a way to play music where we want. Stay tuned…