Storing Digital Data on an Audio Cassette

The cassette recorder hooked up to my computer's front audio ports.

A few days ago my dad bought a simple audio cassette player/recorder to make a digital copy of an old tape recording he had of Pioneer 10 leaving the solar system. I had the opportunity to try something I always wanted to try: Storing data on an audio cassette. After some researching, I decided to use RTTY (Radioteletype). I found an awesome program called Digital Master 780, which is part of a freeware Ham Radio software package, Ham Radio Deluxe.

To connect the tape player, I needed to use two 3.5mm TRS cables, one for my computer to hear the cassette player’s output, and another one to send audio to the player’s audio input for recording.

My DIY 3.5mm TRS cable from two earphone cables.

Since I only own one cable, I made a second one by using two old earphone wires, wire strippers, two alligator clips, and tape. It looks messy, but it gets the job done!

For reading and writing digital data to the tape, I tried out several audio formats that the program could use. Due to the low audio quality that the tape can store, I was only able to get away with using RTTY. After further experimentation, I decided that these are the best settings I can use:

    100 Baud, 170 Hz shift, 7 bits (ASCII), 2 stop bits.

Success! Here’s a video of me writing two paragraphs of “Lorem ispum” text to the tape:

And here's a video of me reading the data back:

And here’s the audio if want to know what it sounds like, or even decode it yourself:

Although slow, I just had to try storing a file on it. I took a low-quality 70-70 pixel .gif image and used this online tool to convert it into copyable Base64-encoded text. It took about ten minutes for it to write the data to the cassette, and it used up half of the tape! After a ten-minute reading of the tape, I was able to use the same website to convert the Base64-encoded file back into its original form. It worked!

So what can I conclude about storing data on an audio cassette? It’s possible, but it’s extremely slow and space-consuming. If anything, it’s only good for storing text, as even the smallest files will consume half of your tape if you’re using Base64-encoding and RTTY-100.

What I did is not new, by the way. Some of the first desktops and early microcomputers used cassettes for data storage. The difference, however, is that they did not use RTTY (which was designed for over-the-air text communications), and instead used FSK (Frequency-shift Keying). As noted on Wikipedia, they could transfer data as a rate up to 2000 bits/s, which results in a 660Kb capacity for a 90-minute tape.

n 2011, storing data on audio cassettes is pointless and impractical. However, if you happen to have a tape and a tape recorder, it’s pretty fun to do it anyway.