Я хочу записать звук (голос) с помощью PortAudio (PyAudio) и вывести соответствующую звуковую волну на экран. Безнадежно, как я, я не могу извлечь информацию о частоте из аудиопотока, чтобы я мог нарисовать ее в форме Гц / время.
Вот пример фрагмента кода, который записывает и воспроизводит записанное аудио в течение пяти секунд, если это поможет:
p = pyaudio.PyAudio()
chunk = 1024
seconds = 5
stream = p.open(format=pyaudio.paInt16,
channels=1,
rate=44100,
input=True,
output=True)
for i in range(0, 44100 / chunk * seconds):
data = stream.read(chunk)
stream.write(data, chunk)
Я хочу извлечь необходимую информацию из вышеуказанной переменной «data». (Или используйте другой высокоуровневый подход с PortAudio или другой библиотекой с привязками Python.)
Буду очень признателен за любую помощь! Ценится даже смутно связанный с ним аудио-анализ мудрости. :)