3

私は現在、wav ファイルを入力として EPCP を使用したコード認識に関する論文を作成していますが、現在、単一の wav ファイルのフレーム数とフレーム サイズを決定することに行き詰まっています。NAudio ライブラリの hammingwindow 関数のパラメータとしてこれらのデータが必要です

public static double HammingWindow(int n, int frameSize)

利用可能なすべての wav ヘッダーを取得しましたが、フレーム数とフレーム サイズを取得する方法がわかりません。与えられたヘッダデータから計算できますか? それとも別の方法がありますか?

4

3 に答える 3

2

ハミング ウィンドウとは何かを知っていれば、そのような質問はしないでしょう。ウィキペディアの記事は、それについてのすべてを教えてくれます。

私自身は DSP の専門家ではありませんが、空き時間に数か月間 DSP を使用してきました。私が言えることは、これは絶対に複雑な分野だということです! 1週間かそこらで把握できるものは何もありません。学生は、高校の数学期の間、この分野で教育を受けます。補足として。

だから、あなたの質問に関して:

ブロック サイズを選択します。これは通常、オーディオ ハードウェアから事前に決定されます。これは常に底が 2 であるため、128、256 .... 典型的なものは 1024 です。これがフレームサイズです。

WAV ファイルを使用する場合は、必要に応じてフレーム サイズを選択できます。上記の基準を満たしている必要があります。

このコンテキストでのウィンドウは、ある値で時間 0 から開始し、ある値で frameSize-1 で終了する「曲線」です。

関数のパラメータ「n」は、このウィンドウ内の位置です。この関数は、「n」の値を表す 0 ~ 1 の値を返します。

于 2012-02-13T01:27:49.547 に答える
1

私は HammingWindow を使用していません。これによるフレームはサンプルに似ていますが、マルチチャネル形式では「特定のデータ ポイントでのすべてのチャネルのスナップショット」です。

実際に必要な場合は、ヘッダーからこのようなものを使用してサンプル サイズを取得できます。

于 2014-11-05T18:34:44.743 に答える
1

NAudio には、SampleAggregator.cs が HammingWindow 関数を使用する WPF デモがあります。そのサンプルを確認して、その使用方法を理解しましたか?

于 2012-02-13T02:12:47.010 に答える