[HN Gopher] Show HN: Waver - Messaging Through Sound
       ___________________________________________________________________
        
       Show HN: Waver - Messaging Through Sound
        
       Author : ggerganov
       Score  : 37 points
       Date   : 2021-01-13 12:04 UTC (10 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | cgsmith wrote:
       | This could have multiple uses. One that I can think of is to have
       | a profile of what a normal sounding manufacturing floor is or
       | lathe, mill, any machine that operates. If the sound profile
       | changes you might be able to distinguish what component is
       | failing on that machinery. This could possibly be extended to
       | listening to organisms or ecosystems like the human biome to
       | identify problems.
       | 
       | I know other tech might exist in this but I find the possible
       | uses for this fascinating.
        
         | codebeaker wrote:
         | There's quite some research, and even some products (I mentored
         | a company about five years ago doing such a thing, but I even
         | forgot their name, and don't remember what their outcome was)
         | about this topic.
         | 
         | - https://www.hindawi.com/journals/js/2018/4105208/
         | 
         | If memory serves, you don't even need to have permanently
         | installed sensors, you can do it with a portable stethoscope
         | kind of contraption which can detect anomalies and help to
         | schedule preventative maintenance.
        
       | skibz wrote:
       | This is a super impressive collection of work. Well done.
       | 
       | The only other tool that I've ever seen similar to what you've
       | built is libquiet. Are you familiar with it? If so, could you
       | provide a comparison?
        
         | ggerganov wrote:
         | Thanks. Yes - I am familiar with libquiet. It is much more
         | advanced and mature compared to what I am doing. I haven't used
         | it for development, but have played with it's online examples.
         | I think my library is sort of a poor man's solution to what
         | libquiet offers, with the advantage of being a very small and
         | simple piece of software.
        
       | ziffusion wrote:
       | You mean speaking?
        
         | dehumanise wrote:
         | i knew it sounded familiar
        
         | ggerganov wrote:
         | Heh, kind of - but in a weird sounding language :)
        
       | ggerganov wrote:
       | Hello HN,
       | 
       | This is a hobby project that I have been working on and off for
       | the past few years. It started with a simple PoC [0] for sharing
       | files through WebRTC using sound signaling to exchange the SDP
       | between peers and I recently decided to extract the data-over-
       | sound part into a standalone library [1] so I can use it in
       | different projects. The current post is one such project: "Waver"
       | - a simple application with the primary purpose to showcase the
       | capabilities of my data-over-sound library. The main
       | functionality of the app is to exchange short text messages
       | through sound with nearby devices. All you need to use it is to
       | enable the device's speakers and microphone. The app also
       | includes an early prototype for sharing files with sound
       | signaling. The app runs on iOS, Android, Linux, Mac OS and Web -
       | I put quite some effort to make it easy to try out :)
       | 
       | The implemented data-over-sound protocol is quite simple. It is
       | essentially a 6-tone FSK modulation scheme with special markers
       | to mark the start and end of the transmission. The bandwidth is
       | quite low (8-16 B/s), but I think the transmission is reliable.
       | I've been testing it with a few devices across the room and it
       | seems robust enough. The ultrasound protocols especially are very
       | robust to surrounding noise.
       | 
       | An additional challenge I had to solve while working on the data-
       | over-sound protocol was to make the encoded data sound good to
       | the human ear. Although the current sound is not the most
       | pleasant thing to hear (especially the markers), I think it
       | turned out relatively OK :-)
       | 
       | There are a few reasons about why I decided to implement this FSK
       | approach instead of using an existing and well-known modulation
       | scheme used by modems:
       | 
       | - My DSP knowledge is fairly limited
       | 
       | - Most modulations typically sound like noise (not very pleasant
       | to the ear)
       | 
       | - Reliable air-gapped transmission seems to be much more
       | difficult to achieve compared to over-the-wire
       | 
       | - But mainly because I find it more fun to implement something
       | from scratch
       | 
       | There are similar solutions available on the market, but I feel
       | they are difficult to try out. I wanted to make something free
       | and very easy to test and see how it works. The data-over-sound
       | library [1] still needs some work, but it's getting there. I am
       | hoping to find some fun and potentially useful applications of
       | this, so I am looking for ideas. Also, any feedback about the
       | performance is very much appreciated.
       | 
       | If you decide to try out the Waver app, make sure to watch the 2
       | min video in the link [2] for a quick tutorial. Also, there is a
       | small easter egg at the end of the video :-)
       | 
       | [0] - https://github.com/ggerganov/wave-share
       | 
       | [1] - https://github.com/ggerganov/ggwave
       | 
       | [2] - https://www.youtube.com/watch?v=Zcgf77T71QM
        
         | sidpatil wrote:
         | Cool product! This is essentially a modern take on the
         | radioteletype [0], which is much older than dial-up modem
         | technology. You might find it interesting to study RTTY
         | modulation schemes if you haven't already done so. (If you do
         | end up implementing RTTY modulation schemes, it could make the
         | product more popular among amateur radio enthusiasts, who use
         | similar software already [1].)
         | 
         | [0] https://en.wikipedia.org/wiki/Radioteletype
         | 
         | [1] https://en.wikipedia.org/wiki/Fldigi
        
           | ggerganov wrote:
           | Thanks - I should definitely take a more detailed look at
           | existing RTTY modulation. I admit I haven't looked too much
           | into it. I know I am probably "rediscovering the hot water"
           | for most part :)
        
       ___________________________________________________________________
       (page generated 2021-01-13 23:03 UTC)