Skip to content

Commit

Permalink
Misjudgment of is_multi_lingual When Loading Multilingual Model via…
Browse files Browse the repository at this point in the history
… `model_path` (#3273)

* load multilingual model by path

* use config to assert multi lingual or not
  • Loading branch information
TITC authored Nov 24, 2023
1 parent 8c5227e commit 4d0f53d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions TTS/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from TTS.utils.audio.numpy_transforms import save_wav
from TTS.utils.manage import ModelManager
from TTS.utils.synthesizer import Synthesizer

from TTS.config import load_config

class TTS(nn.Module):
"""TODO: Add voice conversion and Capacitron support."""
Expand Down Expand Up @@ -66,13 +66,12 @@ def __init__(
"""
super().__init__()
self.manager = ModelManager(models_file=self.get_models_file_path(), progress_bar=progress_bar, verbose=False)

self.config = load_config(config_path) if config_path else None
self.synthesizer = None
self.voice_converter = None
self.csapi = None
self.cs_api_model = cs_api_model
self.model_name = ""

if gpu:
warnings.warn("`gpu` will be deprecated. Please use `tts.to(device)` instead.")

Expand Down Expand Up @@ -106,7 +105,8 @@ def is_coqui_studio(self):
@property
def is_multi_lingual(self):
# Not sure what sets this to None, but applied a fix to prevent crashing.
if isinstance(self.model_name, str) and "xtts" in self.model_name:
if (isinstance(self.model_name, str) and "xtts" in self.model_name or
self.config and ("xtts" in self.config.model or len(self.config.languages) > 1)):
return True
if hasattr(self.synthesizer.tts_model, "language_manager") and self.synthesizer.tts_model.language_manager:
return self.synthesizer.tts_model.language_manager.num_languages > 1
Expand Down

0 comments on commit 4d0f53d

Please sign in to comment.