python绘制wav音频文件波形图

python绘制wav音频文件波形图

 

复制代码
#-*- coding: utf-8 -*-
import wave
import pylab as pl
import numpy as np
print('working')
#打开wav文档
file = wave.open(r"02.wav", "rb")
#读取格式信息
#(nchannels, sampwidth,framerate, nframes, comptype, compname)
params =file.getparams()
nchannels,sampwidth,framerate,nframes = params[:4]
#读取波形数据
str_data =file.readframes(nframes)
#文件使用完毕,关闭文件
file.close()
#将波形数据装换成数组
wave_data = np.fromstring(str_data, dtype=np.short)
wave_data.shape = (-1, 2)
wave_data = wave_data.T  #矩阵转置
time = np.arange(0, nframes) * (1.0 /framerate)
print ("time:", len(time))
print ("wave_data:", len(wave_data[0][0:len(time)]))
#绘制波形
"""
subplot(mnp) / (m,n,p)是将多个图画到一个平面上的工具.
其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,
如果m=2就是表示2行图.p表示图所在的位置,p=1表示从左到右从上到下的第一个位置.
"""
pl.subplot(2, 1, 1)  #这里也可以使用pl.subplot(211)
pl.plot(time[22000:24300], wave_data[0][0:len(time)][22000:24300])
pl.subplot(2, 1, 2)  #这里也可以使用pl.subplot(212)

pl.plot(time[22000:24300], wave_data[1][0:len(time)][22000:24300], c="g")
pl.xlabel("time (seconds)")
pl.show()
复制代码

 

 

#################

posted @   西北逍遥  阅读(453)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-03-26 QMap 遍历
2021-03-26 IfcDirectionSenseEnum
2020-03-26 IfcFeatureElement
点击右上角即可分享
微信分享提示