def __init__(self, **kwargs): super(Snowboy, self).__init__() self._ignore_stderr() # pause listening boolean self.interrupted = False self.kill_received = False # get the sensitivity if set by the user self.sensitivity = kwargs.get('sensitivity', 0.5) # callback function to call when hotword caught self.callback = kwargs.get('callback', None) if self.callback is None: raise MissingParameterException( "callback function is required with snowboy") # get the pmdl file to load self.pmdl = kwargs.get('pmdl_file', None) if self.pmdl is None: raise MissingParameterException( "Pmdl file is required with snowboy") self.pmdl_path = Utils.get_real_file_path(self.pmdl) if not os.path.isfile(self.pmdl_path): raise SnowboyModelNotFounfd( "The snowboy model file %s does not exist" % self.pmdl_path) self.detector = snowboydecoder.HotwordDetector( self.pmdl_path, sensitivity=self.sensitivity, detected_callback=self.callback, interrupt_check=self.interrupt_callback, sleep_time=0.03)
def __init__(self, **kwargs): super(Snowboy, self).__init__() self._ignore_stderr() # pause listening boolean self.interrupted = False self.kill_received = False # get the sensitivity if set by the user self.sensitivity = kwargs.get('sensitivity', 0.5) self.apply_frontend = kwargs.get('apply_frontend', False) # callback function to call when hotword caught self.callback = kwargs.get('callback', None) if self.callback is None: raise MissingParameterException( "callback function is required with snowboy") # get the keywords to load self.keywords = kwargs.get('keywords', None) self.pmdl_file = kwargs.get( 'pmdl_file', None ) # We notify the user that the pmdl_file parameter has been changed if self.pmdl_file: raise MissingParameterException( '"pmdl_file" parameter is deprecated, please update your snowboy settings. \n Visit https://kalliope-project.github.io/kalliope/settings/triggers/snowboy/ for more information.' ) if self.keywords is None: raise MissingParameterException( "At least one keyword is required with snowboy") keyword_files = list() sensitivities = list() for keyword in self.keywords: if self.check_if_path_is_valid(keyword['file_path']): keyword_files.append(keyword['file_path']) try: if not isinstance(keyword['sensitivity'], list): sensitivities.append(keyword['sensitivity']) else: for sensitivity in keyword['sensitivity']: sensitivities.append(sensitivity) except KeyError: sensitivities.append(0.5) self.detector = snowboydecoder.HotwordDetector( keyword_files, sensitivity=sensitivities, detected_callback=self.callback, interrupt_check=self.interrupt_callback, apply_frontend=self.apply_frontend)
def __init__(self, **kwargs): # pause listening boolean self.interrupted = False self.kill_received = False # callback function to call when hotword caught self.callback = kwargs.get('callback', None) if self.callback is None: raise MissingParameterException( "callback function is required with snowboy") # get the pmdl file to load self.pmdl = kwargs.get('pmdl_file', None) if self.pmdl is None: raise MissingParameterException( "Pmdl file is required with snowboy") self.detector = snowboydecoder.HotwordDetector( self.pmdl, sensitivity=0.5, detected_callback=self.callback, interrupt_check=self.interrupt_callback, sleep_time=0.03)