Minor code restructure to simplify _record_phrase()
Basically just moved the signal-related code into a helper method.pull/748/head
parent
bd4e3836d3
commit
7b1cfbca1f
|
@ -271,6 +271,26 @@ class ResponsiveRecognizer(speech_recognition.Recognizer):
|
||||||
def sec_to_bytes(sec, source):
|
def sec_to_bytes(sec, source):
|
||||||
return sec * source.SAMPLE_RATE * source.SAMPLE_WIDTH
|
return sec * source.SAMPLE_RATE * source.SAMPLE_WIDTH
|
||||||
|
|
||||||
|
def _skip_wake_word(self):
|
||||||
|
# Check if told programatically to skip the wake word, like
|
||||||
|
# when we are in a dialog with the user.
|
||||||
|
if check_for_signal('startListening'):
|
||||||
|
return True
|
||||||
|
|
||||||
|
# Pressing the Mark 1 button can start recording (unless
|
||||||
|
# it is being used to mean 'stop' instead)
|
||||||
|
if check_for_signal('buttonPress', 1):
|
||||||
|
# give other processes time to consume this signal if
|
||||||
|
# it was meant to be a 'stop'
|
||||||
|
sleep(0.25)
|
||||||
|
if check_for_signal('buttonPress'):
|
||||||
|
# Signal is still here, assume it was intended to
|
||||||
|
# begin recording
|
||||||
|
logger.debug("Button Pressed, wakeword not needed")
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
def _wait_until_wake_word(self, source, sec_per_buffer):
|
def _wait_until_wake_word(self, source, sec_per_buffer):
|
||||||
"""Listen continuously on source until a wake word is spoken
|
"""Listen continuously on source until a wake word is spoken
|
||||||
|
|
||||||
|
@ -305,21 +325,8 @@ class ResponsiveRecognizer(speech_recognition.Recognizer):
|
||||||
counter = 0
|
counter = 0
|
||||||
|
|
||||||
while not said_wake_word:
|
while not said_wake_word:
|
||||||
# Check if told programatically to skip the wake word for dialog
|
if self._skip_wake_word():
|
||||||
if check_for_signal('startListening'):
|
break
|
||||||
said_wake_word = True
|
|
||||||
continue
|
|
||||||
|
|
||||||
# Pressing the button can start recording (unless it is being
|
|
||||||
# used to mean 'stop' instead)
|
|
||||||
if check_for_signal('buttonPress', 1):
|
|
||||||
# give others time to consume this as 'stop'
|
|
||||||
sleep(0.25)
|
|
||||||
if check_for_signal('buttonPress'):
|
|
||||||
# signal is still here, assume it was to begin recording
|
|
||||||
logger.debug("Button Pressed, wakeword not needed")
|
|
||||||
said_wake_word = True
|
|
||||||
continue
|
|
||||||
|
|
||||||
chunk = self.record_sound_chunk(source)
|
chunk = self.record_sound_chunk(source)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue