Last active
April 15, 2023 14:00
-
-
Save GGulati/1ebaeaaa7f7408647fef to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import speech_recognition | |
import pyttsx | |
speech_engine = pyttsx.init('sapi5') # see http://pyttsx.readthedocs.org/en/latest/engine.html#pyttsx.init | |
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()) |
Same Error as @husanin-ahmad .Kindly Guide
i thought this code running only in windows,because it need win32com.client,or any win32com.client for linux ?
look into the documentation of pyttsx and choose the correct engine corresponding to linux. no need of win32com client. hope it hrlps @kunci115
i think the engine is espeak or you can left that blank like pyttsx.init()
i have installed speech recognition but still i get
Traceback (most recent call last):
File "Jarvis.py", line 1, in
import SpeechRecognition
ImportError: No module named SpeechRecognition
it does not record what i said
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When iḿ running the code on my Ubuntu I am getting this output:
Traceback (most recent call last): File "pycode/jarvis.py", line 4, in <module> speech_engine = pyttsx.init('sapi5') # see http://pyttsx.readthedocs.org/en/latest/engine.html#pyttsx.init File "/usr/local/lib/python2.7/dist-packages/pyttsx/__init__.py", line 39, in init eng = Engine(driverName, debug) File "/usr/local/lib/python2.7/dist-packages/pyttsx/engine.py", line 45, in __init__ self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug) File "/usr/local/lib/python2.7/dist-packages/pyttsx/driver.py", line 64, in __init__ self._module = __import__(name, globals(), locals(), [driverName]) File "/usr/local/lib/python2.7/dist-packages/pyttsx/drivers/sapi5.py", line 19, in <module> import win32com.client ImportError: No module named win32com.client
Why is it trying to do import win32com.client? I am using Ubuntu..
Update
Managed to make it work by removing sapi5 from pyttsx('sapi5')
But after that I got @husanin-ahmad error, I managed to get rid of the bit_audio errors by removing bluez-alsa package.
I'm still working on the unable to open slave error