class_docstr: 🐸BaseCharacters class
  
      Every new character class should inherit from this.
  
      Characters are oredered as follows ```[PAD, EOS, BOS, BLANK, CHARACTERS, PUNCTUATIONS]```.
  
      If you need a custom order, you need to define inherit from this class and override the ```_create_vocab``` method.
  
      Args:
          characters (str):
              Main set of characters to be used in the vocabulary.
  
          punctuations (str):
              Characters to be treated as punctuation.
  
          pad (str):
              Special padding character that would be ignored by the model.
  
          eos (str):
              End of the sentence character.
  
          bos (str):
              Beginning of the sentence character.
  
          blank (str):
              Optional character used between characters by some models for better prosody.
  
          is_unique (bool):
              Remove duplicates from the provided characters. Defaults to True.
  el
          is_sorted (bool):
              Sort the characters in alphabetical order. Only applies to `self.characters`. Defaults to True.
code: def _create_vocab(self):
      _vocab = self._characters
      if self.is_unique:
          _vocab = list(set(_vocab))
      if self.is_sorted:
          _vocab = sorted(_vocab)
      _vocab = list(_vocab)
      _vocab = (
          [self._blank] + _vocab
          if self._blank is not None and len(self._blank) > 0
          else _vocab
      )
      _vocab = (
          [self._bos] + _vocab
          if self._bos is not None and len(self._bos) > 0
          else _vocab
      )
      _vocab = (
          [self._eos] + _vocab
          if self._eos is not None and len(self._eos) > 0
          else _vocab
      )
      _vocab = (
          [self._pad] + _vocab
          if self._pad is not None and len(self._pad) > 0
          else _vocab
      )
      self.vocab = _vocab + list(self._punctuations)
      if self.is_unique:
          duplicates = {
              x for x in self.vocab if self.vocab.count(x) > 1
          }
          assert (
              len(self.vocab)
              == len(self._char_to_id)
              == len(self._id_to_char)
          ), f" [!] There are duplicate characters in the character set. {duplicates}"
  
imports: from dataclasses import replace
  from typing import Dict
  from TTS.tts.configs.shared_configs import CharactersConfig
label_desc: Use image node_id 21 for calling the BaseCharacters obj's underlying member method code with example usage: obj._create_vocab() without return types