import wave
import pyaudio
import numpy as np
import pylab
import pylab as pl
# 计算每一帧的能量 256个采样点为一帧
def calEnergy(wave_data) :
energy = []
sum = 0
for i in range(len(wave_data)) :
sum = sum + (int(wave_data[i]) * int(wave_data[i]))
if (i + 1) % 256 == 0 :
energy.append(sum)
sum = 0
elif i == len(wave_data) - 1 :
energy.append(sum)
return energy
# f = wave.open("./语料/" + str(i + 1) + ".wav","rb")
f=wave.open("C:/Users/Administrator/Desktop/du.wav","rb")
# getparams() 一次性返回所有的WAV文件的格式信息
params = f.getparams()
# nframes 采样点数目
nchannels, sampwidth, framerate, nframes = params[:4]
# readframes() 按照采样点读取数据
str_data = f.readframes(nframes) # str_data 是二进制字符串
# 以上可以直接写成 str_data = f.readframes(f.getnframes())
# 转成二字节数组形式(每个采样点占两个字节)
wave_data =
python wav文件短时能量并plot出来
最新推荐文章于 2024-05-05 18:41:17 发布