class_docstr: Constructs a Speech2Text feature extractor.
  
  This feature extractor inherits from [`Speech2TextFeatureExtractor`] which contains most of the main methods. Users
  should refer to this superclass for more information regarding those methods.
  
  This class extracts mel-filter bank features from raw speech using TorchAudio and applies utterance-level cepstral
  mean and variance normalization to the extracted features.
  
  Args:
      feature_size (`int`, defaults to 80):
          The feature dimension of the extracted features.
      sampling_rate (`int`, defaults to 16000):
          The sampling rate at which the audio files should be digitalized expressed in Hertz per second (Hz).
      num_mel_bins (`int`, defaults to 80):
          Number of Mel-frequency bins.
      padding_value (`float`, defaults to 0.0):
          The value that is used to fill the padding vectors.
      do_ceptral_normalize (`bool`, *optional*, defaults to `True`):
          Whether or not to apply utterance-level cepstral mean and variance normalization to extracted features.
      normalize_means (`bool`, *optional*, defaults to `True`):
          Whether or not to zero-mean normalize the extracted features.
      normalize_vars (`bool`, *optional*, defaults to `True`):
          Whether or not to unit-variance normalize the extracted features.
docstr: Get mel-filter bank features using TorchAudio. Note that TorchAudio requires 16-bit signed integers as inputs
  and hence the waveform should not be normalized before feature extraction.
docstr_tok: ["Get","mel-filter","bank","features","using","TorchAudio",".","Note","that","TorchAudio","requires","16-bit","signed","integers","as","inputs","and","hence","the","waveform","should","not","be","normalized","before","feature","extraction","."]
code: def _extract_fbank_features(
      self,
      waveform: np.ndarray,
  ) -> np.ndarray:
      """
      Get mel-filter bank features using TorchAudio. Note that TorchAudio requires 16-bit signed integers as inputs
      and hence the waveform should not be normalized before feature extraction.
      """
      waveform = waveform * (
          2**15
      )  # Kaldi compliance: 16-bit signed integers
      waveform = torch.from_numpy(waveform).unsqueeze(0)
      features = ta_kaldi.fbank(
          waveform,
          num_mel_bins=self.num_mel_bins,
          sample_frequency=self.sampling_rate,
      )
      return features.numpy()
  
file_path: H2O/h2o_flexgen/benchmark/third_party/transformers/src/transformers/models/speech_to_text/feature_extraction_speech_to_text.py
imports: from typing import List, Optional, Union
  import numpy
  import torch
  import torchaudio.compliance.kaldi
  from ...feature_extraction_sequence_utils import SequenceFeatureExtractor
  from ...feature_extraction_utils import BatchFeature
  from ...utils import PaddingStrategy, TensorType, logging
label_desc: Use image node_id 2 for calling the Speech2TextFeatureExtractor obj's underlying member method code with example usage: obj._extract_fbank_features(waveform) and returns: features