docstr: Args:
      outputs_per_step (int): number of time frames predicted per step.
      text_cleaner (str): text cleaner used for the dataset.
      compute_linear_spec (bool): compute linear spectrogram if True.
      ap (TTS.tts.utils.AudioProcessor): audio processor object.
      meta_data (list): list of dataset instances.
      batch_group_size (int): (0) range of batch randomization after sorting
          sequences by length.
      min_seq_len (int): (0) minimum sequence length to be processed
          by the loader.
      max_seq_len (int): (float("inf")) maximum sequence length.
      use_phonemes (bool): (true) if true, text converted to phonemes.
      phoneme_cache_path (str): path to cache phoneme features.
      phoneme_language (str): one the languages from
          https://github.com/bootphon/phonemizer#languages
      enable_eos_bos (bool): enable end of sentence and beginning of sentences characters.
      use_noise_augment (bool): enable adding random noise to wav for augmentation.
      verbose (bool): print diagnostic information.
docstr_tok: ["Args",":","outputs_per_step","(","int",")",":","number","of","time","frames","predicted","per","step",".","text_cleaner","(","str",")",":","text","cleaner","used","for","the","dataset",".","compute_linear_spec","(","bool",")",":","compute","linear","spectrogram","if","True",".","ap","(","TTS.tts.utils.AudioProcessor",")",":","audio","processor","object",".","meta_data","(","list",")",":","list","of","dataset","instances",".","batch_group_size","(","int",")",":","(","0",")","range","of","batch","randomization","after","sorting","sequences","by","length",".","min_seq_len","(","int",")",":","(","0",")","minimum","sequence","length","to","be","processed","by","the","loader",".","max_seq_len","(","int",")",":","(","float","(","``","inf","''",")",")","maximum","sequence","length",".","use_phonemes","(","bool",")",":","(","true",")","if","true",",","text","converted","to","phonemes",".","phoneme_cache_path","(","str",")",":","path","to","cache","phoneme","features",".","phoneme_language","(","str",")",":","one","the","languages","from","https",":","\/\/github.com\/bootphon\/phonemizer","#","languages","enable_eos_bos","(","bool",")",":","enable","end","of","sentence","and","beginning","of","sentences","characters",".","use_noise_augment","(","bool",")",":","enable","adding","random","noise","to","wav","for","augmentation",".","verbose","(","bool",")",":","print","diagnostic","information","."]
code: def __init__(
      self,
      outputs_per_step,
      text_cleaner,
      compute_linear_spec,
      ap,
      meta_data,
      tp=None,
      add_blank=False,
      batch_group_size=0,
      min_seq_len=0,
      max_seq_len=float("inf"),
      use_phonemes=True,
      phoneme_cache_path=None,
      phoneme_language="en-us",
      enable_eos_bos=False,
      speaker_mapping=None,
      use_noise_augment=False,
      verbose=False,
  ):
      """
      Args:
          outputs_per_step (int): number of time frames predicted per step.
          text_cleaner (str): text cleaner used for the dataset.
          compute_linear_spec (bool): compute linear spectrogram if True.
          ap (TTS.tts.utils.AudioProcessor): audio processor object.
          meta_data (list): list of dataset instances.
          batch_group_size (int): (0) range of batch randomization after sorting
              sequences by length.
          min_seq_len (int): (0) minimum sequence length to be processed
              by the loader.
          max_seq_len (int): (float("inf")) maximum sequence length.
          use_phonemes (bool): (true) if true, text converted to phonemes.
          phoneme_cache_path (str): path to cache phoneme features.
          phoneme_language (str): one the languages from
              https://github.com/bootphon/phonemizer#languages
          enable_eos_bos (bool): enable end of sentence and beginning of sentences characters.
          use_noise_augment (bool): enable adding random noise to wav for augmentation.
          verbose (bool): print diagnostic information.
      """
      self.batch_group_size = batch_group_size
      self.items = meta_data
      self.outputs_per_step = outputs_per_step
      self.sample_rate = ap.sample_rate
      self.cleaners = text_cleaner
      self.compute_linear_spec = compute_linear_spec
      self.min_seq_len = min_seq_len
      self.max_seq_len = max_seq_len
      self.ap = ap
      self.tp = tp
      self.add_blank = add_blank
      self.use_phonemes = use_phonemes
      self.phoneme_cache_path = phoneme_cache_path
      self.phoneme_language = phoneme_language
      self.enable_eos_bos = enable_eos_bos
      self.speaker_mapping = speaker_mapping
      self.use_noise_augment = use_noise_augment
      self.verbose = verbose
      self.input_seq_computed = False
      if use_phonemes and not os.path.isdir(phoneme_cache_path):
          os.makedirs(phoneme_cache_path, exist_ok=True)
      if self.verbose:
          print("\n > DataLoader initialization")
          print(" | > Use phonemes: {}".format(self.use_phonemes))
          if use_phonemes:
              print(
                  "   | > phoneme language: {}".format(phoneme_language)
              )
          print(" | > Number of instances : {}".format(len(self.items)))
  
imports: import collections
  import os
  import random
  from multiprocessing import Manager, Pool
  import numpy
  import torch
  import tqdm
  from torch.utils.data import Dataset
  from TTS.tts.utils.data import prepare_data, prepare_stop_target, prepare_tensor
  from TTS.tts.utils.text import pad_with_eos_bos, phoneme_to_sequence, text_to_sequence
label_desc: Use image node_id 1 to create a new MyDataset object from inherited base classes: Dataset with example: obj = MyDataset(outputs_per_step, text_cleaner, compute_linear_spec, ap, meta_data, tp, add_blank, batch_group_size, min_seq_len, max_seq_len, use_phonemes, phoneme_cache_path, phoneme_language, enable_eos_bos, speaker_mapping, use_noise_augment, verbose)