Python绘制wav文件音频图(静态)[matplotlib/wave],,#!/usr/bin
Python绘制wav文件音频图(静态)[matplotlib/wave],,#!/usr/bin
#!/usr/bin/env python# -*- coding: utf-8 -*-"""绘制波形图plottingWaveform.py"""import waveimport pylab as plimport numpy as npprint(‘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]
相关内容
- python3-特征值,特征向量,逆矩阵,,import num
- python中的进程池和线程池,,Python标准模块
- python绝技 — 用Scapy解析TTL字段的值,,#!/usr/bin
- python小白之paramiko(1),,楼主python小白
- Python赋值运算符,,以下假设变量a为10
- 资深程序员告诉你为什么要用Python3而不是Python2,,经常
- 分享《Python基础教程(第3版)》+PDF+源码+Magnus Lie Het
- python serial模块使用,是pyserial而非serial,,1 import s
- python 获取网站IP以及服务器,,写了一个识别网站的i
- 【python-leetcode904-滑动窗口法】水果成篮,,问题描述:
评论关闭