code: def main():
      cs_intermediate_manifest_path = args.manifest_path
      audio_save_folder = args.audio_save_folder_path
      manifest_save_path = args.manifest_save_path
      audio_amplitude_normalization = args.audio_normalized_amplitude
      pause_beg_msec = args.sample_beginning_pause_msec
      pause_join_msec = args.sample_joining_pause_msec
      pause_end_msec = args.sample_end_pause_msec
      cs_data_sampling_rate = args.cs_data_sampling_rate
      is_lid_manifest = args.is_lid_manifest
      num_process = args.workers
  
      # Sanity Checks
      if (cs_intermediate_manifest_path is None) or (
          not os.path.exists(cs_intermediate_manifest_path)
      ):
          logging.error(
              "Please provide correct CS manifest (obtained from code_switching_manifest_creation.py)"
          )
          exit
  
      if (audio_save_folder is None) or (
          not os.path.exists(audio_save_folder)
      ):
          logging.error(
              "audio_save_folder_path is incorrect or does not exist"
          )
          exit
  
      if manifest_save_path is None:
          logging.error("Please provide valid manifest_save_path")
          exit
  
      # Reading data
      logging.info("Reading manifests")
      intermediate_cs_manifest = read_manifest(
          cs_intermediate_manifest_path
      )
  
      # Spliting the data
      data_split = split_list(intermediate_cs_manifest, num_process)
  
      # Creating Audio data
      logging.info("Creating synthetic audio data")
      base_directory = os.path.dirname(manifest_save_path)
  
      Parallel(n_jobs=num_process)(
          delayed(create_cs_data)(
              split_manifest,
              audio_save_folder,
              base_directory + "/temp_" + str(idx) + ".json",
              audio_amplitude_normalization,
              pause_beg_msec,
              pause_join_msec,
              pause_end_msec,
              cs_data_sampling_rate,
              is_lid_manifest,
          )
          for idx, split_manifest in enumerate(data_split)
      )
  
      # Combining manifests
      num_samples_combined = combine_manifests(
          manifest_save_path, num_process
      )
  
      print("Synthetic CS audio data saved at :", audio_save_folder)
      print("Synthetic CS manifest saved at :", manifest_save_path)
      print(
          "Total number of samples in the generated dataset :",
          str(num_samples_combined),
      )
  
      logging.info("Done!")
  
file_path: NeMo/scripts/speech_recognition/code_switching/code_switching_audio_data_creation.py
imports: import argparse
  import json
  import logging
  import os
  import librosa
  import numpy
  from joblib import Parallel, delayed
  from scipy.io import wavfile
  from tqdm import tqdm
  from nemo.collections.asr.parts.utils.manifest_utils import read_manifest
label_desc: Use image node_id 4 for calling a global function with example usage: main() without return types