本文主要是介绍python pyaudio显示音频波形图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
python pyaudio显示音频波形图
代码如下:
import numpy as np
import matplotlib.pylab as plb
import wave# 读取 wav
wf = wave.open("./output.wav", "rb")# 获取音频相关参数:声道数、量化位数、采样频率、采样帧数
nchannels, sampwidth, framerate, nframes = wf.getparams()[:4]# 将音频转为可处理形式,nframes 是帧数,函数返回的是 str 数据
str_datas = wf.readframes(nframes)# 关闭文件流 wave
wf.close()# 转换为 1 维短整型数组,np.short 8 位
w_datas = np.fromstring(str_datas, dtype=np.short)
print(w_datas.shape)# 维度修改为 2,分离左右声道
w_datas.shape = -1, 2
print(w_datas.shape)# -1 表示自动适配,根据另一个维度的数量进行分割,得到 n 行 2 列的数组
w_datas = w_datas.T
time = np.arange(0, nframes) * (1 / framerate)
plb.subplot(211)
plb.plot(time[0:220160], w_datas[0], c="g")
plb.xlabel("time")
plb.ylabel("amplitude")
plb.subplot(212)
plb.plot(time[0:220160], w_datas[1], c="b")
plb.xlabel("time")
plb.ylabel("amplitude")
plb.show()
这篇关于python pyaudio显示音频波形图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!