Я хочу записать звук (голос) с помощью PortAudio (PyAudio) и вывести на экран соответствующую звуковую волну. Безнадежный, как и я, я не могу извлечь информацию о частоте из аудиопотока, чтобы я мог рисовать его в формате Hz/time.Как извлечь частотную информацию из входного аудиопотока (используя PortAudio)?
Вот пример кода, который записывает и воспроизводит записанный звук в течение пяти секунд, в случае, если это помогает любому:
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)
Я хочу, чтобы извлечь необходимую информацию из вышеупомянутых «данных» переменной. (Или какой-то другой высокоуровневый подход с Portaudio или другую библиотеку с привязками Python.)
Я был бы очень признателен за любую помощь! Оценены даже неопределенно связанные лакомые кусочки аудиоанализирующей мудрости. :)
Итак, вы хотите сделать анализатор спектра? – endolith 2009-09-17 16:23:24