5 ms·
Web Audio Modem (2017)
- sitkack 4y agoMy new magnum opus in ipython a = "00FF AA 44 CC" * 100 !echo "$a" | pbcopy paste into encode widget Layer and phase shift to taste.
- quijoteuniv 4y agoThey should fire this guy!
- PaulHoule 4y agoFor a long time I've wondered if you could make a synthetic aperture sonar with PC or phone parts.
- yourapostasy 4y agoYour comment prompted me to wonder what kind of other kinds of shenanigans we could get up to if we combined "Acoustic beamsteering with speakers and Arduino" [1] with an array of normal sonar transducers. [1] https://www.youtube.com/watch?v=_CSbL-PUwbM https://www.youtube.com/watch?v=_CSbL-PUwbM
- cadr 4y agoIs this of interest to you? https://hackaday.com/2022/02/23/bend-it-like-sonar-beacon-with-a-phased-array/ https://hackaday.com/2022/02/23/bend-it-like-sonar-beacon-wi...
- egypturnash 4y ago“N.B. This was only ever intended as a gimmick and a proof of concept - not something that I would actually use at work. Please keep this in mind before arguing why I should be fired over this in various online comment sections.” - from the end of the article
- booleanbetrayal 4y agoWhat a cool project! Hoping to see a full web suite with something like "ProTerm" integration someday.
- speps 4y ago> The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. Created a new issue: https://github.com/martme/webaudio-modem/issues/8 https://github.com/martme/webaudio-modem/issues/8
- moron4hire 4y agoThe last update to the repo was 4 years ago. So you'll should probably not hold your breath and just chuck this into the browser console: oscillators[0].context.resume()
- chmorgan 4y agoWas excited to try it out but no audio here from the encoder, Safari on OSX. Plugging some text in, hitting encode, maybe I'm doing it incorrectly?
- tristor 4y agoIt worked for me on OSX with both Firefox and Safari, although I did need to whitelist Javascript on Firefox in NoScript for the site. The volume level was pretty low, but was able to hear it with headphones.
- ec109685 4y agoHow close is this to something that would work with an off the shelf modem?
- jaywalk 4y agoIt's not.
- kcarter80 4y agoI skimmed and couldn't find. Is the baud rate mentioned?
- P4u1 4y agoGenious! Great idea man.
- nomel 4y agoYou would have loved the 90's!
- rkagerer 4y agoI used amodem with high-end audio cables in production a long time ago - can't get into details: https://news.ycombinator.com/item?id=17333257 https://news.ycombinator.com/item?id=17333257
- exikyut 4y agoHeh, I parsed that in 3 stages. - "oh, another audio modem library to file away" - "aww, I wonder what the details are... but that's a story in itself, alright then" - "wait that says in production. this is actually keeping something standing up. Oh. I wonder if the recipient actually realizes." So, the one question I probably *can* ask: what effective data rate did you manage?
- rkagerer 4y agoVery low. With good SNR you can get 48.0 kb/s. It basically just passed small text payloads across an 'air gap', that were bigger than you'd want to be typing by hand. They were encrypted in transit but inspectable on both sides. Shielded cable was long enough to reach a separate isolated room, and easily unplugged by an operator when not in use. USB wasn't considered secure enough, other forms of sneakernet were avoided for *reasons*. Alternative options could have been used but this was simple, auditable and (comparatively) easy. Stakeholders fully aware of how it works and the weirdness factor. Not many users, and no scale involved. It just met a very niche use case nicely :-). Hope that didn't dispel the magic for you.
- exikyut 4y agoHuh, 48kbps over maybe ~20m (65ft). *Files away* not bad. Thanks for the extra details, that's really cool :)
- unholiness 4y agoA project I worked on in college was a "steganographic modem", transferring data in the audio spectrum by lacing a song being played with a signal, such that the signal in each frequency band would always be below the threshold that the human ear could tell the difference. Even in a controlled setting the bitrate we achieved was very low, but for most songs it was enough to encode the lyrics. Seems quite useful until you remember both ends already need the original audio file in its entirety!
- exikyut 4y agoVery cool. I wonder if the source to this is still floating around anywhere?
- itintheory 4y ago> Seems quite useful until you remember both ends already need the original audio file in its entirety! That still seems quite useful. Steganography aims to obfuscate the presence of communication, not encrypt the data. You'd embed your ciphertext via the audio steganography. I can imagine this used for a dead drop by placing the encoded audio in a jukebox, or potentially even playing it over the radio/muzak system, if that isn't too lossy / the algorithm has enough error correction.
- ranger207 4y agoPutting an increasing series of ASCII characters into the encoder results in some surprisingly musical tones
- jancsika 4y agoI remember reading a paper where the author had a proof-of-concept for sending data over audio using an algorithm that created pleasing sounds in the normal hearing range. Does anyone know what I'm talking about? Some of the demos sounded like R2D2 but also carried data. I can't find it using a Google search.
- ggerganov 4y agoI don't know the paper, but I'm actually working on an Arduino library for data over sound and I think it kind of sounds similar to R2D2. Here is a 1 min demo if you are interested: https://www.youtube.com/watch?v=qbzKo3zbQcI https://www.youtube.com/watch?v=qbzKo3zbQcI
- deleted 4y ago[deleted]
- jancsika 4y agoOoh, thanks for the link! I think the researcher I had in mind was funded by Microsoft, or worked for Microsoft? They sounded like little robotic bird calls or something. It's like Chirp.io took a single example from that paper and used it exclusively.
- 3-cheese-sundae 4y agoThis is almost certainly not the specific algorithm you're referring to, but Olivia MFSK sounds pleasing and can send 150 char/minute with a 7-bit ASCII data set: https://www.youtube.com/watch?v=Yz7a--ePSNs https://www.youtube.com/watch?v=Yz7a--ePSNs
- a-dub 4y agogood ol fsk. i've built rudimentary time-stamping schemes in this way in past. basic signal processing can be fun!
- brian-armstrong 4y agoSelf plug - another web modem https://quiet.github.io/quiet-js https://quiet.github.io/quiet-js
- VikingCoder 4y agoI used to plug my TRS-80 MC-12 into a cassette recorder to save and load programs. I wonder if an online TRS-80 emulator can still do that trick...?
- jerf 4y agoIf you're on debian/ubuntu, you should be able to install "minimodem", which allows for this sort of thing with the usual wide variety of command-line parameters. echo "hello hacker news" | minimodem --tx 110 yields a nice classical "telemetry" sound.
- cadr 4y agoOn this topic, has anyone here used direwolf (https://github.com/wb2osz/direwolf https://github.com/wb2osz/direwolf) to communicate between two computers without radios?
- ytjohn 4y agoI've used fldigi between two computers in the same room. It's also made for amateur radio, but when we do training, we just get operators to setup their laptop in the same room. If they have external headphone, that works best since you can basically lay then mic to speaker. But we'll often take turns having one blast out a message over speakers and everyone else receive it. https://sourceforge.net/projects/fldigi/ https://sourceforge.net/projects/fldigi/
- loloquwowndueo 4y ago“What do you do when you cannot copy text between computers due to lack of internet connectivity? “ Literally what Minimodem was created for :) http://www.whence.com/minimodem/ http://www.whence.com/minimodem/
- pseudosavant 4y agoNever heard of it, but looks really cool. Too bad there isn't a web/WASM build of Minimodem so that it'd run in any web browser. This could be an interesting way to do data exfil. Although that has already been done covertly at ultra-sonic, or near ultra sonic, frequencies that real people can't actually hear.
- WalterGR 4y agoAnd discussed fairly recently! Minimodem – general-purpose software audio FSK modem https://news.ycombinator.com/item?id=30888879 https://news.ycombinator.com/item?id=30888879 152 points | by marcodiego | 55 days ago | 38 comments
- 1-6 4y agoIs this like a QR code but using audio instead?
- ale42 4y agoWhy not just reusing an existing modulation? There are dozens out there, from fast ones to super robust ones like JT65 (ridiculous baudrate, but you can basically decode it even when the sounds can't be heard any more)
- dang 4y agoDiscussed at the time: Using the Web Audio API to Make a Modem - https://news.ycombinator.com/item?id=15471723 https://news.ycombinator.com/item?id=15471723 - Oct 2017 (63 comments)
- strbean 4y agoI love this! I've thought about doing it myself in response to the lack of data channels in WebRTC.
- xchip 4y agoWhy are you using the fft? I'd be cheaper to use a Goertzel filter. You can check one of the branches of the minimodem to see how they work