code: def preprocess(
      self,
      source: torch.Tensor,
      fbank_mean: float = 15.41663,
      fbank_std: float = 6.55582,
  ) -> torch.Tensor:
      fbanks = []
      for waveform in source:
          waveform = waveform.unsqueeze(0) * 2**15
          fbank = ta_kaldi.fbank(
              waveform,
              num_mel_bins=128,
              sample_frequency=16000,
              frame_length=25,
              frame_shift=10,
          )
          fbanks.append(fbank)
      fbank = torch.stack(fbanks, dim=0)
      fbank = (fbank - fbank_mean) / (2 * fbank_std)
      return fbank
  
file_path: lavis/lavis/models/beats/Tokenizers.py
imports: import torch
  import torch.nn
  from torch.nn import LayerNorm
  import torchaudio.compliance.kaldi
  from lavis.models.beats.backbone import TransformerEncoder
  from lavis.models.beats.quantizer import NormEMAVectorQuantizer
  import logging
  from typing import Optional
label_desc: Use image node_id 3 for calling the Tokenizers obj's underlying member method code with example usage: obj.preprocess(source, fbank_mean, fbank_std) and returns: fbank