pythonmodulespeech-recognitionspeech-to-text

ImportError: No module named 'speech_recognition' in python IDLE


I'm trying to use the speech recognition module with python 3.5.1 to make my jarvis AI voice activated! I have looked through stack overflow and found some questions similar to mine but they did not have the answer that i needed, i need an answer individualized for this. I have downloaded all the necessary packages and still no luck, i get this error:

ImportError: No module named 'speech_recognition'

If I run:

python -m speech_recognition

In terminal it runs only in terminal, i can talk to it and it isn't nearly spot on but it hears me and and can interpret some words. I have downloaded all the packages in terminal from this sites instructions.

https://pypi.python.org/pypi/SpeechRecognition/

When i run my code in IDLE my code gets the error shown above. I'm on a iMac running macOS Sierra 10.12.2, if anyone has the answer that would be helpful. Thank you!

heres my code:

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())

Solution

  • OS X Sierra comes with Python 2.7.10. Since you are using Python 3.5.1, you have presumably installed it yourself and you now have two versions of Python. IDLE is clearly running with the Python version for which you did not install the speech_recognition module.

    What to do depends on your set-up. I'd start by running idle3 from the command line, instead of idle. If your module is installed for Python 3, that's all you need. If this doesn't work, check everything with an eye to the different versions and straighten them out the way you want them.