python - 使用 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
解决方案
这似乎是 Anaconda 的问题。
conda install pyaudio
在 Windows 10 上对我来说效果很好,但是,它在 Ubuntu 18.04 上给了我同样的问题。它是通过从 pip 重新安装 pyaudio 来修复的。
conda remove pyaudio
conda remove portaudio
pip install pyaudio
请注意,您必须同时删除 pyaudio 和 portaudio。
推荐阅读
- angular - ExpressionChangedAfterItHasBeenCheckedError:在角度检查后表达式已更改
- webpack - 通过 webpack.DefinePlugin 从外部文件设置变量 - 异步读取问题
- ios - UITests 在组中运行时失败,但在独立运行时成功
- css - 引导图像高度对移动设备没有响应
- c# - 更改文本后,绑定到 Run.TextProperty 会返回旧值
- kubernetes - traefik,裸机 kubernetes:秘密不存在
- javascript - 为什么我在 jsPdf 输出上得到空白页?
- sas - 根据相同的列值将一行中的值更新到另一行
- python-3.x - 在python中用一行编译一个正则表达式查询
- c# - 在 Unity 编辑器中创建可编写脚本的对象