超音波通信:音声を使用してデータを転送します

電子的に誰かとチャットしたいときはいつでも、何らかの方法で接続を確立する必要があります。 これには、インターネット、ローカルエリアネットワーク、モバイル接続などがあります。

ただし、通信する方法は他にもあり、そのうちの1つは音によるものです。 これはまったく新しい概念ではありませんが、それを利用するコンピューターアプリケーションはそれほど多くありません。

Quietnetは、Pythonでコーディングされたチャットプログラムで、超音波に近い周波数を使用して動作します。 超音波自体は20 kHzを超える周波数の音であるため、人間には聞こえません。 アプリケーション自体は〜19 kHzの周波数で動作します。

使い方に関しては、マシンでsend.pyとlisten.pyの2つのスクリプトを実行するだけです。 Sendは頻度を使用してチャットメッセージを送信するために使用され、listenはプロセスで取得されたメッセージを表示します。

テストに使用して、動作するかどうかを確認できます。 複数のチャット参加者がいる場合、それぞれが両方のプログラムを実行する必要があります(すべての参加者が送受信を望んでいると仮定します)。

Quietnetを実行する前に、オペレーティングシステムにpyaudioとnumpy(Numerical Python)と同様にPythonをインストールする必要があります。

それが邪魔にならないようになったら、コマンドpython send.pyおよびpython listen.pyを実行して開始します。 send.pyウィンドウに入力したものはすべて、プロセスのlisten.pyウィンドウにも表示されます。

送信は、BluetoothやWiFiなど、機能するために有効にする必要がある通常のテクノロジーなしで機能します。

動作するかどうかは、スピーカーやマイクの品質など、いくつかの要因に依存します。 著者は、転送の効率を改善するために音量を上げることを提案していますが、それはそれについてです。

あなたは音を聞くことができないかもしれないが、動物や若い人間はできるかもしれないことに注意してください。

Python 3.3がインストールされているWindows 7マシンでスクリプトを実行できませんでした。

別のアプリケーションは、Webオーディオ実装Sonicnet.jsです。これは、データをサウンドとして送受信できるJavaScriptライブラリです。

著者は、実装の背後にある概念を説明します。

基本的に、使用する周波数の範囲と、送信できる文字のアルファベットを指定できます。 周波数スペクトルは、指定されたアルファベットと開始/終了コードに対応する範囲に分割され、各文字/コードは全周波数範囲の一部に対応します。

送信側は、送信する単語の各文字を対応する周波数範囲の中心に変換し、その周波数を特定の期間送信します。 受信側は信号の連続フーリエ変換を行い、指定された周波数範囲のピークを探します。 かなりの期間ピークを見つけると、周波数から文字への変換を行います。

サウンドを使用してデータを転送するというアイデアは新しいものではありませんが、新しいアプリケーションは、このテクノロジーをより多くのユーザーにもたらす可能性があります。