WAV файл анализа метрики амплитуды - PullRequest
1 голос
/ 01 декабря 2019

Я работал над проектом, чтобы получить амплитуду звука. Я прочитал мой 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
...