import pyaudio
import numpy as np
# Параметры захвата аудио
CHUNK = 1024 # Размер блока данных
FORMAT = pyaudio.paInt16 # Формат данных
CHANNELS = 1 # Количество каналов
RATE = 44100 # Частота дискретизации
THRESHOLD = 500 # Пороговое значение для обнаружения звука
def main():
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("Слушаем...")
try:
while True:
data = stream.read(CHUNK, exception_on_overflow=False)
audio_data = np.frombuffer(data, dtype=np.int16)
max_amplitude = np.max(np.abs(audio_data))
if max_amplitude > THRESHOLD:
print(f"Звук обнаружен! Максимальная амплитуда: {max_amplitude}")
# Здесь можно выполнить какое-то действие
except KeyboardInterrupt:
print("Завершение работы...")
finally:
stream.stop_stream()
stream.close()
p.terminate()
if __name__ == "__main__":
main()