[HN Gopher] Web Audio Modem (2017)
___________________________________________________________________
Web Audio Modem (2017)
Author : klaussilveira
Score : 60 points
Date : 2022-05-27 14:57 UTC (8 hours ago)
(HTM) web link (martinmelhus.com)
(TXT) w3m dump (martinmelhus.com)
| loloquwowndueo wrote:
| "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/
| pseudosavant wrote:
| Never 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.
| egypturnash wrote:
| "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
| quijoteuniv wrote:
| They should fire this guy!
| 1-6 wrote:
| Is this like a QR code but using audio instead?
| booleanbetrayal wrote:
| What a cool project! Hoping to see a full web suite with
| something like "ProTerm" integration someday.
| speps wrote:
| > 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
| moron4hire wrote:
| The 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 wrote:
| Was 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 wrote:
| It 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 wrote:
| How close is this to something that would work with an off the
| shelf modem?
| jaywalk wrote:
| It's not.
| rkagerer wrote:
| I 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
| exikyut wrote:
| Heh, 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?
| strbean wrote:
| I love this! I've thought about doing it myself in response to
| the lack of data channels in WebRTC.
| brian-armstrong wrote:
| Self plug - another web modem
|
| https://quiet.github.io/quiet-js
| ale42 wrote:
| Why 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)
| kcarter80 wrote:
| I skimmed and couldn't find. Is the baud rate mentioned?
| PaulHoule wrote:
| For a long time I've wondered if you could make a synthetic
| aperture sonar with PC or phone parts.
| yourapostasy wrote:
| Your 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
| cadr wrote:
| Is this of interest to you?
| https://hackaday.com/2022/02/23/bend-it-like-sonar-beacon-wi...
| unholiness wrote:
| A 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!
| itintheory wrote:
| > 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.
| exikyut wrote:
| Very cool. I wonder if the source to this is still floating
| around anywhere?
| P4u1 wrote:
| Genious! Great idea man.
| nomel wrote:
| You would have loved the 90's!
| a-dub wrote:
| good ol fsk. i've built rudimentary time-stamping schemes in this
| way in past. basic signal processing can be fun!
| ranger207 wrote:
| Putting an increasing series of ASCII characters into the encoder
| results in some surprisingly musical tones
| jancsika wrote:
| I 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.
| 3-cheese-sundae wrote:
| This 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
| ggerganov wrote:
| I 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
| [deleted]
| jancsika wrote:
| Ooh, 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.
| VikingCoder wrote:
| I 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 wrote:
| If 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 wrote:
| On this topic, has anyone here used direwolf
| (https://github.com/wb2osz/direwolf) to communicate between two
| computers without radios?
| dang wrote:
| Discussed at the time:
|
| _Using the Web Audio API to Make a Modem_ -
| https://news.ycombinator.com/item?id=15471723 - Oct 2017 (63
| comments)
___________________________________________________________________
(page generated 2022-05-27 23:01 UTC)