1

ラジオ送信から録音された WAV ファイルがいくつかあります。誰が送信したかに関する情報が含まれており、これらの情報を読み取れるようにしたいと考えています。情報は、0 の場合は x hz、1 の場合は y hz を送信することによって送信されます ( Wikipedia のAFSKの詳細)。

問題は、Wave ファイルからバイナリ データを取得するにはどうすればよいかということです。C# 用のコントロールがあればいいのですが、理解を深めるためのソース コードがあればもっと良いでしょう。

何か案は?

4

1 に答える 1

1

WAVファイルの仕様は、WAVファイルからサウンドデータを読み取るための青写真です。WAVファイルを読み取って操作するためのサンプルコードは、このCodeProjectの記事にあります。

トーンマッピングを実現するために、この記事を読むことができます。この記事では、2枚のサウンドカード間でデータを転送するソフトウェアを作成する方法について説明しています。たとえば、WAVファイルの特定のセグメントに存在する特定の周波数の量を調べるには、フーリエ変換を使用します。

このようなもの:

double fourier1(double x_in[], double n, int length) {

    double x_complex[2] = { 0, 0 };

    int i;

    for(i = 0; i < length; i++) 
    {
        x_complex[0] += x_in[i] * cos(M_PI * 2 * i * n / (double) length);
        x_complex[1] += x_in[i] * sin(M_PI * 2 * i * n / (double) length);
    }

    return sqrt(x_complex[0]*x_complex[0] + x_complex[1]*x_complex[1]) / (double) length; 
} 

ここで、x_inは-1から1までの一連の数値であり、nは変更された頻度です。

(length * fre­quency / rate)

于 2012-03-18T16:34:34.590 に答える