我想将NAudio与MP3FileReader对象一起使用 将mp3读入字节数组然后我将尝试将其转换为创建频谱分析器 但我找不到任何有关其方法的文档。 你有什么建议或任何例子吗?
答案 0 :(得分:1)
File.ReadAllBytes会将文件读入字节数组:
var bytes = File.ReadAllBytes(fileName);
答案 1 :(得分:1)
MP3已编码。在MP3上执行FFT只会扰乱数据。首先解码,删除元数据,然后作为样本读入数组。确保元素大小与样本大小相同。
MATLAB和Octave非常适合信号处理。
抱歉,没有任何NAudio体验。
答案 2 :(得分:0)
要将音频传递到FFT,您需要先将其转换为PCM。 NAudio附带的Mp3FileReader
会自动执行此操作。因此,当您调用Read
时,您将获得16位PCM作为字节数组。如果您使用AudioFileReader
代替,您可以将样本作为浮点数进行归一化,归一化为+/- 1.0范围,这是传递FFT的理想选择(尽管您需要分别计算每个通道的FFT)。如果你看一下NAudio WPF项目的源代码,你会发现它使用FFT来创建一个频谱分析仪。