-4

我想使用带有 MP3FileReader 对象的 NAudio 将 mp3 读入字节数组,然后我会尝试 fft 它来创建频谱分析仪,但我找不到任何关于它的方法的文档。你有什么建议或例子吗?

4

3 回答 3

1

MP3 被编码。在 MP3 上执行 FFT 只会扰乱数据。首先解码,删除元数据,然后作为样本读入数组。确保元素大小与样本大小相同。

MATLAB 和 Octave 非常适合信号处理。

抱歉,没有任何 NAudio 经验。

于 2013-03-27T03:50:33.827 回答
1

File.ReadAllBytes将文件读入字节数组:

 var bytes = File.ReadAllBytes(fileName);
于 2013-03-27T03:37:52.220 回答
0

要将音频传递到 FFT,您需要先将其转换为 PCM。NAudioMp3FileReader附带的会自动执行此操作。因此,当您调用时,Read您将获得 16 位 PCM 作为字节数组。如果AudioFileReader改为使用,则可以将样本作为浮点数,标准化为 +/- 1.0 范围,这是传递给 FFT 的理想选择(尽管您需要分别计算每个通道的 FFT)。如果您查看 NAudio WPF 项目的源代码,您会发现它使用 FFT 来创建频谱分析仪。

于 2013-03-27T07:00:07.753 回答