def reset_detector_caches(): ModuleLoader().clear() for x in list(DETECTORS.values()): try: x.reset() except (TypeError, AttributeError): pass
def recognition_forever(self, interrupt_check: callable, callback: callable): if not self.cfg.detector.NAME: self.log('Wake word detection don\'t work on this system: {}'.format(self.cfg.platform), logger.WARN) elif self.cfg.models and self.own.max_mic_index != -2: if not self.cfg.detector.MUST_PRELOAD or ModuleLoader().is_loaded(self.cfg.detector.NAME): return lambda: self._smart_listen(interrupt_check, callback) else: self._print_loading_errors() return None
def is_loaded(): return ModuleLoader().is_loaded(vad_mode)
def _print_loading_errors(self): for msg in ModuleLoader().extract_errors(): self.log(msg, logger.CRIT)