docstr: Converts the audio signal of the samples to MFCC features. See the documentation
  of @cvnets.misc.get_mfcc_features for further details.
  
  Args: {
      "samples": {
          "audio": torch.FloatTensor[num_clips x temporal_size x num_channels]
          "metadata": {
               "audio_fps": float
          }
      }
  },
  
  Returns: {
      "samples": {
          "audio": torch.FloatTensor[num_clips, C, num_mfccs, num_frames,
          ceil(spectrogram_length/num_frames)]
      }
  }
docstr_tok: ["Converts","the","audio","signal","of","the","samples","to","MFCC","features",".","See","the","documentation","of","@","cvnets.misc.get_mfcc_features","for","further","details",".","Args",":","{","``","samples","''",":","{","``","audio","''",":","torch.FloatTensor","[","num_clips","x","temporal_size","x","num_channels","]","``","metadata","''",":","{","``","audio_fps","''",":","float","}","}","}",",","Returns",":","{","``","samples","''",":","{","``","audio","''",":","torch.FloatTensor","[","num_clips",",","C",",","num_mfccs",",","num_frames",",","ceil","(","spectrogram_length\/num_frames",")","]","}","}"]
code: def __call__(self, data: Dict, *args, **kwargs) -> Dict:
      """
      Converts the audio signal of the samples to MFCC features. See the documentation
      of @cvnets.misc.get_mfcc_features for further details.
  
      Args: {
          "samples": {
              "audio": torch.FloatTensor[num_clips x temporal_size x num_channels]
              "metadata": {
                   "audio_fps": float
              }
          }
      },
  
      Returns: {
          "samples": {
              "audio": torch.FloatTensor[num_clips, C, num_mfccs, num_frames,
              ceil(spectrogram_length/num_frames)]
          }
      }
      """
      audio_fps = data["samples"]["metadata"]["audio_fps"]
      audio_image = mfccs.get_mfcc_features(
          data["samples"]["audio"],
          sampling_rate=audio_fps,
          num_mfccs=self.num_mfccs,
          window_length=self.window_length,
          num_frames=self.num_frames,
      ).detach()
  
      data["samples"]["audio"] = audio_image
      return data
  
imports: import argparse
  import math
  import pathlib
  import random
  from typing import Callable, Dict, List, Optional, Union
  import torch
  import torchaudio
  from data.transforms import TRANSFORMATIONS_REGISTRY, BaseTransformation
  from data.transforms.audio_aux import mfccs
label_desc: Use image node_id 3 for calling the MFCCs obj's underlying member method code with example usage: obj.__call__(data) and returns: data