问题描述
- python自动化测试的问题,比较两个波形文件,能用方差直接比较么?
-
主要是有两个波形文件,它们由不同的方式生成,一个是期望值,一个是要测试的,我是想知道,如果写了一个方差的函数variance(),可不可以直接variance(wavefile1)和variance(wavefile2)这样比较?
解决方案
看你的函数的参数是什么要求,当然可以直接读取文件,然后比较。只要你自己实现的函数支持
解决方案二:
还是要循环才能判断,没有办法直接求
解决方案三:
主要还是把波形变成数组。。。然后可以直接求方差了
#read the wave's format infomation,and return a tuple
params = f2.getparams()
#get the info
nchannels, sampwidth, framerate, nframes = params[:4]
#Reads and returns nframes of audio, as a string of bytes.
wavefile = f2.readframes(nframes)
#close the stream
wave_data = np.fromstring(wavefile, dtype = np.short)
def variance(s):
narray=numpy.array(s)
sum1=narray.sum()
narray2=narray*narray
sum2=narray2.sum()
mean=sum1/len(s)
var=sum2/len(s)-mean**2
return var
时间: 2024-12-08 21:11:28