From 3de9f38d166c581f3e7943d90ec31c7729c52727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eren=20G=C3=B6lge?= Date: Wed, 24 Nov 2021 18:41:47 +0100 Subject: [PATCH] Add init_from_config to SpeakerManager --- TTS/tts/utils/speakers.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/TTS/tts/utils/speakers.py b/TTS/tts/utils/speakers.py index 441296ac..c556db79 100644 --- a/TTS/tts/utils/speakers.py +++ b/TTS/tts/utils/speakers.py @@ -318,6 +318,30 @@ class SpeakerManager: # TODO: implement speaker encoder raise NotImplementedError + @staticmethod + def init_from_config(config: "Coqpit"): + """Initialize a speaker manager from config + + Args: + config (Coqpit): Config object. + + Returns: + SpeakerEncoder: Speaker encoder object. + """ + speaker_manager = None + if hasattr(config, "use_speaker_embedding") and config.use_speaker_embedding is True: + if config.get("speaker_file", None): + speaker_manager = SpeakerManager(speaker_id_file_path=config.speaker_file) + if config.get("speakers_file", None): + speaker_manager = SpeakerManager(speaker_id_file_path=config.speakers_file) + + if hasattr(config, "use_d_vector_file") and config.use_speaker_embedding is True: + if config.get("speakers_file", None): + speaker_manager = SpeakerManager(d_vectors_file_path=config.speaker_file) + if config.get("d_vector_file", None): + speaker_manager = SpeakerManager(d_vectors_file_path=config.d_vector_file) + return speaker_manager + def _set_file_path(path): """Find the speakers.json under the given path or the above it.