我正在尝试使用Python 3.5.1中的语音识别模块,使我的Jarvis AI能够实现语音激活!我在Stack Overflow上查找了一些类似于我的问题,但它们没有我需要的答案,我需要一个为此个性化定制的答案。我已经下载了所有必要的包,但运行时出现错误:
ImportError: No module named 'speech_recognition'
如果我运行:
python -m speech_recognition
在终端中运行时,它只能在终端中工作。我可以与它交流,虽然并不完美,但它能听到我并且可以识别一些单词。我已经根据此网站的说明从终端下载了所有包。
https://pypi.python.org/pypi/SpeechRecognition/
当我在IDLE中运行我的代码时,会出现上述错误。 我正在运行macOS Sierra 10.12.2的iMac, 如果有人知道答案,那将非常有帮助。 谢谢!
这是我的代码:
import speech_recognition
import pyttsx
speech_engine = pyttsx.init('sapi5') # see
speech_engine.setProperty('rate', 150)
def speak(text):
speech_engine.say(text)
speech_engine.runAndWait()
recognizer = speech_recognition.Recognizer()
def listen():
with speech_recognition.Microphone() as source:
recognizer.adjust_for_ambient_noise(source)
audio = recognizer.listen(source)
try:
return recognizer.recognize_sphinx(audio)
# or: return recognizer.recognize_google(audio)
except speech_recognition.UnknownValueError:
print("Could not understand audio")
except speech_recognition.RequestError as e:
print("Recog Error; {0}".format(e))
return ""
speak("Say something!")
speak("I heard you say " + listen())