You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Speech Recognition库listen()函数卡死无输出问题求助

Speech Recognition库listen()函数卡死的解决方法
  • 检查麦克风权限
    Windows系统中,打开「设置」→「隐私和安全性」→「麦克风」,确保允许应用访问麦克风,并且你的Python虚拟环境(或Python主程序)已被授予麦克风访问权限。

  • 指定正确的麦克风设备
    系统可能默认选择了错误的麦克风设备,先运行以下代码列出所有可用麦克风:

    import speech_recognition as sr
    for index, name in enumerate(sr.Microphone.list_microphone_names()):
        print(f"麦克风设备 {index}: {name}")
    

    找到你正在使用的麦克风对应的索引,修改原代码指定设备:

    import speech_recognition as sr
    
    r = sr.Recognizer()
    # 替换为目标麦克风的索引
    target_mic_index = 0
    with sr.Microphone(device_index=target_mic_index) as source:
        r.pause_threshold = 1
        print('say')
        audio = r.listen(source)
        text = r.recognize_google(audio, language='en-in')
        print(f'user said:{text}')
    
  • 为listen()添加超时参数
    避免函数无限等待语音输入,给listen()添加timeout(等待语音的最长时间)和phrase_time_limit(录音的最长时长)参数:

    audio = r.listen(source, timeout=5, phrase_time_limit=10)
    

    上述代码表示最多等待5秒开始录音,录音时长不超过10秒。

  • 增加环境噪音校准
    如果环境噪音较大,listen()可能会一直等待静音信号,先添加噪音校准步骤:

    with sr.Microphone(device_index=target_mic_index) as source:
        r.adjust_for_ambient_noise(source, duration=1)  # 用1秒时间校准环境噪音
        r.pause_threshold = 1
        print('say')
        audio = r.listen(source)
        text = r.recognize_google(audio, language='en-in')
        print(f'user said:{text}')
    

内容的提问来源于stack exchange,提问作者Om Ghosal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:04:58