我正在编写一段python代码来检测我的麦克风,但是speech_recognition无法检测我的输入设备。
import speech_recognition as sr
mic_index = 11
for index, name in enumerate(sr.Microphone.list_microphone_names()):
if("USB Device" in name):
mic_index = index
break但它给了我错误。因此,我通过运行命令python -m speech_recognition检查了我的Speech Recognition模块,得到了以下错误:
Traceback (most recent call last):
File "/home/arqam/anaconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/home/arqam/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/arqam/anaconda3/lib/python3.6/site-packages/speech_recognition/__main__.py", line 4, in <module>
m = sr.Microphone()
File "/home/arqam/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/arqam/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我检查了IO设备编号和pyAudio文件位置,它给出了以下位置:
>>> pa.get_device_count()
0
>>> pyaudio.pa.__file__
'/home/arqam/anaconda3/lib/python3.6/site-packages/_portaudio.cpython-36m-x86_64-linux-gnu.so'我已经看过所有堆栈溢出的答案,花了一整天的时间来解决这个问题,但仍然找不到答案。
发布于 2022-02-10 07:28:35
我也得到了同样的错误。您的语音识别模块可能未正确下载。要解决这个问题,你应该在Google上搜索“非官方Python二进制文件”。单击第一个链接。您将看到一个包含大量python模块.wheel文件的网页。使用'ctrl+f‘查找pyaudio链接。点击它,你会看到一堆pyaudio文件。然后,您需要找到支持您的python版本的轮子文件。安装它。然后打开保存该控制盘文件的文件夹。在那里打开powershell或cmd窗口,并写入pip install (轮子文件的名称)。然后你的pyaudio就会被下载,它应该开始工作了!
发布于 2018-11-03 22:24:03
下面的例子为我解决了这个问题。
使用Anaconda:
安装pyaudio和speechrecognition类
此外,确保您的麦克风是激活的,并检查您的音频输入设备。
使用这个简单的代码:
import speech_recognition as sr
# obtain audio from the microphone r = sr.Recognizer() with sr.Microphone() as source:
print("Say something!")
audio = r.listen(source)
enter code here
try:
text = r.recognize_google(audio)
print('You said: {}'.format(text))
except:
print('Sorry google could not recognize your voice')https://stackoverflow.com/questions/51727805
复制相似问题