def _load_config(self): """ Load configuration parameters from configuration """ config = Configuration.get() self.config_core = config self._config_hash = hash(str(config)) self.lang = config.get('lang') self.config = config.get('listener') rate = self.config.get('sample_rate') device_index = self.config.get('device_index') device_name = self.config.get('device_name') if not device_index and device_name: device_index = find_input_device(device_name) LOG.debug('Using microphone (None = default): ' + str(device_index)) self.microphone = MutableMicrophone(device_index, rate, mute=self.mute_calls > 0) self.wakeword_recognizer = self.create_wake_word_recognizer() # TODO - localization self.wakeup_recognizer = self.create_wakeup_recognizer() self.responsive_recognizer = ResponsiveRecognizer( self.wakeword_recognizer) self.state = RecognizerLoopState()
def __init__(self, samp_rate): print # Pad debug messages self.ww_recognizer = RecognizerLoop().create_mycroft_recognizer( samp_rate, 'en-us') self.listener = ResponsiveRecognizer(self.ww_recognizer) print speech_logger.setLevel(100) # Disables logging to clean output
def _load_config(self): """ Load configuration parameters from configuration """ LOG.info("*********loading configuration") config = ConfigurationManager.get() self.config_core = config self._config_hash = hash(str(config)) self.lang = config.get('lang') self.config = config.get('listener') rate = self.config.get('sample_rate') device_index = self.config.get('device_index') self.microphone = MutableMicrophone(device_index, rate, mute=self.mute_calls > 0) # FIXME - channels are not been used self.microphone.CHANNELS = self.config.get('channels') self.wakeword_recognizer = self.create_wake_word_recognizer( rate, self.lang) # TODO - localization self.wakeup_recognizer = self.create_wakeup_recognizer(rate, self.lang) self.hot_word_engines = {} self.create_hot_word_engines() self.wakeup_recognizer = self.create_wakeup_recognizer(rate, self.lang) self.responsive_recognizer = ResponsiveRecognizer( self.wakeword_recognizer, self.hot_word_engines) self.state = RecognizerLoopState()
def testMaxAudioWithBaselineShift(self): low_base = b"".join(["\x10\x00\x01\x00"] * 100) higher_base = b"".join(["\x01\x00\x00\x01"] * 100) source = MockSource() for i in xrange(100): source.stream.inject(low_base) source.stream.inject(higher_base) recognizer = ResponsiveRecognizer(None) sec_per_buffer = float( source.CHUNK) / (source.SAMPLE_RATE * source.SAMPLE_WIDTH) test_seconds = 30.0 while test_seconds > 0: test_seconds -= sec_per_buffer data = source.stream.read(source.CHUNK) energy = recognizer.calc_energy(data, source.SAMPLE_WIDTH) recognizer.adjust_threshold(energy, sec_per_buffer) higher_base_energy = audioop.rms(higher_base, source.SAMPLE_WIDTH) # after recalibration (because of max audio length) new threshold # should be >= 1.5 * higher_base_energy delta_below_threshold = (recognizer.energy_threshold - higher_base_energy) min_delta = higher_base_energy * .5 assert abs(delta_below_threshold - min_delta) < 1
def __init__(self): super(RecognizerLoop, self).__init__() config = ConfigurationManager.get() lang = config.get('lang') self.config = config.get('listener') rate = self.config.get('sample_rate') device_index = self.config.get('device_index') self.microphone = MutableMicrophone(device_index, rate) # FIXME - channels are not been used self.microphone.CHANNELS = self.config.get('channels') self.mycroft_recognizer = self.create_mycroft_recognizer(rate, lang) # TODO - localization self.wakeup_recognizer = self.create_wakeup_recognizer(rate, lang) self.remote_recognizer = ResponsiveRecognizer(self.mycroft_recognizer) self.state = RecognizerLoopState()
def __init__(self, channels=int(speech_config.get('channels')), rate=int(speech_config.get('sample_rate')), device_index=None, lang=core_config.get('lang')): pyee.EventEmitter.__init__(self) self.microphone = MutableMicrophone(sample_rate=rate, device_index=device_index) # FIXME - channels are not been used self.microphone.CHANNELS = channels self.mycroft_recognizer = self.create_mycroft_recognizer(rate, lang) # TODO - localization self.wakeup_recognizer = self.create_wakeup_recognizer(rate, lang) self.remote_recognizer = ResponsiveRecognizer(self.mycroft_recognizer) self.state = RecognizerLoopState()
def _load_config(self): """ Load configuration parameters from configuration """ config = ConfigurationManager.get() self._config_hash = hash(str(config)) lang = config.get('lang') self.config = config.get('listener') rate = self.config.get('sample_rate') device_index = self.config.get('device_index') self.microphone = MutableMicrophone(device_index, rate) # FIXME - channels are not been used self.microphone.CHANNELS = self.config.get('channels') self.mycroft_recognizer = self.create_mycroft_recognizer(rate, lang) # TODO - localization self.wakeup_recognizer = self.create_wakeup_recognizer(rate, lang) self.remote_recognizer = ResponsiveRecognizer(self.mycroft_recognizer) self.state = RecognizerLoopState()
def __init__(self, samp_rate): print() # Pad debug messages self.ww_recognizer = RecognizerLoop().create_wake_word_recognizer() self.listener = ResponsiveRecognizer(self.ww_recognizer) self.listener.config['confirm_listening'] = False print()
def __init__(self, samp_rate): print() # Pad debug messages self.ww_recognizer = RecognizerLoop().create_mycroft_recognizer( samp_rate, 'en-us') self.listener = ResponsiveRecognizer(self.ww_recognizer) print()
def __init__(self, samp_rate): self.ww_recognizer = LocalRecognizer(samp_rate, 'en-us') self.listener = ResponsiveRecognizer(self.ww_recognizer) speech_logger.setLevel(100) # Disables logging to clean output