我正在尝试使用python中的SpeechRecognition包进行语音识别,并且在尝试使用麦克风时遇到问题。
我测试了耳机的麦克风,它工作正常并且被计算机检测到,但是我的脚本抛出错误,好像没有连接麦克风。 当我在安装pyAudio之后运行以下脚本
$python -m speech_recognition
我收到以下错误:
Traceback (most recent call last):
File "/home/harshita/anaconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/home/harshita/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/harshita/anaconda3/lib/python3.6/site-packages/speech_recognition/__main__.py", line 4, in <module>
m = sr.Microphone()
File "/home/harshita/anaconda3/lib/python3.6/site-packages/speech_recognition/__init__.py", line 86, in __init__
device_info = audio.get_device_info_by_index(device_index) if device_index is not None else audio.get_default_input_device_info()
File "/home/harshita/anaconda3/lib/python3.6/site-packages/pyaudio.py", line 949, in get_default_input_device_info
device_index = pa.get_default_input_device()
OSError: No Default Input Device Available
还有:
将语音识别输入为sr
sr.Microphone.list_microphone_names()
输出: []
我要去哪里错了?
为什么也显示“ OSError” ?,我看到了其他相关查询,但所有查询都将其作为IOError。
答案 0 :(得分:0)
首先(对于Linux用户),检查以下link并使用给定的存储库更新Pyaudio和Portaudio,因为Anaconda的Pyaudio和Portaudio库中存在错误。
现在,如果它可以工作,但是终端卡在“说什么..”上,则表明该库检测到太多的噪声,可以通过在{{1}之后添加以下行来过滤掉它们}。
with
例如:
r.adjust_for_ambient_noise(source)
请注意,这里的with sr.Microphone(device_index=2) as source:
r.adjust_for_ambient_noise(source)
print("Speak Anything :")
audio = r.listen(source)
是Speech_recognition.Microphone()的实例。
此外,我建议您像上面的示例一样开始传递要使用的设备的索引(例如r
),并且可以尝试使用范围为0到4的索引(可能或多或少,取决于您有多少输入)。
答案 1 :(得分:0)
使用以下命令。我在此之后解决了这个问题
conda安装nwani :: portaudio nwani :: pyaudio