Today I learned that you can actually abuse the system bus on some macbooks to actually send audio over AM radio[0]. Even scarier, you can do it from the browser[1]. And now this library[2] will let you open a TCP connection over the radio to download off that data machine. This is shaping up to be a pretty cool attack PoC!<p>[0]: <a href="https://github.com/fulldecent/system-bus-radio" rel="nofollow">https://github.com/fulldecent/system-bus-radio</a><p>[1]: <a href="https://fulldecent.github.io/system-bus-radio" rel="nofollow">https://fulldecent.github.io/system-bus-radio</a><p>[2]: <a href="https://github.com/quiet/quiet-js" rel="nofollow">https://github.com/quiet/quiet-js</a>
For those of you interested, there was an app called Chirp by Animal Systems that allowed you to transfer messages and shortcodes of hosted media content over audible frequencies. Despite being rather ear-piercing each time a Chirp was sent, it was still a very interesting principal. I remember reverse engineering the protocol and error correction mechanisms (it was a varient of the Reed-Solomon algorithm iirc) with a friend for a little household "internet of things" that communicated over sound. I still have a few temperature monitoring devices around the house that sing a little tune based on the RE'd code every few hours to report back to my RasPi on home temperature data.<p>Judging by the fact that this was in my GitHub stars list from about a year ago, it looks like I was considering transitioning to something more open. With the right encryption and error correction mechanisms I think this type of technology could be really useful for short-range home iot communication.
Hey everyone, author of the library here.<p>There's a live JS demo of this you can try for yourself at <a href="https://quiet.github.io/quiet-js" rel="nofollow">https://quiet.github.io/quiet-js</a> which demonstrates the audible and ultrasonic modes.<p>The JS version is compatible with the Android version. There's also iOS ( <a href="https://github.com/quiet/QuietModemKit" rel="nofollow">https://github.com/quiet/QuietModemKit</a> ) and C ( <a href="https://github.com/quiet/quiet" rel="nofollow">https://github.com/quiet/quiet</a> ) which interop as well.<p>The throughput you can get changes depending on conditions. Across a cable, you can achieve about 64kbps. Across a short air gap, about 3-4 kbps. Across a room, you can maintain 5 bps or so. There's no capacity negotiation/detection, instead you preconfigure using a modem profile.<p>A good demonstration of Quiet's flexibility can be seen here <a href="https://quiet.github.io/quiet-profile-lab" rel="nofollow">https://quiet.github.io/quiet-profile-lab</a>
Our team worked on a similar idea and the test phone speakers died pretty fast, probably 2 out of 3 within a month. The cause may be (1) we over-stressed them too much (2) they were cheap Samsung phones and (3) we used frequency around 20kHz to avoid annoying human users (this library seems to operate at 17+kHz at most). Our conclusion at the time was consumer speakers and microphones are not good enough. Would love to hear whether Quiet has the same issue.
I was always thinking that broadcasting high pitched audio signals would be an awesome way to drive a companion website in a theater or museum. As you follow the play subtitles advance or text for a painting comes up on your phone.
Here's another idea: TCP over vibration. Put one phone on top of the other, the bottom one in vibration mode, the other using its accelerometer to receive.
Google has a SDK called Nearby which is supported on iOS and Android. In the first version only some sort of address / ID was exchanged using audio and then the actual message was transferred using GCM, which meant an internet connection was required. v2 apparently didn't need an online connection but haven't tested it.
For headless smallish servers (consumer hardware or SoC like Raspberry Pi) the sound interface is awesome because it needs no additional hardware (as with bluetooth + software stack) and almost all mentioned devices have a sound card on board. I think it's not too hard to setup a getty instance in an old modem fashion with this.<p>Additionally, as a client already a smartphone is suitable. This can be helpful in weird situations (think of non-working network).
Dogs' hearing extends to 45 KHz. Cats hear up to 79 KHz. How do all these ultrasonic audio systems affect them? Do they cause pain? Do they damage the animals' hearing?<p>I won't (knowingly) use ultrasonic audio systems until I see some research on this topic.
Can someone with more knowledge expand on the bandwidth limitations here - what are the hard limits for TCP/sound? Are the speeds here technically able to improve marginally, significantly, or not at all?
I see the library has both Android and iOS versions.<p>I have a question. Is this AppStore-safe? (As in "Is there a chance Apple or Google may reject the app because it includes this feature?")