记 python 麦克风音量检测的片段 ———— pyaudio 的使用

背景

想尝试做一个房间防御系统,通过声音分析是否开门,然后做出以一个警报,或者直接切换屏幕什么的。但是发现麦克风能力有限,远处开门对它影响不大,可能要连个耳机(带麦克风的)什么的才行,所以暂时放弃了。这里有一个初级的声音音量检测代码,先记上一笔,

代码

用到了 numpypyaudio。可以检测实时麦克风音量的大小

import pyaudio
import numpy as np
import time

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100

def audioCheckAI(): # 麦克风检测ai
    global CHUNK,FORMAT,CHANNELS,RATE
    p = pyaudio.PyAudio()
    stream = p.open(format=FORMAT,channels=CHANNELS,rate=RATE,input=True,frames_per_buffer=CHUNK)

    while True:
        data = stream.read(CHUNK)
        audio_data = np.fromstring(data,dtype=np.short)
        max_dB = np.max(audio_data)
        if max_dB >= 60: # 非常弱智的判断,后期改进
            print('报警 ' + str(max_dB))

    
if __name__ == "__main__":
    audioCheckAI()

你可能感兴趣的:(随笔,python,开发语言,人工智能)