python监听环境内是否有声音

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()
相关推荐
Overboom1 小时前
[C++] --- 常用设计模式
开发语言·c++·设计模式
Univin1 小时前
C++(10.4)
开发语言·数据结构·c++
KyollBM1 小时前
每日羊题 (质数筛 + 数学 | 构造 + 位运算)
开发语言·c++·算法
Paul_09203 小时前
golang面经——map模块和sync.Map模块
开发语言
F_D_Z3 小时前
数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
python·torchvision·transforms
Univin3 小时前
C++(10.5)
开发语言·c++·算法
haogexiaole4 小时前
Java高并发常见架构、处理方式、api调优
java·开发语言·架构
张人玉4 小时前
C# 通讯关键类的API
开发语言·c#
froginwe114 小时前
R 数组:深入解析与高效使用
开发语言
tao3556674 小时前
【Python刷力扣hot100】283. Move Zeroes
开发语言·python·leetcode