Add docstrings.

pull/774/head
Åke Forslund 2017-05-22 19:12:00 +02:00
parent 925cadc19e
commit b31c7b6647
2 changed files with 16 additions and 3 deletions

View File

@ -71,6 +71,9 @@ class AudioProducer(Thread):
self.emitter.emit("recognizer_loop:ioerror", ex) self.emitter.emit("recognizer_loop:ioerror", ex)
def stop(self): def stop(self):
"""
Stop producer thread.
"""
self.state.running = False self.state.running = False
self.recognizer.stop() self.recognizer.stop()
@ -181,6 +184,10 @@ class RecognizerLoopState(object):
class RecognizerLoop(EventEmitter): class RecognizerLoop(EventEmitter):
"""
EventEmitter loop running speech recognition. Local wake word
recognizer and remote general speech recognition.
"""
def __init__(self): def __init__(self):
super(RecognizerLoop, self).__init__() super(RecognizerLoop, self).__init__()
self._load_config() self._load_config()
@ -197,9 +204,6 @@ class RecognizerLoop(EventEmitter):
device_index = self.config.get('device_index') device_index = self.config.get('device_index')
self.microphone = MutableMicrophone(device_index, rate) self.microphone = MutableMicrophone(device_index, rate)
#
# TODO:SSP On config change we need to rebuild these objects
#
# FIXME - channels are not been used # FIXME - channels are not been used
self.microphone.CHANNELS = self.config.get('channels') self.microphone.CHANNELS = self.config.get('channels')
self.mycroft_recognizer = self.create_mycroft_recognizer(rate, lang) self.mycroft_recognizer = self.create_mycroft_recognizer(rate, lang)
@ -222,6 +226,9 @@ class RecognizerLoop(EventEmitter):
return LocalRecognizer(wake_word, phonemes, threshold, rate, lang) return LocalRecognizer(wake_word, phonemes, threshold, rate, lang)
def start_async(self): def start_async(self):
"""
Start consumer and producer threads
"""
self.state.running = True self.state.running = True
queue = Queue() queue = Queue()
self.producer = AudioProducer(self.state, queue, self.microphone, self.producer = AudioProducer(self.state, queue, self.microphone,
@ -268,6 +275,9 @@ class RecognizerLoop(EventEmitter):
self.stop() self.stop()
def reload(self): def reload(self):
"""
Reload configuration and restart consumer and producer
"""
self.stop() self.stop()
# load config # load config
self._load_config() self._load_config()

View File

@ -293,6 +293,9 @@ class ResponsiveRecognizer(speech_recognition.Recognizer):
return False return False
def stop(self): def stop(self):
"""
Signal stop and exit waiting state.
"""
self._stop_signaled = True self._stop_signaled = True
def _wait_until_wake_word(self, source, sec_per_buffer): def _wait_until_wake_word(self, source, sec_per_buffer):