Vintage bits on cassettes

I had contemplated using Compact Cassettes as a cheap, fun and hipstery media for small yet valuable backups. Perhaps it would even be possible using only an ordinary tape recorder. So finally I thought: How hard could it be? Let's give it a try!

Searching led me to a Wikipedia article about the Commodore Datassette. It was a tape format used by the Commodore personal computer. It used two different frequencies to encode ones and zeros, and they were read back by simply detecting zero-crossings. I exploited this invention and modified it a bit by adding start and stop bits and a 50-byte lead-in tone:

The resulting program, ctape, is on GitHub. Please note that this is an art project and unfortunately I can't provide technical support for it, but if you get it working, then great! You will run into some interesting problems. Note: Unfortunately I will not have the time to assist you.

Compact Cassettes sell for 20 cents at flea markets. They come in many colors and capacities. Using the data rate I chose about 1.2 MB fits on a single cassette.

Video proof below!

By the way, I only used text for demonstrational effect. All kinds of data can be saved onto the cassette. A nice way to do this is to use .tar files (which, incindentally, stands for "Tape Archive"!).

Edit: Here's some PNG data:

Update 2/2013: I've improved the modulation scheme since. I added a slight inter-channel delay that alleviates short losses of signal on the tape. There's also a calibration header to account for polarity or stereo reversal.