我正在尝试使用scipy重现下图:
特别是我正在使用:
from scipy.io import wavfile
该模块具有load_wav
功能,可使用FFT将输入信号(以.wav文件格式)分解为其频率/幅度表示。很明显,上图中的Y轴相当直接。我会取FFT输出的绝对值。 X轴是我不太确定的,我不确定我应该如何恢复频率。例如,当我通过scipy的FFT渲染我的信号时,我似乎只获得了时域(y轴=幅度,x轴=时间)。具体:
输入:load_wav(44100, 'input_audio.wav')
输出:[振幅 - 时间配对数组的矢量](我相信numpy格式)
有人可以解释如何用scipy绘制如上图所示的'频域'吗?我需要为此调用一个单独的函数吗?或者我当前的输出是否有必要的数据,而我只是没有正确访问它?
旁注:
Scipy的文档有超过10种不同的FFT程序,它们似乎没有与我想要绘制的图形具有相同的轴。因此,没有明确的方法来确定他们的图形名称是否是同义词,或者这些图表描绘的程序有多相似。实际上,大多数文档的图表都没有标注。对于行业专家来说,我想可以推断出很多,但我认为为了清晰起见,标签会对我们其他人有所帮助。