-4

NAudioとMP3FileReaderオブジェクトを使用してmp3をバイト配列に読み取り、それをfftしてスペクトラムアナライザーを作成しようとしますが、そのメソッドに関するドキュメントが見つかりません。何か提案や例はありますか?

4

3 に答える 3

1

File.ReadAllBytesは、ファイルをバイト配列に読み込みます。

 var bytes = File.ReadAllBytes(fileName);
于 2013-03-27T03:37:52.220 に答える
1

MP3はエンコードされています。MP3でFFTを実行すると、データがスクランブルされます。最初にデコードし、メタデータを削除してから、サンプルとして配列に読み込みます。要素のサイズがサンプルサイズと同じであることを確認してください。

MATLABとOctaveは、信号処理に最適です。

申し訳ありませんが、NAudioの経験はありません。

于 2013-03-27T03:50:33.827 に答える
0

オーディオをFFTに渡すには、最初にPCMに変換する必要があります。NAudioMp3FileReaderに付属しているはこれを自動的に行います。したがって、呼び出すReadと、16ビットPCMがバイト配列として取得されます。代わりに使用する場合AudioFileReaderは、サンプルをフロートとして取得し、+/- 1.0の範囲に正規化できます。これは、FFTに渡すのに理想的です(ただし、各チャネルのFFTを個別に計算する必要があります)。NAudio WPFプロジェクトのソースコードを見ると、FFTを使用してスペクトラムアナライザーを作成していることがわかります。

于 2013-03-27T07:00:07.753 に答える