python 绘制音频的波形图,不报错,图形也不显示出来
代码如下
控制台不报错,也不显示图形

控制台不报错,也不显示图形
import wave
import numpy as np
import pylab as plt
#打开wav文件 ,open返回一个的是一个Wave_read类的实例,通过调用它的方法读取WAV文件的格式和数据。
f = wave.open(r"D:\\img\\hello.wav", "rb")
#读取格式信息
#一次性返回所有的WAV文件的格式信息,它返回的是一个组元(tuple):声道数, 量化位数(byte单位), 采样频率, 采样点数, 压缩类型, 压缩类型的描述。wave模块只支持非压缩的数据,因此可以忽略最后两个信息
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
#读取波形数据
#读取声音数据,传递一个参数指定需要读取的长度(以取样点为单位)
str_data = f.readframes(nframes)
f.close()
#将波形数据转换成数组
#需要根据声道数和量化单位,将读取的二进制数据转换为一个可以计算的数组
wave_data = np.frombuffer(str_data,dtype = np.short)
wave_data = wave_data*1.0/(max(abs(wave_data)))#wave幅值归一化
print("wave",len(wave_data))
print("nframes",nframes)
print("framerate",framerate)
#通过取样点数和取样频率计算出每个取样的时间。
time=np.arange(0,nframes)/framerate
len_time = 14239
am = time[0:len_time]
#time 也是一个数组,与wave_data[0]或wave_data[1]配对形成系列点坐标
plt.figure()
plt.subplot(5,1,1)
plt.plot(am,wave_data)
plt.show()

...全文
相关推荐
音频文件读取及显示波形图
要读取音频文件并绘制波形图,我们需要借助一些编程语言和库。例如,在Python中,我们可以利用librosa、pydub或wave库来读取音频数据,matplotlib或seaborn库进行图形绘制。
Python3.7 读取 mp3 音频文件生成波形图效果
利用`numpy`计算时间轴,并使用`matplotlib.pyplot`绘制波形图。通过设置参数可以自定义图形的样式,如颜色、边框、图例等。6.
仿照 Cool Edit 样式,绘制音频波形图
在本文中,我们将深入探讨如何仿照经典的音频编辑软件 Cool Edit 的样式,设计并实现一个简易的音频播放器,能够显示音频波形图,并允许用户通过左右滑动选择播放区域,以及使用空格键来播放选定的部分。
使用python进行波形及频谱绘制的方法
### 使用Python进行波形及频谱绘制的方法在信号处理领域,波形和频谱的可视化对于理解信号特性至关重要。本文将详细介绍如何使用Python来绘制波形图和频谱图,帮助读者更好地理解和分析音频信号。
WAVE波形图
fmt '块包含了音频流的格式信息,如采样率、位深度和通道数,'data'块则包含了实际的音频样本数据。3. **曲线绘制**:在屏幕上显示WAVE波形图,需要使用图形库或者自定义的绘图函数来实现。


