AudioTransmit – Transmitting data between computers using audio
x86matthew.com
x86matthew.com
Nothing stopping you setting up a whole AX.25 network between multiple machines using Dire Wolf [1] and the built-in AX.25 [2] (a derivation of X.25) support still in the Linux kernel. You get a proper network interface that shows up alongside eth0. Nice short instructions at [3]. Just don't hook it up to radios unless you're appropriately licensed. Speakers and mics only.
[1] https://github.com/wb2osz/direwolf
There is a really deep rabbit hole when it comes to doing this more efficiently, getting into signal processing, modulation, encoding, error correction and more.
And of cause, things like modems, tape storage on c64 and other home computers did this a long time ago. It is just that audio has such a low bandwidth that it is not possible to get up to the bandwidth we expect these days.
My thought was to make a multimedia tape zine where people could submit songs and accompanying short text. One track of a stereo cassette track would store the audio mixed to mono, the other would store the text encoded something like this. You'd play the tape in a cassette player outputing to a computer that would play one track to a speaker and decode the other to a thermal printer, so the text would also appear on a "tape."
The problem is, it's really hard to find working cassette players with stereo input and output...
I can imagine this being used as a control protocol for home/building automation, 20 bits is quite a lot if you consider each bit a device being turned on or off only.
I still don't know why would anyone do this instead of wifi, but definitely way cooler. Also, anyone visits you the first time, there's a guaranteed 20 minute talk about the setup :)
(Ironically, I often then used the audio-to-data connection to download audio that had also been converted to data. I think I still have those old MP3s of Orbital's set at Glastonbury 1995 somewhere.) :-D
I'm imagining something like this at a train station or airport, continually broadcasting schedule and delay information which you could pick up with an app and a microphone and no internet access. Like a drinking fountain for information something you go to, or maybe pervasive background noise.
Obviously you won't be using any of this for regular communication, but there's a whole world of cool uses for sending short (up to a few bytes) messages over the air. And despite knowing dial-up modems exist, people are constantly impressed by novel applications of it.
Still (as said before) not more useful to me than as a weekend project. I used it a few times with my CB radios to see how far I could transmit 1200 and 300 baud.