code: def split_sets(data_dict, split_ratio, splits=["train", "valid"]):
      """Randomly splits the wav list into training, validation, and test lists.
      Arguments
      ---------
      data_dict : list
          a dictionary of id and its corresponding audio information
      split_ratio: list
          List composed of three integers that sets split ratios for train,
          valid, and test sets, respectively.
          For instance split_ratio=[80, 10, 10] will assign 80% of the sentences
          to training, 10% for validation, and 10% for test.
      splits : list
          List of splits.
      Returns
      ------
      dictionary containing train, valid, and test splits.
      """
      assert len(splits) == len(split_ratio)
      id_list = list(data_dict.keys())
      # Random shuffle of the list
      random.shuffle(id_list)
      tot_split = sum(split_ratio)
      tot_snts = len(id_list)
      data_split = {}
      splits = ["train", "valid"]
  
      for i, split in enumerate(splits):
          n_snts = int(tot_snts * split_ratio[i] / tot_split)
          data_split[split] = id_list[0:n_snts]
          del id_list[0:n_snts]
      if len(split_ratio) == 3:
          data_split["test"] = id_list
      return data_split
  
file_path: speechbrain/recipes/ZaionEmotionDataset/emotion_diarization/zed_prepare.py
imports: import os
  import random
  import json
  import logging
  from datasets.prepare_EMOVDB import prepare_emovdb
  from datasets.prepare_ESD import prepare_esd
  from datasets.prepare_IEMOCAP import prepare_iemocap
  from datasets.prepare_JLCORPUS import prepare_jlcorpus
  from datasets.prepare_RAVDESS import prepare_ravdess
label_desc: Use image node_id 5 for calling a global function with example usage: split_sets(data_dict, split_ratio, splits) and returns: data_split