Python语音识别遇TimeoutError:麦克风输入操作超时问题求助
解决SpeechRecognition库的TimeoutError: [Errno 60]问题
检查网络连接
recognize_google依赖谷歌在线语音识别API,必须保证网络能正常访问谷歌服务。试试切换到稳定的网络环境(比如手机热点),或者直接测试能否访问谷歌相关域名。给listen方法添加超时参数
默认的listen方法可能因等待时长设置不合理触发超时,手动调整超时和语音录制时长:
audio = r.listen(source, timeout=15, phrase_time_limit=10)
timeout是等待用户开始说话的最长时间,phrase_time_limit是单次录制语音的最长时长,可根据需求调整数值。
验证麦克风权限
如果是macOS系统,检查系统权限是否允许Python访问麦克风:打开「系统设置-隐私与安全性-麦克风」,确认运行代码的Python解释器(终端、IDE等)已被授权。延长谷歌API请求超时时间
网络延迟可能导致API请求超时,给recognize_google加上超时参数:
query = r.recognize_google(audio, language='en-US', timeout=15)
延长API响应的等待时间。
- 改用离线识别引擎
如果网络问题无法解决,试试离线的CMU Sphinx引擎:
pip install pocketsphinx
修改代码:
query = r.recognize_sphinx(audio, language='en-US')
注意离线识别的准确率会比在线引擎低。
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

