Python语音识别1.1.4不接收来自麦克风的输入

时间:2015-03-16 08:21:46

标签: speech-recognition windows-7-x64 python-3.4

当我尝试使用语音识别模块进行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位。

1 个答案:

答案 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: