用python计算fft

用python计算fft,python,raspberry-pi,sox,pydub,libsox,Python,Raspberry Pi,Sox,Pydub,Libsox,通过在Python中使用wave,我们可以读取.wav音频格式,并可以计算信号的频率和功率。但是我想直接计算.mp3音频格式的频率。我听说过一点关于皮索克斯的事。Pysox能够读取帧吗?我们可以使用Pysox计算fft和频率吗?或者还有其他软件可以使用Python计算MP3文件的频率吗?您的问题有几个部分,但我想试一试:您可以使用pydub获得原始音频数据(与wave模块提供的内容相同) (请注意,mp3解码需要安装ffmpeg或avlib) 从那里你应该可以使用numpy。post也有助于提高

通过在Python中使用
wave
,我们可以读取.wav音频格式,并可以计算信号的频率和功率。但是我想直接计算.mp3音频格式的频率。我听说过一点关于皮索克斯的事。Pysox能够读取帧吗?我们可以使用Pysox计算fft和频率吗?或者还有其他软件可以使用Python计算MP3文件的频率吗?

您的问题有几个部分,但我想试一试:您可以使用pydub获得原始音频数据(与
wave
模块提供的内容相同)

(请注意,mp3解码需要安装ffmpeg或avlib)


从那里你应该可以使用numpy。post也有助于提高速度

请尝试scipy.fft()。为了提高速度,他们的网站非常慢
import pydub

sound = pydub.AudioSegment.from_mp3("/path/to/file.mp3")
raw_data = sound._data