Раньше с питоном никогда не сталкивался, но тут возникла необходимость модифицировать один исходничек на нём, требуется сделать вывод частоты приходящей в звуковую карту синусоиды. Сигнал записывается следующим образом:
N = jack.get_buffer_size()
output = numpy.zeros((1,N), 'f')
capture = numpy.zeros((1,int(Samplerate*sec)), 'f')
while i < capture.shape[1] - N:
jack.process(output, capture[:,i:i+N])
Записывается всё успешно. Далее я попытался прикрутить такой код
for i in range(0, capture.shape[1] - N, N) :
x = rfft(capture[0,i:i+N])
x = map(lambda c : math.sqrt(c.real*c.real + c.imag*c.imag), x)
for j, xj in enumerate(x) :
if xj > 0:
print j, " : ", xj
но на выходе, как и ожидалось, получается ересь. Подскажите пожалуйста как правильно получить частоту сигнала.