Python 读取WAV文件并绘制波形图
# -*- coding: utf-8 -*- import wave import pylab as pl import numpy as np # 打开WAV文档 f = wave.open(r"1.wav", "rb") # 读取格式信息 # (nchannels, sampwidth, framerate, nframes, comptype, compname) params = f.getparams() nchannels, sampwidth, framerate, nframes = params[:4] # 读取波形数据 str_data = f.readframes(nframes) f.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) # 绘制波形 pl.subplot(211) pl.plot(time, wave_data[0]) pl.subplot(212) pl.plot(time, wave_data[1], c="g") pl.xlabel("time (seconds)") pl.show()
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。