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