Advertisement

pyaudio VAD通过声音音频值分贝大小检测没人说话自动停止录制

阅读量:

若说话声音过小,可能导致无法被有效监听,此时需调整QUIET_DB的阈值设置;此外,delay_time参数用于定义语音信号低于设定阈值后,需要等待多长时间才能停止当前语音的保存操作。

复制代码
    import pyaudio
    import wave
    
    import sys
    import numpy as np
    
    def record_auto(MIC_INDEX=1):
    '''
    开启麦克风录音,保存至'temp/speech_record.wav'音频文件
    音量超过阈值自动开始录音,低于阈值一段时间后自动停止录音
    MIC_INDEX:麦克风设备索引号
    '''
    
    CHUNK = 1024               # 采样宽度
    RATE = 16000               # 采样率
    
    QUIET_DB = 2000            # 分贝阈值,大于则开始录音,否则结束
    delay_time = 1            # 声音降至分贝阈值后,经过多长时间,自动终止录音
    
    FORMAT = pyaudio.paInt16
    CHANNELS = 1 if sys.platform == 'darwin

全部评论 (0)

还没有任何评论哟~