Advertisement

用python读取wav文件计算过零率并绘制图像

阅读量:
复制代码
 import math

    
 import wave
    
 import numpy as np
    
 import pylab as pl
    
  
    
 def ZeroCR(waveData,frameSize,overLap):
    
     wlen = len(waveData)
    
     step = frameSize - overLap
    
     frameNum = math.ceil(wlen/step)
    
     zcr = np.zeros((frameNum,1))
    
     for i in range(frameNum):
    
     curFrame = waveData[np.arange(i*step,min(i*step+frameSize,wlen))]
    
     #To avoid DC bias, usually we need to perform mean subtraction on each frame
    
     curFrame = curFrame - np.mean(curFrame) # zero-justified
    
     zcr[i] = sum(curFrame[0:-1]*curFram

全部评论 (0)

还没有任何评论哟~