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

Mac上使用speech_recognition模块无语音识别结果的问题求助

Mac下SpeechRecognition模块无语音识别结果问题解决

问题情况

在Mac系统运行Python的speech-recognition模块,程序无报错,但说话后无法生成对应文本。调整audio_data = init_rec.record(source, duration=5)中的duration参数为1或10秒,问题仍未解决。

运行代码

import speech_recognition as sr
import pyaudio

init_rec = sr.Recognizer()
print("Let's speak!!")
with sr.Microphone() as source:

    audio_data = init_rec.record(source, duration=5)
    print("Recognizing your text.............")
    text = init_rec.recognize_google(audio_data)
    print(text)

终端输出

% python3 voicerto.py   
Let's speak!!
Recognizing your text.............

排查与解决步骤

  • 检查麦克风权限
    打开Mac系统偏好设置→安全性与隐私→隐私→麦克风,确认运行Python的终端(Terminal/iTerm等)已被授权访问麦克风。

  • 添加环境噪音处理
    录制前先监听环境噪音,让识别器自动调整阈值,修改代码如下:

    import speech_recognition as sr
    import pyaudio
    
    init_rec = sr.Recognizer()
    with sr.Microphone() as source:
        init_rec.adjust_for_ambient_noise(source, duration=1)  # 监听1秒环境噪音
        print("Let's speak!!")
        audio_data = init_rec.record(source, duration=5)
        print("Recognizing your text.............")
        text = init_rec.recognize_google(audio_data)
        print(text)
    
  • 确认麦克风设备正确
    如果有多个麦克风设备,先列出所有设备,再指定正确的索引初始化麦克风:

    # 先执行这段代码查看设备列表
    import speech_recognition as sr
    for index, name in enumerate(sr.Microphone.list_microphone_names()):
        print(f"麦克风设备:{name},索引:{index}")
    

    找到目标设备索引后,修改sr.Microphone(device_index=目标索引)即可。

  • 检查网络连接
    recognize_google依赖谷歌在线语音识别API,确保网络连接正常。若网络受限,可尝试离线识别引擎(如recognize_sphinx,需额外安装依赖包)。

  • 测试麦克风硬件
    使用Mac自带的「语音备忘录」录制音频,确认麦克风能正常收音,排除硬件故障。

内容的提问来源于stack exchange,提问作者Saud Alzahri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:58:20