Remember modems? No, not cable modems or DSL modems, which are more technically network bridges. I’m talking real, honest-to-goodness analog modems, the kind that actually made noise. The kind where, if you picked up the phone while you were connected to The Internet!, you’d hear warbling screeches and that nude picture of Samantha Fox that you were downloading would be ruined! Modem stands for “modulate / demodulate”, a name that perfectly describes how the modem works: the sending modem modulates data into sound for transmission over the phone, and the receiving modem demodulates that sound back into data. Guess what: you can use the same principles to transfer files between PCs using nothing more than a soundcard and some clever programming.
Viktor Lofgren describes in detail how to use soundcards to transfer files. A word of warning from Mr. Lofgren, though:
Never try these programs with your headphones on. THEY MAKE LOUD NOISES! It is possible to configure these programs to make noises way louder than you ever imagined your headphones could make. You can damage your hearing when playing with audio programming. Tinnitus isn’t fun.
Basically, here’s how you send files via soundwaves:
For every character:
For every bit:
Send a short pulse if the bit is 1.
Send a long pulse if the bit is 0.
Send a silence.
Send a very long pulse (4 times as long as the shortest pulse).
Send a silence.
Generating and sending the sound out the speakers is easy. Receiving and interpreting the sound via a microphone attached to the other computer is a little more difficult. Read the whole post for the details, and be sure to give Mr. Lofgren some props for being a clever geek!