我如何读取mp3到字节数组

本文关键字:mp3 到字节 数组 读取 何读取 | 更新日期: 2023-09-27 18:05:58

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

我如何读取mp3到字节数组

文件。ReadAllBytes将把文件读入字节数组:

 var bytes = File.ReadAllBytes(fileName);

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

MATLAB和Octave对于信号处理非常有用。

对不起,我没有任何NAudio经验

要将音频传递到FFT,您需要首先将其转换为PCM。NAudio自带的Mp3FileReader会自动完成这个。所以当你调用Read时,你将得到16位PCM作为字节数组。如果您使用AudioFileReader代替,您可以将样本作为浮点数,归一化到+/- 1.0范围,这是理想的传入FFT(尽管您需要分别计算每个通道的FFT)。如果您查看NAudio WPF项目的源代码,您将看到它使用FFT来创建频谱分析仪。