我认为你的问题有三个不同的部分:
>如何将音频文件加载到python中?
>如何计算python中的频谱?
>如何处理频谱?
1.如何在python中加载音频文件?
使用scipy可能是最好的,因为它提供了许多信号处理功能.用于加载音频文件:
import scipy.io.wavfile
samplerate, data = scipy.io.wavfile.read("mywav.wav")
现在,您可以将采样率和样本中的采样率(samples / s)作为数据中的numpy.array.您可能希望将数据转换为浮点数,具体取决于您的应用程序.
还有一个用于加载wav文件的标准python模块wave,但是numpy / scipy提供了更简单的接口和更多的信号处理选项.
2.如何计算频谱
简要回答:使用FFT.有关更多智慧的话,请参阅:
更长的答案是很长的.窗口非常重要,否则你会有奇怪的光谱.
3.如何处理频谱
这有点困难.通常在时域中执行滤波以获得更长的信号.也许如果你告诉我们你想要完成什么,你会得到一个很好的答案.计算频谱是一回事,在信号处理中获得有意义的结果有点复杂.
(我知道你没有问过这个,但是我看到它的概率大于>> 0.当然,你可能对音频信号处理有很好的了解,在这种情况下,这是无关紧要的.)