class_docstr: Interface for silence trimming implementations
      
docstr: Trim starting and trailing silence from the input audio.
  Args:
      audio: Numpy array containing audio samples. Float [-1.0, 1.0] format.
      sample_rate: Sample rate of input audio.
      audio_id: String identifier (eg. file name) used for logging.
  
  Returns numpy array with trimmed audio, and integer sample indices representing the start and end
  of speech within the original audio array.
docstr_tok: ["Trim","starting","and","trailing","silence","from","the","input","audio",".","Args",":","audio",":","Numpy","array","containing","audio","samples",".","Float","[","-1.0",",","1.0","]","format",".","sample_rate",":","Sample","rate","of","input","audio",".","audio_id",":","String","identifier","(","eg",".","file","name",")","used","for","logging",".","Returns","numpy","array","with","trimmed","audio",",","and","integer","sample","indices","representing","the","start","and","end","of","speech","within","the","original","audio","array","."]
code: def trim_audio(
      self, audio: np.array, sample_rate: int, audio_id: str
  ) -> Tuple[np.array, int, int]:
      """Trim starting and trailing silence from the input audio.
      Args:
          audio: Numpy array containing audio samples. Float [-1.0, 1.0] format.
          sample_rate: Sample rate of input audio.
          audio_id: String identifier (eg. file name) used for logging.
  
      Returns numpy array with trimmed audio, and integer sample indices representing the start and end
      of speech within the original audio array.
      """
      raise NotImplementedError
  
imports: from abc import ABC, abstractmethod
  from typing import Tuple
  import librosa
  import numpy
  import torch
  from nemo.collections.asr.models import EncDecClassificationModel
  from nemo.collections.tts.parts.utils.tts_dataset_utils import normalize_volume
  from nemo.utils import logging
label_desc: Use image node_id 1 for calling the AudioTrimmer obj's underlying member method code with example usage: obj.trim_audio(audio, sample_rate, audio_id) without return types