code: def get_split_points_in_alignments(
      words: List[str],
      alignments: List[float],
      split_buffer: float,
      sr: int,
      sentence_audio_len: int,
      new_start: float = 0,
  ):
      """
      Collect split points in the alignment based on silence.
      Silence is defined as a blank symbol between two words that is longer than 2 * split_buffer.
  
      Args:
          words (List[str]): List of words in the sentence.
          alignments (List[float]): List of alignment timestamps in the sentence.
          split_buffer (float): Buffer length in seconds.
          sr (int): Sample rate of the audio.
          sentence_audio_len (int): Length of the sentence audio in samples.
          new_start (float): Start of the sentence audio in seconds.
  
      Returns:
          splits (List[List[int]]): List of integer split points in the sentence audio.
      """
      splits = []
      for i in range(len(words)):
          if words[i] == "" and i != 0 and i != len(words) - 1:
              silence_length = alignments[i] - alignments[i - 1]
              if (
                  silence_length > 2 * split_buffer
              ):  # split utterance on silence
                  new_end = alignments[i - 1] + split_buffer
                  splits.append(
                      [
                          int(new_start * sr),
                          int(new_end * sr),
                      ]
                  )
                  new_start = alignments[i] - split_buffer
      # The last split point should be added
      splits.append([int(new_start * sr), sentence_audio_len])
      return splits
  
imports: import copy
  import os
  import shutil
  from collections import defaultdict
  from typing import IO, Dict, List, Optional, Tuple
  import numpy
  import torch
  from scipy.stats import beta, gamma
  from tqdm import tqdm
  from nemo.collections.asr.parts.preprocessing.perturb import AudioAugmentor
  from nemo.collections.asr.parts.preprocessing.segment import AudioSegment
  from nemo.collections.asr.parts.utils.manifest_utils import get_ctm_line, read_manifest, write_ctm, write_manifest, write_text
  from nemo.collections.asr.parts.utils.speaker_utils import labels_to_rttmfile
  from nemo.utils import logging
label_desc: Use image node_id 18 for calling a global function with example usage: get_split_points_in_alignments(words, alignments, split_buffer, sr, sentence_audio_len, new_start) and returns: splits