My digital music server

This was originally posted in response to a post on MetaFilter titled “Oh dear, its the audio media server question again!

I love music. Over the years, I’ve collected around 1600 CDs. The following is a brief look into how I’m currently managing all that music.

I built my own NAS with an old Motherboard/CPU/RAM/Boot Drive that I had laying around (I bought a new case and 5 250GB hard drives which I’m running in RAID-5 for about a Terabyte of usable space) – it’s on all the time, but it’s headless and sits in the back of a closet – I do all management of the box remotely.

Openfiler is my NAS software of choice. It makes management of the server pretty painless (aside from having to build software on a separate VM on my main machine as the install is very stripped down and doesn’t include a compiler).

SqueezeCenter runs on the same box and feeds audio to my Squeezebox (though if I were buying now, I’d go with the Squeezebox Duet – it’s cheaper to add additional units and the remote/controller is much nicer). Not only does this allow me to listen to music in my living room (via 802.11G), away from the PC (which is in a closet in another room), but also remotely using Softsqueeze (a Java emulation of the Squeezebox hardware, which is included with SqueezeCenter).

As for how I got there, I ripped my (now 1600) CD collection into FLAC format on my PC using EAC. Altogether, my lossless (FLAC) rips take up about 560GB. It took me about a year (there were a few periods of a month or two at a time that went by with out me ripping a CD and other times I was ripping several dozen a day). It was painful, but now that it’s done, I’m glad I saved the $1500 or so that it would have cost me to have someone else do it (your time/$ threshold may be different from mine, in which case you may want to investigate a CD ripping service).

Regardless of your decision to DIY or have a company do it for you, I would STRONGLY suggest that you rip to a lossless format, and would suggest that you go with one that’s open source (so that you can easily transcode to a different format – one of the key reasons for using a lossless format). While you may not be able to hear the difference between a high bit-rate and the original, you won’t want to re-rip if you need the files in a different format and you won’t want to transcode from one lossy format to another – you probably will be able to hear artifacts if you do that.

Once you have your music ripped in a lossless format, make sure that you back it up. Keep in mind that RAID isn’t backup – if something goes horribly wrong with your controller or your PSU spikes and takes out a few drives, you’re back to square one and will have to re-rip (which again, is a long or costly undertaking). I have a couple of external drives that I have the data on my NAS backed up onto.

As happy as I am with my solution, I’m still not finished. My primary pain point at the moment is that I don’t have an easy way to get MP3s from my FLACs. My current solution is to use foobar2000 and transcode as needed. This is somewhat clunky as it involves me booting up my PC and involves some manual work selecting what I want, moving files around, etc. I’ve looked into MP3FS, but because of the way that I ripped my CDs (1 FLAC per CD, with a CUE sheet to denote the track positions and hold the meta-data), I can’t get an MP3 per track (which is normally what I want) without manual intervention. I’ll probably end up extending MP3FS myself or just re-encoding my FLAC files to be one file per track.

I would consider just going through and transcoding everything and keeping the files around on my drive, but I’m already running out of space. As it is, I need to move to bigger drives. As it is, I have less than 40GB free – not nearly enough room to store 1600 CDs worth of content in decent bitrate MP3s. There’s also the problem of ongoing maintenance when I rip new CDs. I’d rather just rip to one format and have the system transcode on the fly. I’ve got some more ideas on that, but I’ll save them for another post.