class_docstr: Base class for speech recognition problems.
code: def hparams(self, defaults, model_hparams):
      def add_if_absent(p, attr, value):
          if not hasattr(p, attr):
              p.add_hparam(attr, value)
  
      p = model_hparams
      # Filterbank extraction in bottom instead of preprocess_example is faster.
      add_if_absent(p, "audio_preproc_in_bottom", False)
      # The trainer seems to reserve memory for all members of the input dict
      add_if_absent(p, "audio_keep_example_waveforms", False)
      add_if_absent(p, "audio_sample_rate", 16000)
      add_if_absent(p, "audio_preemphasis", 0.97)
      add_if_absent(p, "audio_dither", 1.0 / np.iinfo(np.int16).max)
      add_if_absent(p, "audio_frame_length", 25.0)
      add_if_absent(p, "audio_frame_step", 10.0)
      add_if_absent(p, "audio_lower_edge_hertz", 20.0)
      add_if_absent(p, "audio_upper_edge_hertz", 8000.0)
      add_if_absent(p, "audio_num_mel_bins", 80)
      add_if_absent(p, "audio_add_delta_deltas", True)
      add_if_absent(p, "num_zeropad_frames", 250)
  
      p = defaults
      p.modality = {
          "inputs": modalities.ModalityType.SPEECH_RECOGNITION,
          "targets": modalities.ModalityType.SYMBOL,
      }
      p.vocab_size = {"inputs": None, "targets": 256}
  
imports: import numpy
  from tensor2tensor.data_generators import audio_encoder
  from tensor2tensor.data_generators import problem
  from tensor2tensor.data_generators import text_encoder
  from tensor2tensor.layers import common_audio
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers import modalities
  from tensor2tensor.utils import metrics
  import tensorflow.compat.v1
label_desc: Use image node_id 1 for calling the SpeechRecognitionProblem obj's underlying member method code with example usage: obj.hparams(defaults, model_hparams) without return types