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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
绘制波形图

plottingWaveform.py
"""

import wave
import pylab as pl
import numpy 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()

原文地址:https://www.cnblogs.com/douzujun/p/10699129.html

时间: 2024-11-01 13:34:04

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

Python解析Wav文件并绘制波形的方法

资源下载 #本文PDF版下载 Python解析Wav文件并绘制波形的方法 #本文代码下载 Wav波形绘图代码 #本文实例音频文件night.wav下载 音频文件下载 (石进-夜的钢琴曲) 前言 在现在繁忙的生活中,我们经常会听些歌来放松一下自己,我们经常会从各种播放软件中听自己喜欢的歌,并且往往我们会下载一部分歌曲,而现在音频的种类也相当繁多,像是Wav,Mp3,FLAC,AAC等等很多格式,最近由于需要做一个能够分析Wav格式音频的波形来取得一些数据比如获取人录音时是否说完等等用途.本周先对解

Python绘制PDF文件~超简单的小程序

Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http://www.reportlab.com/docs/reportlab-userguide.pdf 我们看看这个网页上的原数据: http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt 代码: #-*- coding: utf-8 -*- # 1. 用于下载原

python读取wav文件并播放[pyaudio/wave]

#!/usr/bin/python # encoding:utf-8 import pyaudio import wave CHUNK = 1024 # 从目录中读取语音 wf = wave.open('mic4.wav', 'rb') # read data data = wf.readframes(CHUNK) # 创建播放器 p = pyaudio.PyAudio() # 获得语音文件的各个参数 FORMAT = p.get_format_from_width(wf.getsampwidt

python 播放WAV文件

import winsound winsound.PlaySound("ding.wav",winsound.SND_FILENAME) winsound.PlaySound("chimes.wav",winsound.SND_FILENAME) winsound.PlaySound("ding.wav",winsound.SND_FILENAME) winsound.PlaySound("chimes.wav",winsou

Python绘制语谱图+时域波形

1 """Python绘制语谱图""" 2 """Python绘制时域波形""" 3 4 # 导入相应的包 5 import numpy, wave 6 import matplotlib.pyplot as plt 7 import numpy as np 8 import os 9 10 filepath = 'G:/实战培训/Python生成语谱图/ReNoise/Prim10/'

(原创)speex与wav格式音频文件的互相转换

我们的司信项目又有了新的需求,就是要做会议室.然而需求却很纠结,要继续按照原来发语音消息那样的形式来实现这个会议的功能,还要实现语音播放的计时,暂停,语音的拼接,还要绘制频谱图等等. 如果是wav,mp3不论你怎么拼接,绘制频谱图,我也没有问题,网上都有现成的例子.然而这一次居然让用speex的音频做这一切. 于是看了司信之前的发语音消息部分speex的代码,天啊,人家录的时候这是实时录音实时编码的好不好,人家放的时候也是实时解码实时播放的好不好.你这让我怎么通过 一个speex文件就得到全部的

Python绘制图表【matplotlib】

matplotlib Matplotlib 是一个 Python 的 2D绘图库 它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 通过 Matplotlib,开发者可以仅需要几行代码, 便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等 官方文档 [官方中文文档]((https://www.matplotlib.org.cn/) 安装 pip install matplotlib 绘制常见图表 折线图 import random import matplotlib.pyplo

python数据图形化—— matplotlib 基础应用

matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. 以下为一些基础使用的例子: 1.绘制直线 先通过numpy生成在直线 y = 5 * x + 5 上的一组数据,然后将其绘制在图表上 1 import numpy as np 2 import matplotlib.pyplot as plot 3 4 x = np.linspace(1, 10,

Android音频开发(4):如何存储和解析wav文件

无论是文字.图像还是声音,都必须以一定的格式来组织和存储起来,这样播放器才知道以怎样的方式去解析这一段数据,例如,对于原始的图像数据,我们常见的格式有 YUV.Bitmap,而对于音频来说,最简单常见的格式就是 wav 格式了. wav 格式,与 bitmap 一样,都是微软开发的一种文件格式规范,它们都有一个相似之处,就是整个文件分为两部分,第一部分是"文件头",记录重要的参数信息,对于音频而言,就包括:采样率.通道数.位宽等等,对于图像而言,就包括:图像的宽高.色彩位数等等:第二部