首页 > 解决方案 > SpeechRecognition 产生 OSError: 没有可用的默认输入设备

问题描述

这个:

import speech_recognition as sr

r = sr.Recognizer()
with sr.Microphone() as source:
    print("Speak Anything :")
    audio = r.listen(source)
    try:
        text = r.recognize_google(audio)
        print("You said : {}".format(text))
    except:
        print("Sorry could not recognize what you said")

制作这个:

Traceback (most recent call last):
  File "magic.py", line 5, in <module>
    with sr.Microphone() as source:
  File "/home/myPorfile/anaconda3/envs/customEnv/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/myPorfile/anaconda3/envs/customEnv/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

显然,Pyaudio 没有检测到我的耳机和电脑的麦克风。

sr.Microphone.list_microphone_names()通过返回一个空列表来验证这一点[]

我还尝试安装 Pyaudio 和 portaudio。

使用:Ubuntu 18.04.2 LTS / python 3.6

标签: pythonpython-3.6speech-recognitionpyaudio

解决方案


推荐阅读