code: def generate_words_and_alignments(sample_index):
      if sample_index == 0:
          words = ["", "hello", "world"]
          alignments = [0.5, 1.0, 1.5]
      elif sample_index == 1:
          words = ["", "stephanos", "dedalos", ""]
          alignments = [0.51, 1.31, 2.04, 2.215]
      elif sample_index == 2:
          words = [
              "",
              "hello",
              "world",
              "",
              "welcome",
              "to",
              "nemo",
              "",
          ]
          alignments = [0.5, 1.0, 1.5, 1.7, 1.8, 2.2, 2.7, 2.8]
      else:
          raise ValueError(f"sample_index {sample_index} not supported")
      speaker_id = "speaker_0"
      return words, alignments, speaker_id
  
imports: import os
  import numpy
  import pytest
  import torch
  from omegaconf import DictConfig
  from nemo.collections.asr.parts.utils.data_simulation_utils import DataAnnotator, SpeechSampler, add_silence_to_alignments, binary_search_alignments, get_cleaned_base_path, get_split_points_in_alignments, normalize_audio, read_noise_manifest
  from nemo.collections.asr.parts.utils.manifest_utils import get_ctm_line
label_desc: Use image node_id 4 for calling a global function with example usage: generate_words_and_alignments(sample_index) and returns: words,  alignments,  speaker_id