コード例 #1
0
    def config(self, name, message):
        from mycroft.configuration.config import (
            LocalConf, USER_CONFIG, Configuration
        )
        module = "precise".replace(' ', '')
        module = module.replace('default', 'pocketsphinx')

        precise_file = self.select_precise_file(name, message)
        if precise_file == None:
            self.log.info("precise file "+name+" not found")
            return
        else:
            self.log.info("set precise file: "+precise_file)

            wake_word = name
            self.log.info("set precise WakeWord:"+name)
            new_config = {"listener": {"wake_word": name, "record_wake_words": "true"}, "hotwords": {wake_word:
                        {"module": module, "threshold": "1e-90", "lang": self.lang,"local_model_file": precise_file}}
            }
            user_config = LocalConf(USER_CONFIG)
            user_config.merge(new_config)
            user_config.store()

            self.bus.emit(Message('configuration.updated'))

            if module == 'precise':
                engine_folder = expanduser('~/.mycroft/precise/precise-engine')
                if not os.path.isdir(engine_folder):
                    self.speak_dialog('download.started')
                    return

            self.speak_dialog('end.calculating', data={'name': name})
コード例 #2
0
    def handle_set_listener(self, message):
        from mycroft.configuration.config import (LocalConf, USER_CONFIG,
                                                  Configuration)
        module = message.data['ListenerType'].replace(' ', '')
        module = module.replace('default', 'pocketsphinx')
        name = module.replace('pocketsphinx', 'pocket sphinx')

        if self.get_listener() == module:
            self.speak_dialog('listener.same', data={'listener': name})
            return

        wake_word = Configuration.get()['listener']['wake_word']

        new_config = {'hotwords': {wake_word: {'module': module}}}
        user_config = LocalConf(USER_CONFIG)
        user_config.merge(new_config)
        user_config.store()

        self.bus.emit(Message('configuration.updated'))

        if module == 'precise':
            engine_folder = expanduser('~/.mycroft/precise/precise-engine')
            if not isdir(engine_folder):
                self.speak_dialog('download.started')
                return

        self.speak_dialog('set.listener', data={'listener': name})
コード例 #3
0
 def set_single_thread(self, update):
     new_config = {'padatious': {'single_thread': update}}
     user_config = LocalConf(USER_CONFIG)
     user_config.merge(new_config)
     user_config.store()
     self.log.info('Setting padatious single_thread = ' + str(update))
     self.bus.emit(Message('configuration.updated'))
コード例 #4
0
    def handle_rate_speech(self, message):
        from mycroft.configuration.config import (LocalConf, Configuration,
                                                  USER_CONFIG)
        user_config = LocalConf(USER_CONFIG)
        LOG.info(str(user_config))

        user_level = message.data.get('ratelevel')
        LOG.info(user_level)
        rate_var = self.get_rate_var(user_level)

        if (rate_var == "error"):
            self.speak_dialog("invalidInput", {'userLevel': user_level})
        else:
            new_config = {
                "tts": {
                    "mimic": {
                        "duration_stretch": str(rate_var)
                    }
                }
            }
            user_config.merge(new_config)
            user_config.store()

            LOG.info(str(LocalConf(USER_CONFIG)))
            self.bus.emit(Message('configuration.updated'))
            self.speak_dialog("rate.speech", {'rateLevel': user_level})
コード例 #5
0
ファイル: __init__.py プロジェクト: MycroftAI/skill-mark-2
 def _sync_wake_beep_setting(self):
     """ Update "use beep" global config from skill settings. """
     config = Configuration.get()
     use_beep = self.settings.get("use_listening_beep", False)
     if not config["confirm_listening"] == use_beep:
         # Update local (user) configuration setting
         new_config = {"confirm_listening": use_beep}
         user_config = LocalConf(USER_CONFIG)
         user_config.merge(new_config)
         user_config.store()
         self.bus.emit(Message("configuration.updated"))
コード例 #6
0
 def _sync_wake_beep_setting(self):
     from mycroft.configuration.config import (LocalConf, USER_CONFIG,
                                               Configuration)
     config = Configuration.get()
     use_beep = self.settings.get("use_listening_beep") == "true"
     if not config['confirm_listening'] == use_beep:
         # Update local (user) configuration setting
         new_config = {'confirm_listening': use_beep}
         user_config = LocalConf(USER_CONFIG)
         user_config.merge(new_config)
         user_config.store()
         self.emitter.emit(Message('configuration.updated'))
コード例 #7
0
    def save_upgrade_permission(self, ver):
        # Build version as float, e.g. [18,8,999] as 18.8
        float_ver = ver[0] + ver[1] / 10  # assumes minor is <= 9
        new_conf_values = {"max_allowed_core_version": float_ver}

        # Save under the user (e.g. ~/.mycroft/mycroft.conf)
        user_config = LocalConf(USER_CONFIG)
        user_config.merge(new_conf_values)
        user_config.store()

        # Notify all processes to update their loaded configs
        self.bus.emit(Message('configuration.updated'))
コード例 #8
0
 def _sync_wake_beep_setting(self):
     """ Update "use beep" global config from skill settings. """
     from mycroft.configuration.config import (LocalConf, USER_CONFIG,
                                               Configuration)
     config = Configuration.get()
     use_beep = self.settings.get('use_listening_beep') is True
     if not config['confirm_listening'] == use_beep:
         # Update local (user) configuration setting
         new_config = {'confirm_listening': use_beep}
         user_config = LocalConf(USER_CONFIG)
         user_config.merge(new_config)
         user_config.store()
         self.bus.emit(Message('configuration.updated'))
