音频转波形图 Python源代码(小禅第一发)

2021-01-14 11:35:35 浏览数 (1)

今日无聊写了一个音频转波形图的python代码,虽然简单希望对有些人有帮助吧。

代码语言:javascript复制
#欢迎关注交流

import wave  #音频处理库
import numpy as np
import matplotlib.pyplot as plt   #专业绘图库
from PIL import Image

#读取已有图片
img = Image.open("wavedata/spect_000.png")
img.show()  #系统自带软件来显示图片

#matplotlib 显示图片
plt.figure("spect_000")
plt.imshow(img)
plt.show()


filepath = "DataSet/yuexijiang.wav"
fwav = wave.open(filepath,)
print(fwav)

params = fwav.getparams()
print(params)

nchannels,sampwidth,framerate,nframes = params[:4]
strData = fwav.readframes(nframes)
w= np.fromstring(strData,dtype=np.int16)
w = w*1.0/(max(abs(w)))
w = np.reshape(w,[nframes,nchannels])   #数据转为二维直角坐标



#绘制波形图 第一个声道波形图
time = np.arange(0,nframes)*(1.0 / framerate)
plt.figure()
plt.subplot(5,1,1)
plt.plot(time,w[:,0])
plt.xlabel("Time(s)")
plt.title("First Channel")
plt.show()
img.save("result/First Channel.png")

#绘制第二个声道的波形图
plt.subplot

0 人点赞