code: def process_row(row):
      audio_file = row["audio_filepath"]
      global sample_rate
      data_orig = AudioSegment.from_file(
          audio_file, target_sr=sample_rate, offset=0
      )
      for snr in row["snrs"]:
          min_snr_db = snr
          max_snr_db = snr
          global att_factor
          perturber = NoisePerturbation(
              manifest_path=row["noise_manifest"],
              min_snr_db=min_snr_db,
              max_snr_db=max_snr_db,
              rng=rng,
          )
          out_dir = get_out_dir_name(
              row["out_dir"],
              os.path.splitext(os.path.basename(row["input_manifest"]))[
                  0
              ],
              os.path.splitext(os.path.basename(row["noise_manifest"]))[
                  0
              ],
              snr,
          )
          os.makedirs(out_dir, exist_ok=True)
          out_f = os.path.join(out_dir, os.path.basename(audio_file))
          if os.path.exists(out_f):
              continue
          data = copy.deepcopy(data_orig)
          perturber.perturb(data)
  
          max_level = np.max(np.abs(data.samples))
  
          norm_factor = att_factor / max_level
          new_samples = norm_factor * data.samples
          sf.write(out_f, new_samples.transpose(), sample_rate)
  
          global save_noise
          if save_noise:
              noise_samples = (
                  new_samples - norm_factor * data_orig.samples
              )
              out_f_ext = os.path.splitext(out_f)[1]
              out_f_noise = out_f.replace(
                  out_f_ext, "_noise" + out_f_ext
              )
              sf.write(
                  out_f_noise, noise_samples.transpose(), sample_rate
              )
  
file_path: NeMo/scripts/dataset_processing/add_noise.py
imports: import argparse
  import copy
  import json
  import multiprocessing
  import os
  import random
  import numpy
  import soundfile
  from nemo.collections.asr.parts.preprocessing.perturb import NoisePerturbation
  from nemo.collections.asr.parts.preprocessing.segment import AudioSegment
label_desc: Use image node_id 3 for calling a global function with example usage: process_row(row) without return types