From 52a52b5e2129ab5705c8229121bdc542ab82581f Mon Sep 17 00:00:00 2001 From: Enno Hermann Date: Fri, 19 Apr 2024 11:57:27 +0200 Subject: [PATCH] fix(LanguageManager): allow initialisation from config with language ids file Previously, running `LanguageManager.init_from_config(config)` would never use the `language_ids_file` if that field is present because it was overwritten in the next line with a new manager that manually parses languages from the datasets in the config. Now that is only used as a fallback. --- TTS/tts/utils/languages.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/TTS/tts/utils/languages.py b/TTS/tts/utils/languages.py index 89e5e191..f134daf5 100644 --- a/TTS/tts/utils/languages.py +++ b/TTS/tts/utils/languages.py @@ -1,5 +1,5 @@ import os -from typing import Any, Dict, List +from typing import Any, Dict, List, Optional import fsspec import numpy as np @@ -85,18 +85,18 @@ class LanguageManager(BaseIDManager): self._save_json(file_path, self.name_to_id) @staticmethod - def init_from_config(config: Coqpit) -> "LanguageManager": + def init_from_config(config: Coqpit) -> Optional["LanguageManager"]: """Initialize the language manager from a Coqpit config. Args: config (Coqpit): Coqpit config. """ - language_manager = None if check_config_and_model_args(config, "use_language_embedding", True): if config.get("language_ids_file", None): - language_manager = LanguageManager(language_ids_file_path=config.language_ids_file) - language_manager = LanguageManager(config=config) - return language_manager + return LanguageManager(language_ids_file_path=config.language_ids_file) + # Fall back to parse language IDs from the config + return LanguageManager(config=config) + return None def _set_file_path(path):