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()
相关推荐
施棠海16 小时前
多 Agent 团队编排系统的设计与实测:agent-workflow
python·ai·架构
asdzx6716 小时前
Python 实现从 URL 在线下载 PDF 文档教程
python·pdf
Bruce_Liuxiaowei16 小时前
元组与具名元组:把「第 3 个字段」变成「price」
数据结构·python·语法·元组
___波子 Pro Max.16 小时前
pip 管库,pipx 管工具:Python 依赖隔离的正确姿势
python
新鲜势力呀16 小时前
PHP 实战:第三方接口经常超时怎么办?从API调用优化到服务稳定性完整方案
开发语言·php
艾莉丝努力练剑16 小时前
【AI大模型接入SDK】ChatSDK:CMake构建静态库完整实现
java·开发语言·网络·c++·人工智能·学习·sdk
haerapi16 小时前
仓库拣货路线不只靠最短边:S 形启发式的反例记录
android·开发语言·javascript
时间的拾荒人16 小时前
Qt 显示类控件详解:从 QLabel 到 QCalendarWidget 的实战指南
开发语言·qt·面试
.道阻且长.16 小时前
C++11 :右值引用的作用,引用折叠和完美转发
java·开发语言·c++
code2cat16 小时前
Java进阶篇之StampedLock:先读取,再校验,必要时退回读锁
java·开发语言