code: def main():
      # pylint: disable=bad-option-value
      parser = argparse.ArgumentParser(
          description="""Find all the unique characters or phonemes in a dataset.\n\n"""
          """
      Example runs:
  
      python TTS/bin/find_unique_chars.py --config_path config.json
      """,
          formatter_class=RawTextHelpFormatter,
      )
      parser.add_argument(
          "--config_path",
          type=str,
          help="Path to dataset config file.",
          required=True,
      )
      args = parser.parse_args()
  
      c = load_config(args.config_path)
  
      # load all datasets
      train_items, eval_items = load_tts_samples(
          c.datasets,
          eval_split=True,
          eval_split_max_size=c.eval_split_max_size,
          eval_split_size=c.eval_split_size,
      )
  
      items = train_items + eval_items
  
      texts = "".join(item["text"] for item in items)
      chars = set(texts)
      lower_chars = filter(lambda c: c.islower(), chars)
      chars_force_lower = [c.lower() for c in chars]
      chars_force_lower = set(chars_force_lower)
  
      print(f" > Number of unique characters: {len(chars)}")
      print(f" > Unique characters: {''.join(sorted(chars))}")
      print(
          f" > Unique lower characters: {''.join(sorted(lower_chars))}"
      )
      print(
          f" > Unique all forced to lower characters: {''.join(sorted(chars_force_lower))}"
      )
  
imports: import argparse
  from argparse import RawTextHelpFormatter
  from TTS.config import load_config
  from TTS.tts.datasets import load_tts_samples
label_desc: Use image node_id 1 for calling a global function with example usage: main() without return types