Ultrasonic communication: use sound to transfer data
Whenever you want to chat with someone electronically, you will have to establish a connection somehow. This can be over the Internet, a local area network or mobile connection for example.
There are other means to communicate though, and one of them is by sound. While that is not an entirely new concept, there have not really been that many computer applications that make use of it.
Quietnet is a chat program coded in Python that operates using near ultrasonic frequencies. Ultrasound itself is sound with a frequency greater than 20 kHz which makes it inaudible for humans. The application itself works with ~19 kHz frequencies.
As far as usage goes, all you need to do is run two scripts, send.py and listen.py on your machine. Send is used to send chat messages using the frequency, while listen will display any messages that get picked up in the process.
You can use it for tests to see if it works. If there are multiple chat participants, each needs to run both programs -- assuming that they all want to receive and send.
Once that is out of the way, run the commands python send.py and python listen.py to get started. Whatever you type into the send.py window should appear on the listen.py window as well in the process.
The sending works without any of the usual technologies that you need to have enabled for it to work, such as Bluetooth or WiFi.
If it works depends on a number of factors though, including the quality of speakers and microphone. The author suggests to turn up the volume to improve the efficiency of the transfer, but that is about it.
Note that while you may not be able to hear to the sound, that animals or young humans may be able to.
I could not get the script to run on my Windows 7 machine with Python 3.3 installed.
The author explains the concept behind the implementation:
Basically, you can specify a range of frequencies to use, and an alphabet of characters that can be transmitted. The frequency spectrum is split into ranges corresponding to the specified alphabet and start/end codes, with each character/code corresponding to a part of the full frequency range.
The sending side converts each character of the word to be sent into the center of the corresponding frequency range, and transmits that frequency for a certain duration. The receiving side does a continuous fourier transform of the signal and looks for peaks in the specified frequency range. Upon finding a peak for a significant duration, it does the conversion back from frequency to character.
The idea to use sound to transfer data is not new, but new applications may bring the technology to a larger audience.Advertisement