If you are beyond a certain age, you will recall when getting on the Internet was preceded by strange buzzing and squawking noises. Modems used tones to transmit and receive data across ordinary telephone lines. There were lots of tricks used to keep edging the speed of modem up until — at the end — you could download (but not upload) at a blazing 56,000 bits per second. [Martin Kirkholt Melhus] decided to recreate a modem. In a Web browser. No kidding.
We started to say something about a modem in the cloud, but that wouldn’t really be accurate. The modem uses the HTML 5 audio API, so it really runs in the browser. We would have been really surprised if [Martin] had cooked up a modem able to interact with a real modem, but as you might expect, the browser modem only communicates with other instances of itself. If you want a brief introduction to HTML 5 audio, you might enjoy the video below.
Still, the work is impressive and if you look at the code on GitHub, it isn’t as complicated as you’d expect. You can also check out a live demo. The tones reminded us of some of the multitone encodings that ham radio operators use, such as MFSK.
Although this might not be of great practical value for most people, it did make us think. A secure air-gapped computer with a speaker could broadcast out data using something like this with no more than a web page exploit. We wonder if you could shift the tones up high enough that most people couldn’t hear it? If you want to pull off a similar trick with an Arduino on one side, you can.