Encoding Data for Audio Tape?
Kris_J asks: "I've recently purchased and installed an audio cassette deck for my PC. It makes recording to and from tape particularly painless, but I'm looking for some funky other stuff to try. Along the lines of my new old SuperDisk FD32MB that can store 32MB on a normal 1.44MB floppy, and my Cuttle Cart that can load Atari 2600 games from encoded audio I'm wondering if there's any program that can encode a file as audio that can survive being recorded to audio tape or compressed as an MP3. I'll worry about 'why' later."
MP3 is a lossy compression. If lossy recovery is OK with you, fine. For storage to tape - maybe cwpcm the file after uuencoding it. I can't remember if there's a morse code character for each character used by uuencode.
on a more practical line - send it as straight ascii, using the ham radio interfaces in Linux, through the sound card. decode that with the same interfaces and you're done. Those tools are used to loss, but I'd expect 100% copy on and off tape.
On the "Fit 32 megs on a floppy" link to an old Slashdot story, I ran across this 'first post' comment:
"The next version of Windows should fit on 5000 of these..."
Just thought it was amusing that Windows XP is distributed on one CD, RedHat is distributed with 5.
(Sorry, NFI how to answer this guy's question...)
"Derp de derp."
of how i used to curse, as a kid, on my crappy cassettedeck not wanting to load my programs... Diskdrives too expensive, not to mention harddisks... And you want to do that VOLUNTARILY? Geez...
Where did you get it? It looks like it's actually controlled over a serial port - is that right? Seems like it would be pretty easy, if that's true, to come up with a driver for it - you wouldn't even need a device driver, but just a control library that knows how to talk to the serial port. Are you using it from Windows or from Linux? If Windows, wouldn't getting it running on Linux be a fun hack job? :')
This would be handy for me because it'd provide a way to master tapes for duplication without requiring me to put my hands on the machine all the time to cue up master tapes.
Anyway, stop fooling with your silly tape writing project and get going on telling us how this thing works! You can always write the tape using by running a Z80 emulator and running Tarbell BASIC on it, can't you?
And then it turns out that's actually what he wants to do!
Suggestion -- here's your opportunity to learn a bit about file I/O. You know how to write to and read from the device? Hack at it a bit and write your own toy utility. That'll benefit you far more than finding something on Sourceforge and playing with it for 5 minutes.
What I'm listening to now on Pandora...
If you really wanted to be geeky, you could encode the mp3s so it actually stores the mp3s themselves on the tape, then when you play the tape back it reads the mp3s and plays the music.
Not necessarily. You lose some information when encoding to MP3, but that information you lose may not be important. Take an MP3 compressed so much that you lose 90% of the information, and you will still be able to understand human speech in the recording.
Obviously binary data and human speech are incredibly different - heck, one is digital and the other is analog. That doesn't change the fact that it's theoretically possible. Of course I doubt it would be practical in any situation I can think of - you would need to encode the audio signal in such a way that it would take an incredible amount of data to convey a single bit in order to ensure that the original binary data could be reliably extracted from an mp3. But still, it's possible.
I've done it six times.
If you figure this out, let me know. I want to be able to save and load MP3-encoded audio files on an Atari 410 recorder so they play on an Atari 1200.
Don't blame Durga. I voted for Centauri.
but like sex, it's the first time that you'll always remember...
That's because the Windows XP CD doesn't include Office, or Exchange, or SQL Server, or Photoshop, or ... I think you know where I'm going with this. Still not a completely accurate comparison, but a lot closer.
Not to mention the sourcecode.
Just get an old 400 baud acoustic coupler-style modem. Put it right next to the condenser mike on your ghettoblaster, and you're good to go.
Or maybe you can find a low-baud-rate emulator somewhere.
A more useful cassette tape oriented question that I have been thinking about is: Has anybody come up with a software package to emulate an audio cassette deck using a PC with a sound card? It seems like it would be a trivial task and it'd be cool for people with 'classic' hardware. The old TRS-80 or Sinclair 1000 would be more useful with a 100% reliable storage system like an old Pentium Machine that mimics a cassette. It would need audio in/out and possibly a digital input for 'motor control' that many old computers used.
A Good Intro to NetBS
- for both the tape and the recording heads:
- Baseline noise level
- Effective response time
In other words, the quietest reliable volume and the shortest wavelength possible. You'll likely want to find or write an app that encodes ASCII data as 16-bit audio, choosing a high- and low-volume to record binary onto an analog medium. To counter your effective response, simply choose a good per-bit duration -- like cheap error correction. There are many, many ways to get this encoded, but your problem will be the low playback quality of the tapes. Another, more involved, solution would be to assign a specific frequency to each binary place-position, so you can assemble the completed byte-sound, record to tape, and disassemble into the component frequencies. This method will yield a higher density, but I'm afraid you'll probably encounter those quality issues I mentioned before... I'd say it's time to hit the google! Good Luck!My old Texas Instruments computer used to backup to an audio tape. It was the only way to save my LOGO programs. I'll have to dig it up and see how it survives some mp3 compression.
For the sake of argument lets assume he can record audio at the same quality level as a phoneline. (Probably can record higher than that actually...)
So, per audio channel he can reliably encode 56Kbps. So, 112Kbps using both audio channels. That works out to 14000 Bytes per second, 840,000 bytes per minute and 50,400,000 bytes per hour.
I'm dumbfounded. Thats 48Megabytes per hour of recordable tape.
Amusingly enough that all cancels out and gets you aproximately 48 minutes of 128Kbps MP3...
So there you go--software that will encode a file as audio that'll survive being recorded to tape. Should survive MP3 compression too; it's just frequency shift keying, like the old 300 baud modems. No info is being encoded in the phase of the tones...
Dear Slashdot: I'm looking for a way to store data so that the probability of recovering it is extremely low. I can't just delete the files since my company has a legal obligation to store them, so /dev/null is out of the question. Ideally I'd like some sort of crappy, hacked solution using media which is totally inappropriate and unreliable. I've already tried writing 32MB to 1.44MB floppy disks but that just wasn't bad enough. In your opinion, what is the shittiest data storage technology available ?
In Soviet America the banks rob you!
Geeze, i hope someone comes up with a solution to this dilemna. You see, i don't want to buy an iPod, because that would be too easy. Instead, i just bought a "Walkman" - it's this cool retro hardware that can play audio tapes while you walk...or sit, or stand even! So i need to find a way to convert my .mp3 collection to .wav files that i can then transfer to audio cassettes (or "tapes") so i can pop one of them into my Walkman and listen with reckless abandon while i park cars (i'm a valet).
I hope this is possible. I want to see if i can induce some sort of ass-backwards, retro-technical vortex that will suck cars from one location to another.
There are 01 types of people in this world. Those that understand binary, and me.
Take a gander at how audio CDs store their data (google on "Reed-Solomon" and "CD"). With enough recovery bits, you'll be able to pull the data back off the audio tape even with a moderate amount of noise.
As an alternative, you could write the data to tape with recovery blocks inter-spersed.
e.g. chop the data file into smaller files, use PAR/PAR2 to create recovery files and dump the whole lot onto the audio tape. On the other end, pull the audio data back off, ignoring errors, and run the PAR/PAR2 tools on the data set to discover/fix errors.
Wolde you bothe eate your cake, and have your cake?
For those of us that experimented with early home computers, being able to save data any method possible was wonderful .... until you started to do it on a regular basis. Then it got "old" real fast.
The problems were numerous, and it was a BIG hassle to store more than one program on a tape.
Atari, trash80, vic20, C64, TI, timex sinclair all had tape interfaces. But everybody was more than willing to dump it for a more expensive disk drive.
.
Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
As for controlling the actual hardware, others have suggested Linux drivers. I agree.
For actually encoding the data into an audio stream, I would suggest googling for Amateur radio data protocols using modulation schemes like MFSK, QAM, Raised Cosine, etc. Hams have been battling the narrow bandwidth problem for a long time, and have come up with many encoding schemes to protect the data against fading, multipath, etc (many of which are also present on cassette recordings). this site gives examples of digital modulation schemes, as well as a link to cool audio samples!
You might also google for "Phil Karn" or "KA9Q" - he's done a ton of work in this field. Also, the AMSAT or ARRL folk may have some info.
Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
I'm really glad this question came up. You see, I've got the opposite problem.
Before Sun started making computers they manufactured personal stereos. These were the precursor to the early Walkman. However, there was one problem: they used the old Sun Model 411 style data cartridges (1/4"), which are large and never really caught on.
Anyway, it's getting nearly impossible to find new releases on 1/4" cartridge, and I lost my 1/4" audio tape deck at Comdex '93, so I need to be able to record my mp3 collection to tape using the Sun Model 411 tape drive.
If I can't get this figured out, I'll have to start relying on my old Sinclair Vinyl Discman (TM), which is even more bulky and skips even when I'm standing still.
Thanks!
I'd look in old microcomputer magazines (Dr. Dobbs, Kilobaud) from the 1970s for articles on recording data to cassette tapes. Many of these articles included schematics and source code in assembly language. The problem with tape is that schemes that work on narrowband audio channels, like AFSK (audio frequency shift keying), are often unusable because of poor speed regulation, wow and flutter on analog tape transports. If you can scrounge up a manual for the original Apple II, it includes an assembly listing of the ROM, which include cassette I/O outines.
Mea navis aericumbens anguillis abundat
Sounds like geek's "bragging rights" to me!
:)
G1: Oh yeah, well I can play back audio encoded in MP3, modulated to analog, then recorded to tape!
G2: Oh, well my dad has a scanning electron microscope!! <runs for the door>
I posted a question on a MiniDisc forum a few months back about using an MD to record data.
I know there was an MDData drive back in the day that held 140MB. Course it was made by Sony so nothing was interchangeable; the disks were not standard MD disks.
From what I know about MD, the data is converted into ATRAC3 and then stored natively on the disk in that format. So what keeps you from converting data into audio first?
I used to fiddle with a Tandy CoCo3 in high school, entertaining my thirst for classic computers, and I saved programs on a cassette player I had. As long as you have one with the "control" input it's pretty easy. Seems like it wouldn't be too difficult to build one that acted like that.
Also, I own an official Starpath Supercharger for the Atari 2600! Not the IMPOSTER Cuttlecart!
I've actually entertained notions of purchasing the manufacturing rights for it and distributing all the Atari ROMs I can find on a CD (in audio format of course) so you can load them up using your CD player.
I posted this stuff from work, but I'm behind a proxy there so I couldn't create an account. So I think my zero score was keeping people from seeing it.
s .html
>>I posted a question on a MiniDisc forum a few months back about using an MD to record data.
>>
>>I know there was an MDData drive back in the day that held 140MB. Course it was made by Sony
>>so nothing was interchangeable; the disks were not standard MD disks.
>>
>>From what I know about MD, the data is converted into ATRAC3 and then stored natively
>>on the disk in that format. So what keeps you from converting data into audio first?
>>
>>I used to fiddle with a Tandy CoCo3 in high school, entertaining my thirst for classic
>>computers, and I saved programs on a cassette player I had. As long as you have one with
>>the "control" input it's pretty easy. Seems like it wouldn't be too difficult to build one
>>that acted like that.
>>
>>Also, I own an official Starpath Supercharger for the Atari 2600! Not the IMPOSTER Cuttlecart!
>>
>>I've actually entertained notions of purchasing the manufacturing rights for it and
>>distributing all the Atari ROMs I can find on a CD (in audio format of course) so you can load
>>them up using your CD player.
>>
>
>Well, I found a site that has a Win32 app that does MFSK16. Looks like you have to uuencode the
>file first, tho.
>
>http://www.qsl.net/zl1bpu/MFSK/Document
(the IZ8BLY Stream self-installing executable
>for MFSK (at the MFSK site) link is still good)
>
>I don't know about any of the frequency settings, etc, but I believe it just outputs the
>audio right out of your soundcard. So just hook it up to your tape player and away you go!
>
>I'm going to try it out myself in a day or two (once I get over my hangover.)
>
>BTW, where do you get one of those 32MB floppy drives? I want one!
So, to follow up, "IZ8BLY Stream" doesn't seem to like Windows XP, but I found another one that works.
Check out "HAMSCOPE" it is just an app, doesn't need to be installed... and seems to work fine on XP.
I uuencoded a file, opened up HAMSCOPE, chose MFSK16 as the format, pasted it into the "transmit" field (the bottom one) and then pressed the big, green RX button up on the top right. (This is leaving out all the trial-and-error it took to figure out this much)
Out of the my speakers came lots of noise! I would guess you could plug your tape drive into the line out and just record what's being played. I'll leave it to others to figure out the optimal settings, I really have no idea what to begin fiddling with.
I would guess you could just play the tape back through your soundcard input and the text data will appear in the "receive" field. Then you can copy and paste the text and uudeencode it.
Also, I'm still looking for a 32MB floppy. From what I've google'd certain LS-240 drives can do it with software, like the Panasonic drive. Unfortunately I haven't found a copy of the software yet.