使用speech_recognition做语音转文字功能突然报错如何排查?
语音识别代码异常排查方案
以下是针对性的排查步骤和解决方法:
- 先修正代码中已存在的明显错误
你的代码中将识别结果赋值给了变量txt,但后续打印的是未定义的变量text,变量名不匹配会直接触发NameError进入异常分支,先修正该问题。 - 替换无差别异常捕获逻辑,输出具体错误信息
当前使用的裸except会吞掉所有类型的错误,无法定位根因,修改为如下逻辑打印具体异常:import speech_recognition as sr r = sr.Recognizer() with sr.AudioFile('/audio1659122935.wav') as source: audio_text = r.record(source) try: txt = r.recognize_google(audio_text) print(txt) except Exception as e: print(f'错误原因:{e}') - 常见报错对应解决方法
- 如果返回网络连接超时、请求失败类错误
recognize_google默认调用谷歌公开语音识别接口,国内网络环境如果未配置合法代理,会因为网络连通性问题导致接口调用失败,这是该功能突然失效的最常见原因。你可以配置代理后重试,或者替换为国内厂商的语音识别API、离线识别方案(如CMU Sphinx)。 - 如果返回音频读取/解析失败类错误
确认路径下的audio1659122935.wav文件未损坏、路径拼写正确,且音频符合识别要求:单声道、16kHz采样率、PCM编码的WAV格式,不符合要求的音频会导致识别环节出错。 - 如果返回依赖缺失/不兼容类错误
确认SpeechRecognition的依赖库requests正常安装,也可以尝试升级SpeechRecognition到最新版本后重试:pip install --upgrade SpeechRecognition
- 如果返回网络连接超时、请求失败类错误
内容的提问来源于stack exchange,提问作者user9532692
相关产品推荐
相关产品推荐

