code: def process_sample(sess_dict: Dict) -> Dict:
      """
      Process each synthetic sample
  
      Args:
          sess_dict (dict): dictionary containing the following keys
              rttm_file (str): path to the rttm file
              session_dur (float): duration of the session (specified by argument)
              precise (bool): whether to measure the precise duration of the session using sox
  
      Returns:
          results (dict): dictionary containing the following keys
              session_dur (float): duration of the session
              silence_len_list (list): list of silence durations of each silence occurrence
              silence_dur (float): total silence duration in a session
              silence_ratio (float): ratio of silence duration to session duration
              overlap_len_list (list): list of overlap durations of each overlap occurrence
              overlap_dur (float): total overlap duration
              overlap_ratio (float): ratio of overlap duration to speech (non-silence) duration
      """
  
      rttm_file = sess_dict["rttm_file"]
      session_dur = sess_dict["session_dur"]
      precise = sess_dict["precise"]
      if precise or session_dur is None:
          wav_file = rttm_file.parent / Path(rttm_file.stem + ".wav")
          session_dur = sox.file_info.duration(str(wav_file))
  
      speech_seg, overlap_seg = load_speech_overlap_segments_from_rttm(
          rttm_file
      )
      speech_dur = sum(
          [sess_dict[1] - sess_dict[0] for sess_dict in speech_seg]
      )
  
      silence_seg = get_nonspeech_segments(speech_seg, session_dur)
      silence_len_list = [
          sess_dict[1] - sess_dict[0] for sess_dict in silence_seg
      ]
      silence_dur = max(0, session_dur - speech_dur)
      silence_ratio = silence_dur / session_dur
  
      overlap_len_list = [
          sess_dict[1] - sess_dict[0] for sess_dict in overlap_seg
      ]
      overlap_dur = (
          sum(overlap_len_list) if len(overlap_len_list) else 0
      )
      overlap_ratio = overlap_dur / speech_dur
  
      results = {
          "session_dur": session_dur,
          "silence_len_list": silence_len_list,
          "silence_dur": silence_dur,
          "silence_ratio": silence_ratio,
          "overlap_len_list": overlap_len_list,
          "overlap_dur": overlap_dur,
          "overlap_ratio": overlap_ratio,
      }
  
      return results
  
file_path: NeMo/scripts/speaker_tasks/multispeaker_data_analysis.py
imports: import argparse
  import multiprocessing
  import shutil
  from collections import OrderedDict
  from pathlib import Path
  from pprint import pprint
  from typing import Dict
  import matplotlib.pyplot
  import numpy
  import seaborn
  import sox
  from scipy.stats import expon
  from tqdm import tqdm
  from nemo.collections.asr.parts.utils.vad_utils import get_nonspeech_segments, load_speech_overlap_segments_from_rttm, plot_sample_from_rttm
label_desc: Use image node_id 1 for calling a global function with example usage: process_sample(sess_dict) and returns: results