class_docstr: TODO: Add voice conversion and Capacitron support.
code: def download_model_by_name(self, model_name: str):
      model_path, config_path, model_item = self.manager.download_model(
          model_name
      )
      if "fairseq" in model_name or (
          model_item is not None
          and isinstance(model_item["model_url"], list)
      ):
          # return model directory if there are multiple files
          # we assume that the model knows how to load itself
          return None, None, None, None, model_path
      if model_item.get("default_vocoder") is None:
          return model_path, config_path, None, None, None
      (
          vocoder_path,
          vocoder_config_path,
          _,
      ) = self.manager.download_model(model_item["default_vocoder"])
      return (
          model_path,
          config_path,
          vocoder_path,
          vocoder_config_path,
          None,
      )
  
imports: import tempfile
  import warnings
  from pathlib import Path
  from typing import Union
  import numpy
  from torch import nn
  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
label_desc: Use image node_id 9 for calling the TTS obj's underlying member method code with example usage: obj.download_model_by_name(model_name) and returns: model_path,  config_path,  vocoder_path,  vocoder_config_path,  None, None,  None,  None,  None,  model_path, model_path,  config_path,  None,  None,  None