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()
相关推荐
iiiiyu1 分钟前
面向对象案例
java·大数据·开发语言·数据结构·python·编程语言
Chris _data1 分钟前
C# WinForms 后台轮询 Modbus 数据与 UI 更新实践
开发语言·ui·c#
晚风叙码3 分钟前
从0吃透C++入门|第一个程序、命名空间与缺省函数基础
开发语言·c++
yuhuofei20213 分钟前
【Python入门】Python中的match-case语句用法
python
j_xxx404_5 分钟前
Linux线程:核心机制与优雅的 C++ 封装实践|附源码
linux·运维·服务器·开发语言·c++·人工智能·ai
qingyulee6 分钟前
机器学习概述、KNN算法
开发语言·python·机器学习
mohaoyuan6 分钟前
软考架构师知识点汇总
开发语言·架构
Zhang~Ling12 分钟前
C++ 模板进阶:非类型参数、特化与分离编译深度解析
开发语言·c++
Oj92q85H516 分钟前
如何在Dev-C++中使用TDM-GCC编译项目
linux·开发语言·c++
Chase_______16 分钟前
【Java】String 常量池、== 与 equals 详解:从引用比较到 intern() 一次讲清
java·开发语言