amplitud的Wav文件分析度量

2024-05-06 02:57:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我当时正在做一个项目来测量声音的振幅。我读了我的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

Tags: innewforifrangesecstartaudio