diff --git a/modules/speech/speech.py b/modules/speech/speech.py index 1043fc8..fd67957 100644 --- a/modules/speech/speech.py +++ b/modules/speech/speech.py @@ -9,7 +9,7 @@ class voiceInput(object): what = "??" error = "ERROR" - def start( self, deviceIndex=30 ): # a generator for everything that is said + def start( self, deviceIndex=None ): # a generator for everything that is said while( True ): # loop try: if( not self.muted ): # this thing is not the NSA diff --git a/requirements.txt b/requirements.txt index 8d2870c..f9f4715 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ -SpeechRecognition>=3.8.1 \ No newline at end of file +SpeechRecognition>=3.8.1 +PyAudio>=0.2.11 diff --git a/speech_daemon.py b/speech_daemon.py index 0683395..f381b03 100755 --- a/speech_daemon.py +++ b/speech_daemon.py @@ -15,14 +15,12 @@ CONFIG = {} class speech_daemon(object): voiceInpObj = None - deviceIndex = 30 + deviceIndex = None - def __init__(self, deviceIndex=30): + def __init__(self): self.voiceInpObj = voiceInput() self.voiceInpObj.setMuted(False) - self.deviceIndex = deviceIndex - def loadconfig(self): path = homedir + "/.config/roomcomputer/config.json" # if no config path is @@ -36,14 +34,19 @@ class speech_daemon(object): global CONFIG CONFIG = cfg + self.deviceIndex = CONFIG["speech"]["device_index"] # Apply the device index + def start(self): controller.init() for inp in self.voiceInpObj.start( self.deviceIndex ): - cmdBuf = inp.lower().split(" ") - if( cmdBuf[0] in CONFIG["speech"]["prefixes"] ): - print("CMD:", cmdBuf) - parseCommandline( cmdBuf, False ) + if( inp != self.voiceInpObj.error and inp != self.voiceInpObj.what ): + cmdBuf = inp.lower().split(" ") + if( cmdBuf[0] in CONFIG["speech"]["prefixes"] ): + print("CMD:", cmdBuf) + parseCommandline( cmdBuf, False ) + else: + print("Error/What: {0}".format(inp)) controller.end()