У меня есть часть файла wav ниже, который в основном представляет собой импульсный wav TTL (в основном беззвучный с регулярными звуковыми сигналами между ними):
xaxis = array([0.00000000e+00, 6.25001411e-05, 1.25000282e-04, 1.87500423e-04,
2.50000564e-04, 3.12500705e-04, 3.75000846e-04, 4.37500987e-04,
5.00001129e-04, 5.62501270e-04, 6.25001411e-04, 6.87501552e-04,
7.50001693e-04, 8.12501834e-04, 8.75001975e-04]) # in sample rate 16000
yaxis = [-3.14, -0.916, 1.163, 3.04, 4.386, 5.043, 4.918,
4.068, 2.616, 0.726, -1.308, -3.261, -4.945, -5.804, -5.884]
Я использую scipy.signal.peak_finder для полученияпик каждого звука, где он получил меня 5,043.
peaks, val = scipy.signal.find_peaks(yaxis, height=2, distance=16000 # 16000=sample_rate
Поскольку я знаю, что звуковой сигнал будет длиться около 0,1 мс, я хочу определить самое начало пика, а затем установить его как ширину.Пока что код может найти среднюю / наибольшую вершину (5.043 in yaxis
), тогда как я хочу найти самое первое значение оси Yaxis.
Любые полезные указатели или подходы относительно этого, или получение звуковых импульсов было бы здорово!Спасибо!