def __init__(self): self._logger = logging.getLogger(__name__) # Create config dir if it does not exist yet #ender: should create config file for the first run if not os.path.exists(dingdangpath.CONFIG_PATH): try: os.makedirs(dingdangpath.CONFIG_PATH) except OSError: self._logger.error("Could not create config dir: '%s'", dingdangpath.CONFIG_PATH, exc_info=True) raise # Check if config dir is writable if not os.access(dingdangpath.CONFIG_PATH, os.W_OK): self._logger.critical( "Config dir %s is not writable. Dingdang " + "won't work correctly.", dingdangpath.CONFIG_PATH) config_file = dingdangpath.config('profile.yml') #ender: Read config, get config informations self._logger.debug("Trying to read config file: '%s'", config_file) try: with open(config_file, "r") as f: self.config = yaml.safe_load(f) except OSError: self._logger.error("Can't open config file: '%s'", config_file) raise #ender: prepare STT. if not setup, use default sphinx try: stt_engine_slug = self.config['stt_engine'] except KeyError: stt_engine_slug = 'sphinx' logger.warning( "stt_engine not specified in profile, defaulting " + "to '%s'", stt_engine_slug) #ender: create STT instance stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) try: slug = self.config['stt_passive_engine'] stt_passive_engine_class = stt.get_engine_by_slug(slug) except KeyError: stt_passive_engine_class = stt_engine_class try: tts_engine_slug = self.config['tts_engine'] except KeyError: tts_engine_slug = tts.get_default_engine_slug() logger.warning( "tts_engine not specified in profile, defaulting " + "to '%s'", tts_engine_slug) tts_engine_class = tts.get_engine_by_slug(tts_engine_slug) # Initialize Mic self.mic = Mic(self.config, tts_engine_class.get_instance(), stt_passive_engine_class.get_passive_instance(), stt_engine_class.get_active_instance())
def __init__(self): self._logger = logging.getLogger(__name__) self.config = config.profile try: stt_engine_slug = self.config['stt_engine'] except KeyError: stt_engine_slug = 'snowboy-stt' logger.warning( "stt_engine not specified in profile, defaulting " + "to '%s'", stt_engine_slug) stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) try: slug = self.config['stt_passive_engine'] stt_passive_engine_class = stt.get_engine_by_slug(slug) except KeyError: stt_passive_engine_class = stt_engine_class try: tts_engine_slug = self.config['tts_engine'] except KeyError: tts_engine_slug = tts.get_default_engine_slug() logger.warning( "tts_engine not specified in profile, defaulting " + "to '%s'", tts_engine_slug) tts_engine_class = tts.get_engine_by_slug(tts_engine_slug) # Initialize Mic self.mic = Mic(self.config, tts_engine_class.get_instance(), stt_passive_engine_class.get_passive_instance(), stt_engine_class.get_active_instance())
def __init__(self): self._logger = logging.getLogger(__name__) # Create config dir if it does not exist yet if not os.path.exists(jasperpath.CONFIG_PATH): try: os.makedirs(jasperpath.CONFIG_PATH) except OSError: self._logger.error("Could not create config dir: '%s'", jasperpath.CONFIG_PATH, exc_info=True) raise # Check if config dir is writable if not os.access(jasperpath.CONFIG_PATH, os.W_OK): self._logger.critical( "Config dir %s is not writable. Pocket companion " + "won't work correctly.", jasperpath.CONFIG_PATH) new_configfile = jasperpath.config('profile.yml') # Read config self._logger.debug("Trying to read config file: '%s'", new_configfile) try: with open(new_configfile, "r") as f: self.config = yaml.safe_load(f) except OSError: self._logger.error("Can't open config file: '%s'", new_configfile) raise try: stt_engine_slug = self.config['stt_engine'] except KeyError: stt_engine_slug = 'sphinx' logger.warning( "stt_engine not specified in profile, defaulting " + "to '%s'", stt_engine_slug) stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) try: slug = self.config['stt_passive_engine'] stt_passive_engine_class = stt.get_engine_by_slug(slug) except KeyError: stt_passive_engine_class = stt_engine_class try: tts_engine_slug = self.config['tts_engine'] except KeyError: tts_engine_slug = tts.get_default_engine_slug() logger.warning( "tts_engine not specified in profile, defaulting " + "to '%s'", tts_engine_slug) tts_engine_class = tts.get_engine_by_slug(tts_engine_slug) # Initialize Mic self.mic = Mic(tts_engine_class.get_instance(), None, stt_engine_class.get_active_instance())
def __init__(self): self._logger = logging.getLogger(__name__) config.init() stt_engine_slug = config.get('stt_engine', 'sphinx') stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) slug = config.get('stt_passive_engine', stt_engine_slug) stt_passive_engine_class = stt.get_engine_by_slug(slug) tts_engine_slug = config.get('tts_engine', tts.get_default_engine_slug()) tts_engine_class = tts.get_engine_by_slug(tts_engine_slug) # Initialize Mic self.mic = Mic(tts_engine_class.get_instance(), stt_passive_engine_class.get_passive_instance(), stt_engine_class.get_active_instance())
def __init__(self): self._logger = logging.getLogger(__name__) stt_engine_slug = client.jasperprofile.profile.get( 'stt_engine', 'sphinx') stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) stt_passive_engine_slug = client.jasperprofile.profile.get( 'stt_passive_engine', stt_engine_slug) stt_passive_engine_class = stt.get_engine_by_slug( stt_passive_engine_slug) tts_engine_slug = client.jasperprofile.profile.get( 'tts_engine', tts.get_default_engine_slug()) tts_engine_class = tts.get_engine_by_slug(tts_engine_slug) active_stt_engine_instance = stt_engine_class.get_active_instance() if active_stt_engine_instance.has_mic() == True: passive_stt_engine_instance = active_stt_engine_instance else: passive_stt_engine_instance = stt_passive_engine_class.get_passive_instance( ) # Initialize Mic self.mic = Mic(tts_engine_class.get_instance(), passive_stt_engine_instance, active_stt_engine_instance) #stt_passive_engine_class.get_passive_instance(), #stt_engine_class.get_active_instance()) if tts_engine_slug == 'festival-tts': tts_engine_default_voice = client.jasperprofile.profile.get( 'tts_default_voice', '') if tts_engine_default_voice: self.mic.set_tts_default_voice(tts_engine_default_voice) else: self._logger.warning( "Profile does not contain a default voice for Festival." + " Will use the Festival installation default")
def __init__(self): self._logger = logging.getLogger(__name__) # Create config dir if it does not exist yet if not os.path.exists(jasperpath.CONFIG_PATH): try: os.makedirs(jasperpath.CONFIG_PATH) except OSError: self._logger.error("Could not create config dir: '%s'", jasperpath.CONFIG_PATH, exc_info=True) raise # Check if config dir is writable if not os.access(jasperpath.CONFIG_PATH, os.W_OK): self._logger.critical("Config dir %s is not writable. Jasper " + "won't work correctly.", jasperpath.CONFIG_PATH) # FIXME: For backwards compatibility, move old config file to newly # created config dir old_configfile = os.path.join(jasperpath.LIB_PATH, 'profile.yml') new_configfile = jasperpath.config('profile.yml') if os.path.exists(old_configfile): if os.path.exists(new_configfile): self._logger.warning("Deprecated profile file found: '%s'. " + "Please remove it.", old_configfile) else: self._logger.warning("Deprecated profile file found: '%s'. " + "Trying to copy it to new location '%s'.", old_configfile, new_configfile) try: shutil.copy2(old_configfile, new_configfile) except shutil.Error: self._logger.error("Unable to copy config file. " + "Please copy it manually.", exc_info=True) raise # Read config self._logger.debug("Trying to read config file: '%s'", new_configfile) try: with open(new_configfile, "r") as f: self.config = yaml.safe_load(f) except OSError: self._logger.error("Can't open config file: '%s'", new_configfile) raise try: stt_engine_slug = self.config['stt_engine'] except KeyError: stt_engine_slug = 'sphinx' logger.warning("stt_engine not specified in profile, defaulting " + "to '%s'", stt_engine_slug) stt_engine_class = stt.get_engine_by_slug(stt_engine_slug) try: slug = self.config['stt_passive_engine'] stt_passive_engine_class = stt.get_engine_by_slug(slug) except KeyError: stt_passive_engine_class = stt_engine_class try: tts_engine_slug = self.config['tts_engine'] except KeyError: tts_engine_slug = tts.get_default_engine_slug() logger.warning("tts_engine not specified in profile, defaulting " + "to '%s'", tts_engine_slug) tts_engine_class = tts.get_engine_by_slug(tts_engine_slug) # Initialize Mic self.mic = Mic(tts_engine_class.get_instance(), stt_passive_engine_class.get_passive_instance(), stt_engine_class.get_active_instance())
#!/usr/bin/env python2