scipy 变换Pyplot x轴

vshtjzan  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(106)

我正在尝试绘制音频样本在时域上的振幅。我使用scipy.io.wavfile读取音频样本并确定采样率:


# read .wav file

data = read("/Users/user/Desktop/voice.wav")

# determine sample rate of .wav file

# print(data[0]) # 48000 samples per second

# 48000 (samples per second) * 4 (4 second sample) = 192000 samples overall

# store the data read from .wav file

audio = data[1]

# plot the data

plt.plot(audio[0 : 192000]) # see code above for how this value was determined

这将创建一个在y轴上显示振幅、在x轴上显示样本编号的图。如何将x轴转换为显示秒?
我尝试使用plt.xticks,但根据我收到的错误,我认为这不是正确的用例:
第一个

iqxoj9l9

iqxoj9l91#

您需要向绘图命令传递一个 t 向量,这个向量可以使用Numpy动态生成,以便在命令执行后被垃圾收集(迟早)

from numpy import linspace
plt.plot(linspace(0, 4, 192000, endpoint=False), audio[0 : 192000])

相关问题