Comunicación ultrasónica: use el sonido para transferir datos

Siempre que desee chatear electrónicamente con alguien, deberá establecer una conexión de alguna manera. Esto puede ser a través de Internet, una red de área local o una conexión móvil, por ejemplo.

Sin embargo, hay otros medios para comunicarse, y uno de ellos es por el sonido. Si bien ese no es un concepto completamente nuevo, en realidad no ha habido tantas aplicaciones informáticas que lo utilicen.

Quietnet es un programa de chat codificado en Python que funciona usando frecuencias ultrasónicas cercanas. El ultrasonido en sí es un sonido con una frecuencia superior a 20 kHz, lo que lo hace inaudible para los humanos. La aplicación en sí funciona con frecuencias de ~ 19 kHz.

En cuanto al uso, todo lo que necesita hacer es ejecutar dos scripts, send.py y listen.py en su máquina. Enviar se usa para enviar mensajes de chat usando la frecuencia, mientras que escuchar mostrará cualquier mensaje que se recoja en el proceso.

Puede usarlo para pruebas para ver si funciona. Si hay varios participantes en el chat, cada uno debe ejecutar ambos programas, suponiendo que todos quieran recibir y enviar.

Antes de poder ejecutar Quietnet, es necesario instalar Python, así como pyaudio y numpy (Numerical Python) en el sistema operativo.

Una vez que esté fuera del camino, ejecute los comandos python send.py y python listen.py para comenzar. Lo que escriba en la ventana send.py debería aparecer en la ventana listen.py también en el proceso.

El envío funciona sin ninguna de las tecnologías habituales que debe haber habilitado para que funcione, como Bluetooth o WiFi.

Sin embargo, si funciona depende de varios factores, incluida la calidad de los altavoces y el micrófono. El autor sugiere subir el volumen para mejorar la eficiencia de la transferencia, pero eso es todo.

Tenga en cuenta que si bien es posible que no pueda escuchar el sonido, los animales o los humanos jóvenes sí pueden hacerlo.

No pude ejecutar el script en mi máquina con Windows 7 con Python 3.3 instalado.

Otra aplicación es la implementación de audio web Sonicnet.js, una biblioteca de JavaScript que puede enviar y recibir datos como sonidos.

El autor explica el concepto detrás de la implementación:

Básicamente, puede especificar un rango de frecuencias para usar y un alfabeto de caracteres que se pueden transmitir. El espectro de frecuencia se divide en rangos correspondientes al alfabeto especificado y a los códigos de inicio / final, con cada carácter / código correspondiente a una parte del rango de frecuencia completo.

El lado emisor convierte cada carácter de la palabra que se enviará al centro del rango de frecuencia correspondiente, y transmite esa frecuencia durante una cierta duración. El lado receptor realiza una transformación continua de Fourier de la señal y busca picos en el rango de frecuencia especificado. Al encontrar un pico durante una duración significativa, realiza la conversión de frecuencia a carácter.

La idea de utilizar el sonido para transferir datos no es nueva, pero las nuevas aplicaciones pueden llevar la tecnología a un público más amplio.