当我尝试使用语音识别模块进行python时,提供了与麦克风一起使用的示例代码。
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
audio = r.listen(source)
try:
print("You said " + r.recognize(audio))
except LookupError:
print("Could not understand audio")
程序开始运行并且它一直等待输入。我已检查是否需要PyAudio模块正常工作,并检查主站点上提供的示例代码。可以清楚地听到麦克风的输入。我设法从麦克风输入(类型)的唯一方法是启用立体声混音并将输入重定向到扬声器。这是唯一有效的案例。我也试过手动设置设备索引,如参考部分https://pypi.python.org/pypi/SpeechRecognition中所述。它没用。如果没有这个准备工作,我怎么能让它工作? 我正在开发Windows 7,使用Python {3.4},语音识别1.1.4,http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio提供的PyAudio 0.2.8。全部64位。
答案 0 :(得分:0)
也许您应该指定麦克风的ID。
从Getting list of audio Input devices in Python启发,列出您的设备:
import pyaudio
p = pyaudio.PyAudio()
for i in range(p.get_device_count()):
info = p.get_device_info_by_index(i)
print(info['index'], info['name'])
例如,在我的情况下,结果是:
0 HDA Intel MID: ALC888 Analog (hw:0,0)
1 HDA Intel MID: ALC888 Alt Analog (hw:0,2)
2 HDA Intel MID: ALC888 Digital (hw:0,3)
...
7 Logitech G35 Headset: USB Audio (hw:2,0)
...
17 pulse
18 dmix
19 default
我的麦克风在我的耳机上,其设备ID是7.然后我使用这一行:
with sr.Microphone(device_index=7) as source: