code: def process_utterances(
      md_file,
      aishell1_dir,
      wham_dir,
      freq,
      mode,
      subdirs,
      dir_path,
      subset_metadata_path,
      n_src,
  ):
      # Dictionary that will contain all metadata
      md_dic = {}
      # Get dir name
      dir_name = os.path.basename(dir_path)
      # Create Dataframes
      for subdir in subdirs:
          if subdir.startswith("mix"):
              md_dic[
                  f"metrics_{dir_name}_{subdir}"
              ] = create_empty_metrics_md(n_src, subdir)
              md_dic[
                  f"mixture_{dir_name}_{subdir}"
              ] = create_empty_mixture_md(n_src, subdir)
  
      # Go through the metadata file and generate mixtures
      for results in tqdm.contrib.concurrent.process_map(
          functools.partial(
              process_utterance,
              n_src,
              aishell1_dir,
              wham_dir,
              freq,
              mode,
              subdirs,
              dir_path,
          ),
          [row for _, row in md_file.iterrows()],
          chunksize=10,
      ):
          for (
              mix_id,
              snr_list,
              abs_mix_path,
              abs_source_path_list,
              abs_noise_path,
              length,
              subdir,
          ) in results:
              # Add line to the dataframes
              add_to_metrics_metadata(
                  md_dic[f"metrics_{dir_name}_{subdir}"],
                  mix_id,
                  snr_list,
              )
              add_to_mixture_metadata(
                  md_dic[f"mixture_{dir_name}_{subdir}"],
                  mix_id,
                  abs_mix_path,
                  abs_source_path_list,
                  abs_noise_path,
                  length,
                  subdir,
              )
  
      # Save the metadata files
      for md_df in md_dic:
          # Save the metadata in out_dir ./data/wavxk/mode/subset
          save_path_mixture = os.path.join(
              subset_metadata_path, md_df + ".csv"
          )
          md_dic[md_df].to_csv(save_path_mixture, index=False)
  
imports: import os
  import argparse
  import soundfile
  import pandas
  import numpy
  import functools
  from scipy.signal import resample_poly
  import tqdm.contrib.concurrent
  import glob
  import shutil
label_desc: Use image node_id 4 for calling a global function with example usage: process_utterances(md_file, aishell1_dir, wham_dir, freq, mode, subdirs, dir_path, subset_metadata_path, n_src) without return types