From 5c5ddd2ba77e6dd51ec3ba86aef8f5d1bdda1045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eren=20G=C3=B6lge?= Date: Wed, 22 Dec 2021 15:51:53 +0000 Subject: [PATCH] Init speaker manager for speaker encoder --- TTS/tts/utils/speakers.py | 4 ++-- TTS/utils/synthesizer.py | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/TTS/tts/utils/speakers.py b/TTS/tts/utils/speakers.py index 07f94116..a6e15cdd 100644 --- a/TTS/tts/utils/speakers.py +++ b/TTS/tts/utils/speakers.py @@ -256,11 +256,11 @@ class SpeakerManager: self.speaker_encoder.load_checkpoint(config_path, model_path, eval=True, use_cuda=self.use_cuda) self.speaker_encoder_ap = AudioProcessor(**self.speaker_encoder_config.audio) - def compute_d_vector_from_clip(self, wav_file: Union[str, list]) -> list: + def compute_d_vector_from_clip(self, wav_file: Union[str, List[str]]) -> list: """Compute a d_vector from a given audio file. Args: - wav_file (Union[str, list]): Target file path. + wav_file (Union[str, List[str]]): Target file path. Returns: list: Computed d_vector. diff --git a/TTS/utils/synthesizer.py b/TTS/utils/synthesizer.py index db54027d..7a2d3097 100644 --- a/TTS/utils/synthesizer.py +++ b/TTS/utils/synthesizer.py @@ -171,7 +171,12 @@ class Synthesizer(object): def _init_speaker_encoder(self, speaker_manager): """Initialize the SpeakerEncoder""" if self.encoder_checkpoint: - speaker_manager.init_speaker_encoder(self.encoder_checkpoint, self.encoder_config) + if speaker_manager is None: + speaker_manager = SpeakerManager( + encoder_model_path=self.encoder_checkpoint, encoder_config_path=self.encoder_config + ) + else: + speaker_manager.init_speaker_encoder(self.encoder_checkpoint, self.encoder_config) return speaker_manager def _init_language_manager(self): @@ -183,6 +188,8 @@ class Synthesizer(object): language_manager = LanguageManager(language_ids_file_path=self.tts_languages_file) elif self.tts_config.get("language_ids_file", None): language_manager = LanguageManager(language_ids_file_path=self.tts_config.language_ids_file) + else: + language_manager = LanguageManager(config=self.tts_config) return language_manager def _load_vocoder(self, model_file: str, model_config: str, use_cuda: bool) -> None: