ququer http://xququ.comというアプリケーションを見た ことがあります。ビープ音を使用して、モバイル デバイスと他のデバイス間でメッセージやファイルを共有できます。
情報は何らかの形式で音声にエンコードされていると思いますが、それをどのように行うことができるかわかりません。
特にアンドロイドの場合、これに対する成熟したソリューションはありますか?
ququer http://xququ.comというアプリケーションを見た ことがあります。ビープ音を使用して、モバイル デバイスと他のデバイス間でメッセージやファイルを共有できます。
情報は何らかの形式で音声にエンコードされていると思いますが、それをどのように行うことができるかわかりません。
特にアンドロイドの場合、これに対する成熟したソリューションはありますか?
私はこのようなアプリを作りたかったのですが、ひどいモデムのような音を作る代わりに、R2D2 のような音を作りました。それに慣れたことはありません。とにかく、あなたの質問に答えるために: Gabe Sechan は、情報を伝達するために音 (または任意の波) を使用できる 2 つの方法を挙げています。3 番目は、位相変調と呼ばれます。
これら 3 つの技術 (AM、FM、PM) は、1 つの信号からのデータを別の信号に適用して送信する方法の主要な要素ですが、これらはアナログ変調の例です。このアプリケーションでは、デジタル変調が必要です。これは私の専門知識から少し外れているので、ウィキペディアを参照します (ただし、他の誰かがここでより完全な回答を提供できるかもしれません)。
http://en.wikipedia.org/wiki/Modulation#Digital_modulation_methods
より良い出発点については、dsp.stackexchange.com で質問することもできます。ここには知っておくべきことがたくさんありますが、オープンソースのライブラリをググったり、少なくとも正しい質問をしたりするのに十分な情報を提供したかもしれません。
もちろん、Gabe Sechan が提案したテクニックを使用することもできます。実際、多くの(ほとんど?すべて?)デジタル変調技術は、出発点としてアナログ変調を使用しています。ただし、データレートはおそらく低くなります。
情報を音声にエンコードするには、主に 2 つの方法があります。音は特定の周波数の波であることを忘れないでください。音の音量(波の振幅)または波の周波数でエンコードできます。振幅変調と周波数変調、または AM と FM と呼ばれます。ラジオと同じように、周波数範囲が異なります。
AMはそれほど難しくありません。送信者は既知の周波数の音を 50% の音量または 100% の音量でビープ音を鳴らし、受信者はマイクで聞き取り、バンドパス フィルターを使用してその周波数を取得し、音量を測定します。FM は少し難しいですが、わずかに異なる周波数の 2 つのサウンド ファイルを使用して同じことを行うことができます。バイナリ データが必要なため、実際にはそれほど難しくありません。