我正在编写一个程序,以从内置麦克风获取语音输入,然后在屏幕上打印接收到的语音。我的程序如下:
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
答案 0 :(得分:0)
如果您使用的是Raspberry Pi开发板,则需要USB声卡(或USB麦克风)。
执行此操作后,将所有Microphone()实例更改为Microphone(device_index = MICROPHONE_INDEX),其中MICROPHONE_INDEX是麦克风的硬件特定索引。
要破解该库,请首先确保您具有“需求”部分中列出的所有需求。
-大多数库代码都位于speech_recognition / init .py中。
要运行所有测试,请执行以下操作:
python -m unittest discover --verbose code here
答案 1 :(得分:0)
这似乎是Anaconda的问题。
conda install pyaudio
在Windows 10上对我来说效果很好,但是,在Ubuntu 18.04上也有同样的问题。通过从pip重新安装pyaudio可以解决此问题。
conda remove pyaudio
conda remove portaudio
pip install pyaudio
请注意,您必须同时删除pyaudio和portaudio。