code: def __init__(
      self,
      samples_path: str,
      snr_min: float = SNR_MIN,
      snr_max: float = SNR_MAX,
      rate: float = RATE,
  ):
      # Sanity checks
      assert (
          samples_path
      ), "need to provide path to audio samples for noise augmentation"
      assert (
          snr_max >= snr_min
      ), f"empty signal-to-noise range ({snr_min}, {snr_max})"
      assert (
          rate >= 0 and rate <= 1
      ), "rate should be a float between 0 to 1"
  
      self.paths = list(
          Path(samples_path).glob("**/*.wav")
      )  # load music
      self.n_samples = len(self.paths)
      assert (
          self.n_samples > 0
      ), f"no audio files found in {samples_path}"
  
      self.snr_min = snr_min
      self.snr_max = snr_max
      self.rate = rate
  
imports: from pathlib import Path
  import numpy
  from math import ceil
  from fairseq.data.audio import rand_uniform
  from fairseq.data.audio.waveform_transforms import AudioWaveformTransform, register_audio_waveform_transform
label_desc: Use image node_id 2 to create a new NoiseAugmentTransform object from inherited base classes: AudioWaveformTransform with example: obj = NoiseAugmentTransform(samples_path, snr_min, snr_max, rate)