import numpy as np
import matplotlib.pyplot as plt
f = wave.open(r"footsteps-4.wav", 'rb')
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4] # 从0~ 4之前的数
print(nchannels, sampwidth, framerate, nframes)
strData = f.readframes(nframes)
waveData = np.fromstring(strData, dtype=np.int16)
waveData = waveData * 1.0 / (max(abs(waveData)))
time = np.arange(0, nframes) * (1.0 / framerate) # 计算音频的时间
waveData = np.reshape(waveData, [nframes, nchannels])
f.close()
plt.figure()
plt.subplot(5, 1, 1)
plt.plot(time, waveData[:, 0])
plt.xlabel("Time(s)")
plt.ylabel("Amplitude")
plt.title("Ch-1 wavedata")
plt.subplot(5, 1, 3)
plt.plot(time, waveData[:, 1])
plt.xlabel("Time(s)")
plt.ylabel("Amplitude")
plt.title("Ch-2 wavedata")
plt.show()
WAV播放读取python代码
最新推荐文章于 2024-04-08 15:57:36 发布