IIRC, there was some commercial product - years ago - that worked by using ultrasonic data transfer.
It went something like this: You install some app on your phone, which then listens for incoming audio in the ultrasonic range. The audio is coded instructions, which then would do things like blink a light on your phone or whatever. The idea was that this could be used at events (sport, music, whatever) to create light shows on the mobiles, without relying on good wifi coverage or similar in the avenue. As you could use the PA for the data transmission.
tanepiper · 17m ago
I wrote a very similar web implementation 12 years ago as a proof of concept - if it got the go-ahead, the plan was to test it with some commercial TV broadcasting in the UK where a ultrasonic short code could be sent to phones using an app with a Web view, or possibly native app.
Sadly never got picked up, although we proved the concept could work - but it certainly had it's challenges.
In order to receive the signal far from the transmitter, some form of spread spectrum encoding could be used, like CDMA. The spreading factor could be negotiated.
I always assumed that PWM was the go-to method for this kind of low bandwidth / high noise medium, I wonder why the author didn't go that route and used FM instead
nomel · 50m ago
> Tape data is encoded as two 855 T-state pulses for binary zero, and two 1,710 T-state pulses for binary one.
Is that not FM, more specifically FSK, just with some extra harmonics?
cogman10 · 1h ago
Another step to look into if you really want to have fun is implementing some sort of QAM.
adzm · 2h ago
The web tool is fun! I decided to give it a harder test and turned up some fans and background music up pretty loud and it still managed to decode the message.
Though after a certain point it stops recognizing it, I was still surprised how well it did with noise. I'm sure noise in higher frequencies (or the right harmonics) would be much harder to handle, but solvable in interesting ways too
lxe · 47m ago
18-20khz is not really ultrasound. Many people can still hear this range, and it's very unpleasant when played (at least to me).
For comparison, medical imaging ultrasound is 2-20 MHz (that's MEGA hertz) I think,
thfuran · 37m ago
Yeah, 18 kHz isn't really ultrasound, but 50 kHz definitely is and nobody's hearing that. You definitely don't need to go up into the MHz range and can't if the goal is to use existing audio equipment.
jnwatson · 1h ago
Chromecast has used ultrasound in lieu of pairing code for a while now.
polotics · 23m ago
what is it about websites that can't be zoomed? do the authors not realise their choice of fonts won't always fit with mobile phone screens?
echoangle · 1h ago
Isn't the "Illustrated for zoomers" version of the frequency domain wrong? I'm pretty sure the bars over the timeline show volume over time, not intensity over frequency. So the middle bar doesn't represent a specific frequency but a specific time interval in the song.
GGWave is a really great tool and does support audible and inaudible versions.
We are using it in XRWorkout to automatically sync up ingame recordings with external recordings, we are using the audible version instead of the ultrasound version so a human can sync it up too if they are using a regular video editor instead of doing it automatically in our own tools
It went something like this: You install some app on your phone, which then listens for incoming audio in the ultrasonic range. The audio is coded instructions, which then would do things like blink a light on your phone or whatever. The idea was that this could be used at events (sport, music, whatever) to create light shows on the mobiles, without relying on good wifi coverage or similar in the avenue. As you could use the PA for the data transmission.
Sadly never got picked up, although we proved the concept could work - but it certainly had it's challenges.
https://github.com/tanepiper/adOn-soundlib
https://github.com/tanepiper/adon-ad-platform
See https://anil.recoil.org/papers/audio-networking.pdf sec 2.1 for the 2003 paper and some ancient videos at https://anil.recoil.org/projects/ubiqinteraction if you want some Nokia nostalgia :-)
https://en.wikipedia.org/wiki/Trellis_coded_modulation
The acoustic channel is bound to suffer from multipath too, so some equalization may be needed too.
https://en.wikipedia.org/wiki/Equalization_(communications) https://www.ti.com/lit/an/spra140/spra140.pdf
In order to receive the signal far from the transmitter, some form of spread spectrum encoding could be used, like CDMA. The spreading factor could be negotiated.
https://en.wikipedia.org/wiki/Direct-sequence_spread_spectru...
https://softspectrum48.weebly.com/notes/tape-loading-routine...
I always assumed that PWM was the go-to method for this kind of low bandwidth / high noise medium, I wonder why the author didn't go that route and used FM instead
Is that not FM, more specifically FSK, just with some extra harmonics?
Though after a certain point it stops recognizing it, I was still surprised how well it did with noise. I'm sure noise in higher frequencies (or the right harmonics) would be much harder to handle, but solvable in interesting ways too
For comparison, medical imaging ultrasound is 2-20 MHz (that's MEGA hertz) I think,
We are using it in XRWorkout to automatically sync up ingame recordings with external recordings, we are using the audible version instead of the ultrasound version so a human can sync it up too if they are using a regular video editor instead of doing it automatically in our own tools
Here is an example how that sounds https://xrworkout.nyc3.digitaloceanspaces.com/data/video/036...