import speech_recognition as sr class voiceInput(object): recognizer = sr.Recognizer() muted = True # "Error codes", can be used to check stuff what = "??" error = "ERROR" def start( self, deviceIndex=30 ): # a generator for everything that is said while( True ): # loop try: if( not self.muted ): # this thing is not the NSA with sr.Microphone( deviceIndex ) as src: self.recognizer.adjust_for_ambient_noise( src, 0.2 ) print("Listening...") audio = self.recognizer.listen( src, phrase_time_limit=5 ) print("Thinking...") text = self.recognizer.recognize_google(audio) yield text except sr.RequestError as err: print("Unable to request results: {0}".format(err)) yield self.error except sr.UnknownValueError: yield self.what def setMuted( self, setm: bool=True ): self.muted = setm def switchMute( self ): self.setMuted( not self.muted )