Comunicazione ad ultrasuoni: utilizzare l'audio per trasferire i dati

Ogni volta che vuoi chattare elettronicamente con qualcuno, dovrai stabilire una connessione in qualche modo. Ciò può avvenire ad esempio tramite Internet, una rete locale o una connessione mobile.

Esistono altri mezzi per comunicare, e uno di questi è il suono. Sebbene questo non sia un concetto completamente nuovo, in realtà non sono state molte le applicazioni informatiche che lo utilizzano.

Quietnet è un programma di chat codificato in Python che funziona utilizzando frequenze quasi ultrasoniche. L'ultrasuono stesso è un suono con una frequenza superiore a 20 kHz che lo rende impercettibile per l'uomo. L'applicazione stessa funziona con frequenze di ~ 19 kHz.

Per quanto riguarda l'utilizzo, tutto ciò che devi fare è eseguire due script, send.py e hear.py sul tuo computer. Invia viene utilizzato per inviare messaggi di chat utilizzando la frequenza, mentre in ascolto verranno visualizzati tutti i messaggi raccolti durante il processo.

Puoi usarlo per i test per vedere se funziona. Se ci sono più partecipanti alla chat, ognuno deve eseguire entrambi i programmi, supponendo che tutti vogliano ricevere e inviare.

Prima che Quietnet possa essere eseguito, è necessario installare Python, nonché pyaudio e numpy (Numerical Python), sul sistema operativo.

Una volta che è fuori mano, esegui i comandi python send.py e python Listen.py per iniziare. Qualunque cosa tu digiti nella finestra send.py dovrebbe apparire anche nella finestra hear.py nel processo.

L'invio funziona senza nessuna delle solite tecnologie che è necessario aver abilitato affinché funzioni, come Bluetooth o WiFi.

Se funziona dipende da una serie di fattori, tra cui la qualità degli altoparlanti e del microfono. L'autore suggerisce di alzare il volume per migliorare l'efficienza del trasferimento, ma questo è tutto.

Nota che mentre potresti non essere in grado di ascoltare il suono, che potrebbero essere in grado di fare animali o giovani umani.

Non sono riuscito a far funzionare lo script sul mio computer con Windows 7 con Python 3.3 installato.

Un'altra applicazione è l'implementazione audio web Sonicnet.js, una libreria JavaScript che può inviare e ricevere dati come suoni.

L'autore spiega il concetto alla base dell'implementazione:

Fondamentalmente, è possibile specificare un intervallo di frequenze da utilizzare e un alfabeto di caratteri che possono essere trasmessi. Lo spettro di frequenza è suddiviso in intervalli corrispondenti all'alfabeto specificato e ai codici di inizio / fine, con ciascun carattere / codice corrispondente a una parte dell'intero intervallo di frequenza.

Il lato di invio converte ogni carattere della parola da inviare al centro della gamma di frequenza corrispondente e trasmette quella frequenza per una certa durata. Il lato ricevente esegue una trasformata continua di Fourier del segnale e cerca picchi nell'intervallo di frequenza specificato. Quando trova un picco per una durata significativa, esegue la conversione da frequenza a carattere.

L'idea di utilizzare l'audio per trasferire i dati non è nuova, ma le nuove applicazioni potrebbero portare la tecnologia a un pubblico più vasto.