Python绘制wav文件音频图(静态)[matplotlib/wave]

摘要:
#!
#!/usr/bin/env python
#-*- coding: utf-8 -*-
"""
绘制波形图
plottingWaveform.py
"""
importwave
importpylab as pl
importnumpy as np
print('working')
#打开wav文档
file = wave.open(r"mic4.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, wave_data[0][0:len(time)])
pl.subplot(2, 1, 2)  #这里也可以使用pl.subplot(212)

pl.plot(time, wave_data[1][0:len(time)], c="g")
pl.xlabel("time (seconds)")
pl.show()

Python绘制wav文件音频图(静态)[matplotlib/wave]第1张

免责声明:文章转载自《Python绘制wav文件音频图(静态)[matplotlib/wave]》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java学习--基础知识进阶第六天--集合&迭代器、增强for & 泛型、常见数据结构、List子体系vue使用基础下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python之路 之一pyspark

pip包下载安装pyspark pip install pyspark  这里可能会遇到安装超时的情况   加参数  --timeout=100 pip   -default   -timeout=100     install -U pyspark  下面是我写的一些代码,在运行时,没什么问题,但是目前不知道怎么拿到rdd与dataframe中的值  f...

用python从redis的有序集合中一次性删除多个值

最近做的一个东西,需要用python从redis的有序集合中一次性删除多个值; redis的自带方法zrem是支持此功能的 # 移除多个元素 redis> ZREM page_rank baidu.com bing.com (integer) 2 python redis 的api 中也支持 zrem(self, name, *values)...

tensorflow安装: win10 + RTX2060 + tensorflow1.15.0+ cuda10.0 + VScode

引言: 之前用的tensorflow 1.10版本,发现在训练CNN的时候会自动中止,最后定位到加入卷积层就会导致训练崩溃/中止,只用全连接层却能正常训练。重装一天后无果,干脆全部升级使用tensorflow1.15: 改用WIN10+python3.7+tensorflow1.15.0+CUDA10.0(+cudnn7.6.5)+VScode 顺便记录下...

python入门(三)

python基本语法1.python的常量与变量   Python常量需要用对象的方式来定义,先定义一个const模块,再导入文件中使用。 定义:const.py,放入Python的lib库中。 1 class _const: 2 class ConstError(TypeError):pass 3 def __setattr__(se...

Python 3.9 安装pyspider

错误1 运行安装pip install pyspider 时会遇到报错“pycurl” Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-vXo1W3/pycurl 解决办法 这是PyCurl安装错误,此时需要安装PyCurl库。从[http://...

python基础篇(文件操作)

Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操 作也会有相应的差异. 打开文件的方式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b...