python
August 9, 2023
Анализ данных с микрофона
Вот пример анализа стриминга с микрофона на Python, используя библиотеку PyAudio:
python
Copy code
import pyaudio
import numpy as np
# Функция для обработки звукового потока
def process_audio_stream(stream):
CHUNK = 1024 # Размер блока аудио данных
RATE = 44100 # Частота дискретизации
while True:
data = np.frombuffer(stream.read(CHUNK), dtype=np.int16)
# Выполните здесь нужный анализ данных в переменной "data"
# Пример анализа: подсчитываем среднее значение амплитуды
mean_amplitude = np.mean(np.abs(data))
print("Среднее значение амплитуды:", mean_amplitude)
# Инициализируем PyAudio
p = pyaudio.PyAudio()
# Открываем звуковой поток с микрофона
stream = p.open(format=pyaudio.paInt16, channels=1, rate=RATE, input=True, frames_per_buffer=CHUNK)
# Запускаем обработку звукового потока
process_audio_stream(stream)
В данном примере, после инициализации PyAudio, мы открываем звуковой поток с микрофона и передаем его в функцию process_audio_stream(). В функции process_audio_stream() мы определяем размер блока аудио данных (CHUNK), частоту дискретизации (RATE) и начинаем цикл чтения блоков данных. Внутри цикла вы можете выполнять необходимый анализ данных, переданных в переменной data. В данном примере просто считаем среднее значение амплитуды и выводим его на экран. Можете изменить анализ данных в этой функции согласно вашим требованиям.