我试图使用Python获得.wav文件的频率与时间关系图。目前,我有一个代码可以绘制振幅与时间以及频率与功率(dB)的关系图。我试图用频率与功率图的代码来代替绘制频率与时间的关系图,但没有成功。我知道频率数据是对称的,这意味着与时间数据相比,我有1/2的数据点。我可以通过保存重复的频率数据来绘制它们,但我怀疑这是否真的能精确地表示频率与时间的关系。在
我觉得这种方法需要对数据段进行短时傅立叶变换,然后绘制结果。也就是说,我发现了一些类似的代码,但是我很难理解这些代码发生了什么,并做出任何有意义的调整来帮助我实现我的目标。在
总之,我希望有人能有一些示例代码或方法来用Python创建.wav文件的频率与时间关系图。多谢了!请让我知道,如果我可以张贴代码,我一直使用到目前为止。在#Import the required functions
from scipy.io.wavfile import read
from scipy.fftpack import fft, fftfreq, fftshift
from scipy.signal import get_window
from math import ceil
from pylab import figure, imshow, clf, gray, xlabel, ylabel
# Read in a wav file
# returns sample rate (samples / sec) and data
rate, data = read('waveTest.wav')
data = data[:,0]
# Define the sample spacing and window size.
dT