CLI tool to control your IoT gadgets.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
roomcomputer/speech/speech.py

37 lines
908 B

import speech_recognition as sr
class sr_microphone(object):
recognizer = sr.Recognizer()
4 years ago
muted = True
def getInput(self): # use the object as a generator
print("Awaiting input")
if( not self.muted ):
try:
with sr.Microphone() as src:
4 years ago
self.recognizer.adjust_for_ambient_noise( src, duration=0.2 ) # adjust for ambient noise
4 years ago
audio = self.recognizer.listen(src)
# Make audio -> text
4 years ago
return (self.recognizer.recognize_google( audio )).lower() # use googles recognizer and lower its output
except sr.RequestError as err:
4 years ago
print("Unable to request results: {0}".format(err))
4 years ago
except sr.UnknownValueError as err:
print("Unknown Error: {0}".format(err))
def setMuted( self, setm: bool=True ):
self.muted = setm
def switchMute( self ):
self.setMuted( not self.muted )
4 years ago
# Small test
voice = sr_microphone()
voice.setMuted(False)
print( voice.getInput() )