9 ms·
Quiet for Android – TCP over sound
- cocktailpeanuts 9y agoI see the library has both Android and iOS versions. 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?")
- icebraining 9y agoChromecast is already using it on their SDKs for Android and iOS apps (they call it "audio tokens"): https://developers.google.com/cast/docs/guest_mode https://developers.google.com/cast/docs/guest_mode
- joshumax 9y agoFor 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. 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.
- natar 9y agoI remember that app! It sounded so cool but was only available for iOS at the time and when I saw the Android app a few years later by change it was only a weird proof-of-concept where you can transmit folder-icons from within the app to another phone with the app. Mh, looks like they're still around: https://www.chirp.io/ https://www.chirp.io/ I really like the concept, would be really nice to have a functional app one day.
- icebraining 9y agoIt's already becoming common. Chromecast has used it since 2014, and I just bought a $30 Wifi camera on Aliexpress that also uses ultrasounds for the initial configuration.
- ggerganov 9y agoIt's definitely an interesting concept. I've been playing around myself recently with implementing a simple data-over-sound protocol (nowhere near as advanced as Quiet). If anyone is interested, here is a quick 1 min showcase: https://www.youtube.com/watch?v=HrMQjFGD_MU https://www.youtube.com/watch?v=HrMQjFGD_MU
- pavel_lishin 9y agoUsing something that sounds like bird calls - or something else that's pleasant - to transmit data sounds like a pretty neat idea for a smart home. It would expose the otherwise-invisible artificial ecosystem you're living in.
- SimbaOnSteroids 9y agoImagine your smart home ecosystem that sounds like the Amazon ecosystem. That sounds like the kind of thing that would actually push me the extra edge to wire my home up.
- mongol 9y agoYou mean Amazon as the Amazon river..?
- crtqt3 9y agoThe Amazon rainforest you mong
- pavel_lishin 9y agoYou know, if I worked at Amazon, I would be very tempted to build something that plays river-and-rainforest sounds to indicate the health status of things. Smoothly running stream? Everything is green. Rapids? Yellow-status; something needs looking into. Waterfall? Something's gone terribly awry. Happily chirping birds? Successful health checkins. Monkeys screeching? Unhealthy result. Jaguar growl? Datacenter is on fire.
- pavel_lishin 9y agoUntil 3am, when auto-installed updates roll out :)
- jhayward 9y agoBack in the mainframe days I spent many late nights in the machine room doing systems janitor work. I could easily identify which workload was running, and what phase, by the ambient noise of disk and tape drives. I can imagine your house chirping and tweeting about, when suddenly you wake from a deep sleep saying "what was that!" when some unusual pattern of sound happens. The pattern matching and decoding portions of our brain never, ever, stop their efforts and are wired deeply in to the survival mechanisms we have.
- moreati 9y ago> I remember reverse engineering the protocol and error correction mechanisms (it was a varient of the Reed-Solomon algorithm iirc) Wow! Do you have a write up, or code? I tried to do the same [1], but got stuck on the error correction [2]. I'd love to get closure. 1. https://github.com/moreati/chirppy https://github.com/moreati/chirppy 2. https://math.stackexchange.com/questions/663643/discover-parameters-of-a-reed-solomon-code-from-its-output https://math.stackexchange.com/questions/663643/discover-par...
- fullstackwebdev 9y agoI've been hearing weird short "chirps" on youtube re-broadcasts of my shows on non-licensed accounts. I was wondering if they were weird leaking ultrasond signals (leaking under 22khz) used for advertisement tracking on mobile devices. I turn off my mobile at night now before I watch the shows.
- Normal_gaussian 9y agoCan 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?
- Piskvorrr 9y agoOne would think that you'll start hitting real-world limits real soon - background noise, speaker/microphone characteristics etc. Improving on those usually means more expensive equipment, this would be the most limiting factor IMHO.
- pja 9y agoHard limits are set by the strong absorption of ultrasonic frequencies by the air - IIRC the expected range of frequencies > 1MHz is measured in single digit cm & drops very rapidly. This reddit comment ( https://www.reddit.com/r/askscience/comments/3oo5ks/is_there_a_maximum_frequency_sound_that_air_can/cvz9xux/ https://www.reddit.com/r/askscience/comments/3oo5ks/is_there... ) quotes references that suggest a 100dB drop-off / foot @ 10MHz.
- eecc 9y agoMeh, if exfiltrating a couple kB of password data is all you need... the time for a coffee at a Starbucks is probably enough already
- cdoxsey 9y agoSound can be used as part of a handshake process and then real communication done over the internet: https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment https://en.wikipedia.org/wiki/Interactive_Connectivity_Estab...
- amelius 9y agoThat could be nice to setup/connect devices that don't have buttons and a display. E.g. connecting a printer to a tablet, sending wifi passwords to the printer. (At least, as long as nobody else is listening).
- the_mitsuhiko 9y agoI 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.
- breatheoften 9y agoI’ve been wanting theaters to adapt a protocol like this to control the color of light sources in the theater (row lights, emergency exit sign). Make all those lights with color leds and let the color be controlled by signal embedded in the audio track of the movie — then subtle mood lighting effects would become an option for movie makers... would be fun for some movies — the stars wars scene in the emperor’s thrown room comes to mind as a good example.
- saganus 9y agoMaybe the law is very specific in the color and amount of light that emergency signs and row lights are allowed to have? I'm just speculating, but I don't remember the last time I saw a non-green exit sign. I think I've seen them red but very seldomly. Could that be something preveting such innovations? I do agree however that it would probably be cool. Sometime ago I got a lightpack (I think it was called?) from a kickstart project, that had a similar effect but for your tv of computer monitor and it looked great.
- auxym 9y ago> I'm just speculating, but I don't remember the last time I saw a non-green exit sign. I think I've seen them red but very seldomly. In North America? At least here in Canada, I see almost only red exit signs like this: http://www.mulelighting.com/product/E-StarSeries.jpg http://www.mulelighting.com/product/E-StarSeries.jpg Only in new construction have I started seeing these green signs: https://lerablog.org/wp-content/uploads/2013/05/emergency-exit.gif https://lerablog.org/wp-content/uploads/2013/05/emergency-ex...
- 9y ago
- srikz 9y agoGoogle 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.
- mlevental 9y agothe docs for nearby suggest it uses ble?
- Zigurd 9y agoNearby uses both BLE and ultrasound. Before this was exposed in the Nearby APIs, Chromecast, which does not have BLE, used ultrasound to find Android devices in the same room.
- ehsankia 9y agoTheir newest payment app in India, called Tez, also uses sound to secure transactions I believe.
- srikz 9y agoYep, made by Google
- jzelinskie 9y agoToday 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! [0]: https://github.com/fulldecent/system-bus-radio https://github.com/fulldecent/system-bus-radio [1]: https://fulldecent.github.io/system-bus-radio https://fulldecent.github.io/system-bus-radio [2]: https://github.com/quiet/quiet-js https://github.com/quiet/quiet-js
- jwilk 9y agoSee also: http://www.erikyyy.de/tempest/ http://www.erikyyy.de/tempest/
- opencl 9y agoCode running in your browser gaining a TCP connection seems like the least scary use case of this possible- presumably it already has a TCP connection in the first place.
- billconan 9y agowhat's the transmission speed?
- jandrese 9y agoHow is the system bus radio machine going to receive its ACKs?
- eecc 9y agoOh imagine the world of exploit for IOT... the drive-by remote 0wns, beauty
- kbob 9y agoDogs' 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? I won't (knowingly) use ultrasonic audio systems until I see some research on this topic.
- isostatic 9y agoPresumably the amplitude is no louder than normal speakers. 120db will be dangerous to humans and dogs. 20db won't. Listening to white noise isn't painful.
- brian-armstrong 9y agoIf you want to try out Quiet's audible profile, you can imagine that ultrasonic is the same volume, but pitch shifted up. Making modems louder doesn't help transmission anyway, so it's pointless to do so. https://quiet.github.io/quiet-js https://quiet.github.io/quiet-js
- ktpsns 9y agoFor 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. Additionally, as a client already a smartphone is suitable. This can be helpful in weird situations (think of non-working network).
- amelius 9y agoHere'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.
- dsjoerg 9y agowow! that's brilliant.
- gunshot19 9y agoAre there multiple vibration settings on phones though? I was always under the impression it either vibrated or didn't.
- mlevental 9y agoaccelerometers are way too imprecise for that to work
- nneonneo 9y agoNot only are accelerometers precise enough for data transfer, me and my colleagues demonstrated data transfer at ~200 bps (after error correction) through the user’s finger to a wristworn smartwatch. Take a look: https://www.robertxiao.ca/research/viband/ https://www.robertxiao.ca/research/viband/
- deleted 9y ago[deleted]
- TeMPOraL 9y agoHow? A naive solution would use only "upwards acceleration" and "lack of upwards acceleration"; phone accelerometers should be able to handle that quickly enough to get at least couple dozen bps.
- perfmode 9y agoYeah, you just need put a wide margin between "high" and "low" states. The bitrate will be low, but it would work.
- SoulMan 9y agoReminds me of Google's tez payment system (does over ultrasonic tough)
- sondh 9y agoOur 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.
- jokoon 9y agoFunny, I say my cheap, 2 year old, $60 huawei phone die a couple of months ago. At the end it was emitting weird sounds from its speaker. It would not boot properly anymore.
- ramshanker 9y agoHammmm. IT Need to disable all audio drivers now?
- codazoda 9y agoI wonder if this would work over radio such as Ham or Two-Way.
- th0ma5 9y agoFor low power stuff in amateur radio check out WSPR and FT8.
- brian-armstrong 9y agoHey everyone, author of the library here. There's a live JS demo of this you can try for yourself at https://quiet.github.io/quiet-js https://quiet.github.io/quiet-js which demonstrates the audible and ultrasonic modes. The JS version is compatible with the Android version. There's also iOS ( https://github.com/quiet/QuietModemKit https://github.com/quiet/QuietModemKit ) and C ( https://github.com/quiet/quiet https://github.com/quiet/quiet ) which interop as well. 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. A good demonstration of Quiet's flexibility can be seen here https://quiet.github.io/quiet-profile-lab https://quiet.github.io/quiet-profile-lab
- MHammond 9y agoDo you have any recommendations for microphones suitable for desktop use?