python监听环境内是否有声音
首先使用pyaudio打开麦克风,并开始录音。然后使用一个while循环来不断读取麦克风录取的音频数据,然后使用numpy来分析音频数据是否有声音。当检测到有声音时,会打印"有声音"并退出循环。最后关闭录音流和释放资源。
python
import pyaudio
import numpy as np
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
audio = pyaudio.PyAudio()
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
print("Listening...")
while True:
data = np.frombuffer(stream.read(CHUNK), dtype=np.int16)
if np.max(data) > 1000: # 判断是否有声音
print("有声音")
break
stream.stop_stream()
stream.close()
audio.terminate()