code: def skip(splits, save_folder, conf):
      """
      Detect when the librispeech data prep can be skipped.
  
      Arguments
      ---------
      splits : list
          A list of the splits expected in the preparation.
      save_folder : str
          The location of the save directory
      conf : dict
          The configuration options to ensure they haven't changed.
  
      Returns
      -------
      bool
          if True, the preparation phase can be skipped.
          if False, it must be done.
      """
  
      # Checking csv files
      skip = True
  
      for split in splits:
          if not os.path.isfile(
              os.path.join(save_folder, split + ".csv")
          ):
              skip = False
  
      #  Checking saved options
      save_opt = os.path.join(save_folder, OPT_FILE)
      if skip is True:
          if os.path.isfile(save_opt):
              opts_old = load_pkl(save_opt)
              if opts_old == conf:
                  skip = True
              else:
                  skip = False
          else:
              skip = False
  
      return skip
  
file_path: speechbrain/recipes/LibriSpeech/ASR/CTC/librispeech_prepare.py
imports: import os
  import csv
  import random
  from collections import Counter
  from dataclasses import dataclass
  import functools
  import logging
  from speechbrain.utils.data_utils import download_file, get_all_files
  from speechbrain.dataio.dataio import load_pkl, save_pkl, merge_csvs, read_audio_info
  from speechbrain.utils.parallel import parallel_map
label_desc: Use image node_id 6 for calling a global function with example usage: skip(splits, save_folder, conf) and returns: skip