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

Windows10下Python3的SpeechRecognition无法检测音频信号求助

解决SpeechRecognition无法检测麦克风声音的问题

我之前在Windows 10上用SpeechRecognition时也碰到过一模一样的问题,给你几个实用的排查和解决方向:

  • 检查麦克风权限:打开Windows设置→隐私和安全性→麦克风,确保「允许应用访问你的麦克风」是开启状态,还要确认你用来运行脚本的终端(CMD/PowerShell)或者IDE在列表里有访问权限——很多时候默认没给终端麦克风权限,这是最容易忽略的点。

  • 确认默认麦克风设备:右键任务栏的音量图标→声音设置→输入,先确认默认选中的麦克风是你正在使用的那个(比如内置麦或者耳机麦)。对着麦克风说话,观察「测试麦克风」的音量条有没有跳动,先确保系统层面能正常捕获声音。

  • 手动调整能量阈值:你看到的969.067这个能量阈值可能太高了,导致正常说话的声音被判定为背景噪音过滤掉。可以用下面的脚本手动调整阈值并测试:

import speech_recognition as sr

# 初始化识别器
r = sr.Recognizer()
# 使用默认麦克风作为输入源
with sr.Microphone() as source:
    # 延长环境噪音检测时长,让识别器更准确判断背景噪音
    r.adjust_for_ambient_noise(source, duration=2)
    print(f"调整后的能量阈值: {r.energy_threshold}")
    print("现在可以说话了!")
    # 监听麦克风输入
    audio = r.listen(source)

# 尝试识别语音
try:
    print(f"识别结果: {r.recognize_google(audio)}")
except sr.UnknownValueError:
    print("抱歉,没听清你说的内容")
except sr.RequestError as e:
    print(f"调用Google语音识别服务出错了: {e}")

运行这个脚本,看看能不能捕获到你的声音。如果还是不行,可以手动设置更低的阈值,比如r.energy_threshold = 300,再测试。

  • 检查PyAudio依赖:SpeechRecognition依赖PyAudio来访问麦克风,先确认它有没有正确安装。打开终端运行pip list,看看输出里有没有PyAudio。如果没有,运行pip install pyaudio安装;如果安装失败(Windows上常见编译错误),可以下载对应Python版本的预编译whl文件,再用pip install 文件名.whl安装。

  • 排除系统/硬件问题:试试Windows自带的「语音识别」工具(搜索栏搜“语音识别”),如果它也无法检测到声音,那大概率是麦克风硬件或者系统音频设置的问题,需要先排查这部分。

内容的提问来源于stack exchange,提问作者Paul Kremershof

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:58:04