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()
相关推荐
淼淼7632 小时前
QT表格与数据
开发语言·qt
smile_Iris2 小时前
Day 38 GPU训练及类的call方法
开发语言·python
嗷嗷哦润橘_2 小时前
AI Agent学习:MetaGPT项目之RAG
人工智能·python·学习·算法·deepseek
Smart-Space2 小时前
tkinter绘制组件(47)——导航边栏
python·tkinter·tinui
认真敲代码的小火龙3 小时前
【JAVA项目】基于JAVA的养老院管理系统
java·开发语言·课程设计
AI科技星3 小时前
统一场论质量定义方程:数学验证与应用分析
开发语言·数据结构·经验分享·线性代数·算法
扶苏-su3 小时前
Java---事件处理机制
java·开发语言
ULTRA??3 小时前
KD-Tree的查询原理
python·算法
小灰灰搞电子3 小时前
Qt 实现炫酷锁屏源码分享
开发语言·qt·命令模式
电饭叔3 小时前
TypeError:unsupported operand type(s) for -: ‘method‘ and ‘int‘
开发语言·笔记·python