Wherever you go, there you are.

Ripping CDs the nezroy Way


FullTone OCD ampI would never claim I'm OCD; like schizophrenia, it is a disorder far too often misunderstood and trivialized to its pop-culture interpretation, much to the disservice of its sufferers. However, there's no question that I have my own fair share of bizarre quirks and compulsions. For instance, only recently did I stop "tracking" the number of strokes while brushing my teeth (10 per zone, and 30 zones in my mouth... I could draw a diagram, if you're interested). Or the fact that when I listen to music on a player that shows numerical volume levels, I can only stand to listen at volumes that are prime numbers. I like to think of it as a perfectionist issue; ask my wife, though, and I suspect these traits might rather be described as ridiculous, weird, annoying, or just plain dumb.

The most common way this idiosyncrasy of mine tends to manifest is in the way I approach any discrete task. I will start with a firm set of idealistic requirements that are often impractical or downright trivial, yet serve to completely stall any progress for lack of viable options or willingness to settle or compromise on my part. And even if I don't start out with any pre-built roadblocks, by the time I'm finished with my initial research phase, I'll probably have managed to acquire quite a few lofty and barely informed hang-ups. I suppose the fact that I start most tasks with a "research phase" is odd-enough. Am I supposed to be using 10d box nails or common nails? Would a 12d nail be better? Maybe it'll get put outside in the rain for 10 minutes one day... shouldn't I really be using galvanized nails for this project? Do we have any 12d common galvanized nails? No?! Sorry honey, I can't fix this right now, it would be WRONG! Honey, put down the hammer! You don't even KNOW what kind of nail that is, do you?!

So as you might imagine, something as littered with perfectionist pitfalls as ripping my music collection to disk can be practically paralyzing. It's a task I've been meaning to get to for quite a while; actually, ever since our CDs were stolen from the car 7 years ago. And yet any time I've started working on it, the lack of a solution that meets my requirements has prevented me from making useful progress. If it couldn't be done "the nezroy way", then dammit, it wasn't getting done at all.

In this case, I didn't actually think my requirements were *that* unreasonable:

  • the ripped format should be loss-less, because I'm not doing all this work just to get an imperfect audio copy
  • the ripped format should be an open standard, because... well, really there's no particularly justifiable reason for this one, leave me alone
  • the ripped format should be natively playable on at least one decent digital audio player because I am NOT transcoding all this crap again
  • the ripped format should, at minimum, be playable on windows media player with a trivial amount of work
  • the process must produce a "pretty" library with good tagging
  • the process must be simple enough that I can remember how to do it the same way next time I buy a CD; which means I'm not going to put up with a command-line, batch file, or scripting solution for doing this... nothing personal, I love Linux, bash, and what have you, but come on, it's 2010 now and I've become old and irritable
  • ideally, the music library it generates should be easy to use, for some nebulous definition of easy

Given that list, it really breaks down into three independent variables to resolve. The format, the process, and the player. Unfortunately, every time I've looked into this in the past, the output of "the format" and the input of "the process" never matched up. Which is to say, none of the formats I wanted to use had decent tools, and handling that impedance mismatch made the process too difficult to easily reproduce. Rather than compromise on format or do some extra work with the tools, I mostly just let our CD collection gather dust (and scratches). I am thrilled to report, however, that this great new decade has brought with it a process that finally meets all of my requirements. Yay!

Problem the first; the format. Picking the format has always been relatively easy for me, if only because there aren't many options that even come close to my criteria. Loss-less restricts it to something like WAV, WMA, WavPack, FLAC, or any number of other obscure and irrelevant choices. WAV is simply too large and inefficient, and doesn't have decent standardized tagging support to boot. WMA loss-less has decent compression and good tagging, but it's not truly open, though it was "standard enough" that I was willing to consider it. WavPack is fully open and has good compression, but is not widely supported in comparison. Lastly, FLAC has good compression, good tagging, is completely open, and has a lot of support.

Xiph.org logoIn the end I've always come back to FLAC for this, for a number of nuanced reasons. As an open project it's part of the Xiph Foundation, the backers of Ogg Vorbis and a whole suite of open multimedia formats. This provides considerable long-term viability in comparison to some other options. As a format, FLAC achieves its compression ratios without cutting corners, which is also a big plus compared to some other formats. In particular, it decompresses extremely fast, which translates directly to battery life when it comes to portable devices, and its streaming and seeking features are unmatched by other loss-less formats. Lastly, it's trivial to add Windows Media Player support for FLAC via the DirectShow filters provided by Xiph.

Problem the second; the process. This, of course, has always been the real stickler. My unwillingness to compromise on the format has meant that finding tools that would let me rip and tag to a FLAC library has historically been very difficult. Even grudgingly considering WMA didn't yield a lot of good options either. Recently, however, I was finally able to achieve my ideal FLAC ripping process with a collection of 3 tools. None of them are particularly new, but apparently I had just never managed to get them all together in the same room before:

The ripper of choice for many folks seems to be Exact Audio Copy (though CDex is also a popular choice). EAC transcodes to FLAC (among other formats), supports freedb metadata, and does a good job of producing pretty music library files with good tagging. It's also highly configurable, which means you can accommodate just about any tagging/naming convention you care to think up.

That said, the real niche of EAC is that it specializes in producing digitally exact copies of the CD. This can make it much slower than other rippers, but that is the trade-off for knowing that your rip is clean and glitch-free. The issues surrounding this are surprisingly complex, but suffice to say that even though a CD contains pure digital data, a CD player reading an audio CD tends to be very imprecise. Highly specialized glitch- and gap-fixing hardware in consumer CD players minimizes the audio impact of scratches and missed data, but these will show up glaringly in your digital audio library if left unhandled. It's actually quite time-consuming to get a digitally exact copy of a scratched CD, even though it might play and sound just find on a consumer player. Other ripping software tends to simply ignore the issue entirely, but EAC addresses it head-on with a host of features that guarantee accurate rips.

screenshot of foobar2000 interface

The other heavy-hitter in my toolset is foobar2000, whose primary function is actually as a music player. However, its tagging and library management features are phenomenal. Anything that EAC misses in tagging can easily be cleaned up with foobar2000. You can view and organize your library based not just on folder structure but also extracted tagging metadata, and you can apply precise tag tweaks to entire swaths of your library based on searches and filters of that metadata. You can also rename and move the file structure around en-masse based on tagging data as well, and any number of other similar tasks.

As an added bonus, I've actually replaced the use of Windows Media Player with foobar2000 for my default music player. It's just so easy to use and does such a good job of managing and exposing my music library that it became a no-brainer.

screenshot of Album Art Downloader interface

The last tool I use is really a non-essential item, but it provides that last little bit of polish. It's the Album Art Downloader, which searches a ton of different online sources to allow you to pick and choose front and back cover art, insert and artist art, etc. for the CDs you've ripped. It's not really a necessary part of my library or ripping process, but it's definitely a "nice to have" feature that I find to be worth using. It's managed to uncover album art for some of the most esoteric and oddball CDs I have, which makes it a great tool in my book.

Problem the third; the digital audio player. Having never gotten this far before due to the issues with process, I wasn't sure what to expect. However, it turns out that there are so many digital audio players on the market these days that it's not hard to find something that meets all of my obscure requirements. And FLAC actually has a decent level of hardware support, making the choices plentiful. Since the player is primarily for my wife, it's really her needs that came into play here. She likes her devices tiny and simple, and she hates the very concept of iTunes and iPods with a passion. Her preferred UI is a play button, and her preferred choice of library management is a USB drive or memory card and good 'ole Windows file copy. She also listens to the radio a lot, which is an esoteric but, happily, accomodatable request.

Clip Plus 4 GB MP3 Player (Blue)In the end we decided on the SanDisk Sansa Clip+, which is a cute little player that has exactly those features mentioned. Native FLAC support, an FM radio, a tiny screen and easy to use interface, and it connects to her PC via USB and appears as a simple USB drive to drop music onto. As an added bonus, it also has a voice recoding mode which turned out to be a great perk. With 4GB of internal memory for CDN$50, it was hard to beat. And it has a MicroSD slot which can handle another 16GB.

So there you have it; everything you need to know to rip CDs the "nezroy way"! Now if you'll excuse me, I have a lot of disc swapping to attend to.