code: def load_voices(voices: List[str], extra_voice_dirs: List[str] = []):
      latents = []
      clips = []
      for voice in voices:
          if voice == "random":
              if len(voices) > 1:
                  print(
                      "Cannot combine a random voice with a non-random voice. Just using a random voice."
                  )
              return None, None
          clip, latent = load_voice(voice, extra_voice_dirs)
          if latent is None:
              assert (
                  len(latents) == 0
              ), "Can only combine raw audio voices or latent voices, not both. Do it yourself if you want this."
              clips.extend(clip)
          elif clip is None:
              assert (
                  len(clips) == 0
              ), "Can only combine raw audio voices or latent voices, not both. Do it yourself if you want this."
              latents.append(latent)
      if len(latents) == 0:
          return clips, None
      else:
          latents_0 = torch.stack([l[0] for l in latents], dim=0).mean(
              dim=0
          )
          latents_1 = torch.stack([l[1] for l in latents], dim=0).mean(
              dim=0
          )
          latents = (latents_0, latents_1)
          return None, latents
  
imports: import os
  from glob import glob
  from typing import Dict, List
  import librosa
  import numpy
  import torch
  import torchaudio
  from scipy.io.wavfile import read
  from TTS.utils.audio.torch_transforms import TorchSTFT
label_desc: Use image node_id 12 for calling a global function with example usage: load_voices(voices, extra_voice_dirs) and returns: clips,  None, None,  latents, None,  None