class_docstr: Base `Embedding` Manager class. Every new `Embedding` manager must inherit this.
  It defines common `Embedding` manager specific functions.
  
  It expects embeddings files in the following format:
  
  ::
  
      {
          'audio_file_key':{
              'name': 'category_name',
              'embedding'[<embedding_values>]
          },
          ...
      }
  
  `audio_file_key` is a unique key to the audio file in the dataset. It can be the path to the file or any other unique key.
  `embedding` is the embedding vector of the audio file.
  `name` can be name of the speaker of the audio file.
class_docstr_tok: ["Base","`","Embedding","`","Manager","class",".","Every","new","`","Embedding","`","manager","must","inherit","this",".","It","defines","common","`","Embedding","`","manager","specific","functions",".","It","expects","embeddings","files","in","the","following","format",":",":",":","{","'audio_file_key","'",":","{","'name","'",":","'category_name","'",",","'embedding","'","[","<","embedding_values",">","]","}",",","...","}","`","audio_file_key","`","is","a","unique","key","to","the","audio","file","in","the","dataset",".","It","can","be","the","path","to","the","file","or","any","other","unique","key",".","`","embedding","`","is","the","embedding","vector","of","the","audio","file",".","`","name","`","can","be","name","of","the","speaker","of","the","audio","file","."]
docstr: Load embeddings from a list of json files and don't allow duplicate keys.
  
  Args:
      file_paths (List[str]): List of paths to the target json files.
docstr_tok: ["Load","embeddings","from","a","list","of","json","files","and","do","n't","allow","duplicate","keys",".","Args",":","file_paths","(","List","[","str","]",")",":","List","of","paths","to","the","target","json","files","."]
code: def load_embeddings_from_list_of_files(
      self, file_paths: List[str]
  ) -> None:
      """Load embeddings from a list of json files and don't allow duplicate keys.
  
      Args:
          file_paths (List[str]): List of paths to the target json files.
      """
      self.name_to_id = {}
      self.clip_ids = []
      self.embeddings_by_names = {}
      self.embeddings = {}
      for file_path in file_paths:
          (
              ids,
              clip_ids,
              embeddings,
              embeddings_by_names,
          ) = self.read_embeddings_from_file(file_path)
          # check colliding keys
          duplicates = set(self.embeddings.keys()) & set(
              embeddings.keys()
          )
          if duplicates:
              raise ValueError(
                  f" [!] Duplicate embedding names <{duplicates}> in {file_path}"
              )
          # store values
          self.name_to_id.update(ids)
          self.clip_ids.extend(clip_ids)
          self.embeddings_by_names.update(embeddings_by_names)
          self.embeddings.update(embeddings)
  
      # reset name_to_id to get the right speaker ids
      self.name_to_id = {
          name: i for i, name in enumerate(self.name_to_id)
      }
  
imports: import json
  import random
  from typing import Any, Dict, List, Tuple, Union
  import fsspec
  import numpy
  import torch
  from TTS.config import load_config
  from TTS.encoder.utils.generic_utils import setup_encoder_model
  from TTS.utils.audio import AudioProcessor
label_desc: Use image node_id 9 for calling the EmbeddingManager obj's underlying member method code with example usage: obj.load_embeddings_from_list_of_files(file_paths) without return types