[HN Gopher] Minimodem - general-purpose software audio FSK modem ___________________________________________________________________ Minimodem - general-purpose software audio FSK modem Author : marcodiego Score : 116 points Date : 2022-04-02 15:21 UTC (7 hours ago) (HTM) web link (www.whence.com) (TXT) w3m dump (www.whence.com) | xchip wrote: | I am proud I contributed to this repo with a PR that substitutes | the FFT with a goertzel filter, it simplifies things a lot. | brian-armstrong wrote: | If we're posting audio modems, here's another one I've | contributed to, Quiet Modem. Haven't contributed to it much | lately but happy to answer questions about it. | | https://github.com/quiet | [deleted] | JKCalhoun wrote: | I would so love to have a terminal+modem for my mobile phone. | ryeguy_24 wrote: | Funny that this is top of HN right. Spent a ton of time in this | repo lately trying to understand how modems work. Fascinating how | we can use waves to send data (audio or rf). So much of the world | relies on these modulation/demodulation approaches. | | Also, it was only a few days ago I finally learned that modem is | short for MOdulator DEModulator. My mind was blown. | oaiey wrote: | The blessing of a recent birth that you stand on the shoulders | of giants :) | ttyprintk wrote: | You might be interested to know about the Morse keying | requirement for Ham radio licenses before the early 90s. | | I think ham radio licenses lost popularity between then and | approx 2018. Demonstrating fluency with Morse was necessary for | a license long ago. Nowadays, there's a renewal of interest but | many new Ham operators can write a Morse codec faster than they | can learn fluency by hand. I think the requirement for | demonstrating Morse by hand in order to obtain a HF license | will be dropped if it isn't already. | Nux wrote: | Not required in UK afaik. | bittercynic wrote: | The Morse requirement has been dropped for all classes of | license (in the USA): http://arrl.org/learning-morse-code | ttyprintk wrote: | Thanks, I guess I'm living in the past | inamberclad wrote: | Hah, I had to learn the most basic understanding of Morse for | my private pilot certificate. When I finally got to the | checkride and had to fly off a VOR radial I asked the | examiner if he wanted me to identify the station (by the 3 | letter Morse code broadcast) and he said nah. | madengr wrote: | nullc wrote: | > I think the requirement for demonstrating Morse by hand in | order to obtain a HF license will be dropped if it isn't | already | | The Morse requirement was dropped by the FCC for all license | classes back in 2006. | | But even with SDR making radio experimentation easier and | more rewarding than ever ham radio seems to be continuing its | slow decline and the average age of operations continues to | rise... and we continue to lose spectrum (e.g. we just lost | the 9cm band). | ggerganov wrote: | If you are interested in transmitting data over sound between | airgapped devices, make sure to also checkout ggwave [0]. I've | been working on this library on and off during the past year in | my free time. I focused on making a FSK protocol that is robust | in noisy environments at the cost of low bandwidth. Found some | fun applications in various hobby projects. | | [0] https://github.com/ggerganov/ggwave | westurner wrote: | Could this be used to embed e.g. the sports "game clock" clock | time(s) in broadcast TV/audio/video streams; in order to | synchronize an air-gapped device next to the media signal | reproduction unit? | | For example at a grille during the game. | | FWIU, e.g. Chromecast have ultrasonic pairing. | ggerganov wrote: | Yes absolutely! (Edit: or maybe not :-) see sibling comment | for more info) | | Actually, the "Waver" youtube video linked at the top of the | README has an embedded ultrasound transmission at around | 0:36. I can for example decode the message on my iPhone by | simply running the Waver app and playing the video on my PC. | | Some people have already done some work for AV sync in the | issues of the project [0]. | | [0] https://github.com/ggerganov/ggwave/issues/46 | throwaheyy wrote: | Digital broadcasting adds significant latency so it would be | in sync with the TV but still out of sync with the actual | game (and other broadcast receivers). | | The same issue affects radio time signal (e.g. | https://en.wikipedia.org/wiki/Greenwich_Time_Signal, last | beep is the exact top of the hour), so some broadcasters will | no longer play them on internet streams/digital radio, rather | than be inaccurate. | marcodiego wrote: | Please, submit it to f-droid! | sydthrowaway wrote: | Is it possible to use ML to have greater bandwidth at lower | SNR? | ggerganov wrote: | Probably, but I suppose you would need lots of training data | in various surrounding conditions and hardware (mic, | speakers). | | I wanted to experiment with using a mic-array in order to | improve the SNR. Got a 4 Mic ReSpeaker [0] some time ago, but | haven't played with it yet. My expectation is that capturing | the audio simultaneously with multiple mics should reduce the | noise and thus improve the robustness of the transmission | allowing to increase the bandwidth. | | [0] https://respeaker.io/4_mic_array/ | danuker wrote: | I'd imagine training data would be the limiting factor. | flyinghamster wrote: | If you're looking for a library to do FSK (or a variety of other | telephony-related protocols), SpanDSP is worth looking into as | well. I've used it to decode some radio-based telemetry that uses | Bell 202 for data transmission. | | https://github.com/freeswitch/spandsp | squarefoot wrote: | > Minimodem can be used to transfer data between nearby computers | using an audio cable (or just via sound waves), or between remote | computers using radio, telephone, or another audio communications | medium. | | It should be noted that any signal that can be modulated and | demodulated can be used to exchange information, so either | visible or IR light, ultra/infra sound etc. It's just a matter of | building the right hardware interface. | ryeguy_24 wrote: | Do the audio cables need to have crossed wiring? Microphone | wire of one connecting to the speaker wire of another? | squarefoot wrote: | Yes, but beware that directly connecting a speaker output to | a microphone input can be dangerous for the input port. | Computer headphones or small speakers outputs are generally | safe because of their low power, but anything that can | directly drive more powerful speakers can damage a microphone | or line input if directly connected without any attenuation | network in between. | ttyprintk wrote: | If we're talking analog, those cables usually have capacitors | to limit DC and a stereo-mixing resistor because of the | headphone impedance (KOhms) and microphone impedance (20-200 | Ohms). | loloquwowndueo wrote: | Minimodem was originally created to be able to get debugging | information out of a computer with no network connectivity - if | audio is working, one can transmit kernel and network driver | debug dumps and decode them on another computer. | marcodiego wrote: | I think I remember an old patch that would replay the lines of | a kernel panic using morse code on the keyboard lights. | xphos wrote: | The ingenuity of computer hackers is literally on another plane | of existence some times. It's these kind of ideas which make me | proud to do computer science ___________________________________________________________________ (page generated 2022-04-02 23:00 UTC)