コード例 #9
0
    def _disable_listen_beep(self):
        user_config = LocalConf(USER_CONFIG)

        if 'user_beep_setting' not in self.settings:
            # Save any current local config setting
            self.settings['user_beep_setting'] = (
                user_config.get("confirm_listening", None))

            # Disable in local config
            user_config.merge({"confirm_listening": False})
            user_config.store()

            # Notify all processes to update their loaded configs
            self.bus.emit(Message('configuration.updated'))
コード例 #10
0
    def handle_set_listener(self, message):
        try:
            from mycroft.configuration.config import (LocalConf, USER_CONFIG,
                                                      Configuration)
            module = message.data['ListenerType'].replace(' ', '')
            module = module.replace('default', 'pocketsphinx')
            name = module.replace('pocketsphinx', 'pocket sphinx')
            config = Configuration.get()

            if config['hotwords']['hey mycroft']['module'] == module:
                self.speak_dialog('listener.same', data={'listener': name})
                return

            new_config = {
                'precise': {
                    'dist_url':
                    'http://bootstrap.mycroft.ai/'
                    'artifacts/static/daily/'
                },
                'hotwords': {
                    'hey mycroft': {
                        'module': module
                    }
                }
            }
            user_config = LocalConf(USER_CONFIG)
            user_config.merge(new_config)
            user_config.store()

            self.emitter.emit(Message('configuration.updated'))

            if module == 'precise':
                exe_path = expanduser('~/.mycroft/precise/precise-stream')
                if isfile(exe_path):
                    self.enclosure.mouth_text('Checking version...')
                    version = check_output([exe_path, '-v'], stderr=STDOUT)
                    if version.strip() == '0.1.0':
                        os.remove(exe_path)
                    self.enclosure.mouth_reset()
                else:
                    self.speak_dialog('download.started')
                    return

            self.speak_dialog('set.listener', data={'listener': name})
        except (NameError, SyntaxError, ImportError):
            self.speak_dialog('must.update')
コード例 #11
0
    def _restore_listen_beep(self):
        if 'user_beep_setting' in self.settings:
            # Wipe from local config
            new_conf_values = {"confirm_listening": False}
            user_config = LocalConf(USER_CONFIG)

            if (self.settings["user_beep_setting"] is None and
                    "confirm_listening" in user_config):
                del user_config["confirm_listening"]
            else:
                user_config.merge({"confirm_listening":
                                   self.settings["user_beep_setting"]})
            user_config.store()

            # Notify all processes to update their loaded configs
            self.bus.emit(Message('configuration.updated'))
            del self.settings["user_beep_setting"]
コード例 #12
0
    def handle_level_decrease(self, message):
        from mycroft.configuration.config import (LocalConf, USER_CONFIG)
        new_rate = self.curr_level + 0.10
        if new_rate <= 2.0 and new_rate > 0.1:
            new_config = {
                "tts": {
                    "mimic": {
                        "duration_stretch": str(new_rate)
                    }
                }
            }
            user_config = LocalConf(USER_CONFIG)
            user_config.merge(new_config)
            user_config.store()

            self.curr_level = new_rate
            self.bus.emit(Message('configuration.updated'))
            self.speak_dialog('updatedLevel', {'directionChange': 'decreased'})
        else:
            self.speak_dialog("invalidLevel")
コード例 #13
0
ファイル: __init__.py プロジェクト: TREE-Ind/wake-word-skill
 def save_wakewords(self):
     from mycroft.configuration.config import (LocalConf, USER_CONFIG,
                                               Configuration)
     record = Configuration.get()['listener']['record_wake_words']
     if self.settings["savewakewords"] is True:
         free_mb = psutil.disk_usage('/')[2] / 1024 / 1024
         if free_mb <= self.settings["min_free_disk"]:
             self.log.info("no space: deactivate recording")
             new_config = {"listener": {"record_wake_words": "true"}}
             user_config = LocalConf(USER_CONFIG)
             user_config.merge(new_config)
             user_config.store()
         if record == "false":
             new_config = {"listener": {"record_wake_words": "true"}}
             self.log.info("set wake word recording")
             user_config = LocalConf(USER_CONFIG)
             user_config.merge(new_config)
             user_config.store()
             self.settings.update
     else:
         if record == "true":
             new_config = {"listener": {"record_wake_words": "false"}}
             self.log.info("unset wake word recording")
             user_config = LocalConf(USER_CONFIG)
             user_config.merge(new_config)
             user_config.store()
             self.settings.update
コード例 #14
0
    def handle_use_precise_dev(self, message):
        from mycroft.configuration.config import (LocalConf, USER_CONFIG,
                                                  Configuration)

        wake_word = Configuration.get()['listener']['wake_word']

        new_config = {
            'precise': {
                "dist_url": self.PRECISE_DEV_DIST_URL,
                "model_url": self.PRECISE_DEV_MODEL_URL
            },
            'hotwords': {
                wake_word: {
                    'module': 'precise',
                    'sensitivity': 0.5
                }
            }
        }
        user_config = LocalConf(USER_CONFIG)
        user_config.merge(new_config)
        user_config.store()

        self.bus.emit(Message('configuration.updated'))
        self.speak_dialog('precise.devmode.enabled')
コード例 #15
0
 def _update_config(self, config):
     from mycroft.configuration.config import (LocalConf, USER_CONFIG)
     user_config = LocalConf(USER_CONFIG)
     user_config.merge(config)
     user_config.store()
     self.bus.emit(Message('configuration.updated'))