Python 振幅的Wav文件分析度量

Python 振幅的Wav文件分析度量,python,audio,wav,Python,Audio,Wav,我当时正在做一个项目来测量声音的振幅。我读了我的wav文件,得到了一个int16的列表。我通过求波的顶部和底部来求振幅,然后减去它。但是我不能把它转换成实际尺寸。因为它只是整数,我不知道它的实际高度。如何将其转换为米 new_audio = np.ndarray.tolist(audio[1][100000 : 101000]) gradient = [] for i in range(len(new_audio)-1) : gradient.append(new_audio[i+1

我当时正在做一个项目来测量声音的振幅。我读了我的wav文件,得到了一个int16的列表。我通过求波的顶部和底部来求振幅,然后减去它。但是我不能把它转换成实际尺寸。因为它只是整数,我不知道它的实际高度。如何将其转换为米

new_audio = np.ndarray.tolist(audio[1][100000 : 101000])


gradient = []
for i in range(len(new_audio)-1) :
    gradient.append(new_audio[i+1][1]-new_audio[i][1])

start, end = 0, 0

for i in range(len(gradient)-1) :
    if(gradient[i] < 0) :
        if(0 < gradient[i+1]) :
            start = i

    if(i > start) :
        if(gradient[i] > 0) :
            if(gradient[i+1] <0) :
                end = i
                break

num_per_sec = 48000
num_per_rot = end - start

T = num_per_rot / num_per_sec
f = num_per_sec / num_per_rot
amp = (new_audio[start][0] - new_audio[end][0])/2

print (T) #0.0006458333333333333
print (f) #1548.3870967741937
print(amp) #-7773
new_audio=np.ndarray.tolist(音频[1][100000:101000])
梯度=[]
对于范围内的i(len(新_音频)-1):
gradient.append(new_audio[i+1][1]-new_audio[i][1])
开始,结束=0,0
对于范围内的i(透镜(梯度)-1):
如果(梯度[i]<0):
如果(0<梯度[i+1]):
开始=i
如果(i>开始):
如果(梯度[i]>0):

如果(梯度[i+1]原始音频时域曲线PCM格式通常从给定的int16值标准化为-1到+1,那么曲线高度最好通过重复对音频采样窗口进行均方根测量来测量…RMS公式仅为sqrt(h1^2+h2^2+h3^2…对于多个采样)这将给你一个功率测量值,但我现在需要的是如何改变我得到的振幅,以测量AW音频时域曲线PCM格式通常是从给定的int16值标准化为-1到+1,因此曲线高度最好通过重复测量音频采样窗口的均方根来测量…RMS formula只是sqrt(h1^2+h2^2+h3^2…对于更多的样本),这将给你一个功率测量汉克斯,但我现在需要的是如何改变振幅,我得到了米