首页 > 解决方案 > 使用 PyAudio 在 Ubuntu 18.04 中设置默认输入设备

问题描述

我正在编写一个程序来从内置麦克风中获取语音输入,然后在屏幕上打印接收到的语音。我的程序如下:

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 "text.py", line 4, in <module>
    with sr.Microphone() as source:
  File "/home/ashish/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/ashish/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

标签: pythonubuntumodulepyaudio

解决方案


这似乎是 Anaconda 的问题。 conda install pyaudio在 Windows 10 上对我来说效果很好,但是,它在 Ubuntu 18.04 上给了我同样的问题。它是通过从 pip 重新安装 pyaudio 来修复的。

conda remove pyaudio
conda remove portaudio
pip install pyaudio

请注意,您必须同时删除 pyaudio 和 portaudio。

https://github.com/ContinuumIO/anaconda-issues/issues/4139


推荐阅读