本文,介绍wave读取音频的方法,并根据读取的音频数据,绘制波形图。
工具/原料
电脑
python3.6
matplotlib模块
numpy模块
wave模块
方法/步骤
1、准备一个wav坼黉赞楞格式的音频文件,这里提供一个下载链接如下:pan.baidu.com/s/1J1GcSPrZ-sBfB_5Mtch8uA提取码:qyn7加载模块:读取音频的模块wave,膏柽伫挞处理数据的模块numpy,画图模块matplotlib。
2、第二步,读取音频文件:a=wave.open('0.wav'),查看a的类型:print(type(a))
3、读取音频数据:nf=a.getnframes()data咯悝滩镞=a.readframes(nf)这个data还不是数的列表,而是一个bytes格式的数据。print(type(data))
4、把data转化为数组:w=np.fromstrin壹执慵驾g(data,dtype=np.int16)除以最大值,使脲摩喜清得所有的数字介于-1到1之间:w=w*1.0/(max(abs(w)))这个时候的数据类型,就是数组的形式:print(type(w))
5、画图:plt.plot(w,'-',c='g')plt.show()
6、保存波形图:plt.savefig('0.png')注意,保存图形一定要在show之前进行。