Bulk CD Ripping

To make a long story short: I like listening to full albums, I won't concede my privacy for a pithy "license" to listen, and I want lossless audio. Every few weekends, I'll go to a thrift store and pick up some (up to twenty?) new CDs. Sometimes, I get random assortments, and listen just to see if it could be something interesting. Therefore, my CD collection is large, and I have a large number of CDs to rip regularly. I accomplish this with a repurposed Kodak Photo CD Burner, and a script (GNU/Linux, FreeBSD) on my workstation.

I found the robot on eBay, but obviously it didn't come with any instructions, say, "how would one go about actuating the servos?" I did some sleuthing, and found some resources. First, somebody else was trying to sell this, about a year after I found it. This gave me some information, like, "the unit I bought didn't come with the CD carriage." That page also linked to drivers, even though they were only for Windows. It also menitioned it was based on another company's product that I could get a little more information about, and higher-resolution images of the spindle. This way, I was able to deduce what shape it needed to have to load media.

Using my calipers and a 2006 copy of Autodesk Inventor, I drafted a 3D model of the top spindle piece. My friend Ryan extrusion-printed it in a lovely blue hue. It's about 0.25" thick and solid-filled, so plenty sturdy. I measured the inside of a CD to be 15mm, so I found a dimension-matching acrylic rod on eBay. With hand tools in my dad's garage, I was able to file it down to the appropriate shape, and drill/tap some screws to hold it together. The end of the shaft articulates, one way to align it with the center and allow loading CDs, and another way to hold the CDs on, allowing only one to become pushed forwards, and drop to the tray below.

The software side of things was simple. It has a USB port in the back, and when plugged in appears as a USB hub with two devices: the CD-RW drive, and the serial controller. This forum post describes how to see debug information, and commands are simply single letters sent via serial. Using that, a script (see link above) is simple to craft.


Go home