code: def dataio_prep(hparams):
      "Creates the datasets and their data processing pipelines."
  
      data_folder = hparams["data_folder"]
  
      # 1. Declarations:
      train_data = sb.dataio.dataset.DynamicItemDataset.from_csv(
          csv_path=hparams["train_annotation"],
          replacements={"data_root": data_folder},
      )
  
      valid_data = sb.dataio.dataset.DynamicItemDataset.from_csv(
          csv_path=hparams["valid_annotation"],
          replacements={"data_root": data_folder},
      )
  
      test_data = sb.dataio.dataset.DynamicItemDataset.from_csv(
          csv_path=hparams["test_annotation"],
          replacements={"data_root": data_folder},
      )
  
      datasets = [train_data, valid_data, test_data]
      label_encoder = sb.dataio.encoder.CategoricalEncoder()
  
      # 2. Define audio pipeline:
      @sb.utils.data_pipeline.takes("wav", "start", "stop", "duration")
      @sb.utils.data_pipeline.provides("sig")
      def audio_pipeline(wav, start, stop, duration):
          start = int(start)
          stop = int(stop)
          num_frames = stop - start
          sig, fs = torchaudio.load(
              wav, num_frames=num_frames, frame_offset=start
          )
          sig = sig.transpose(0, 1).squeeze(1)
          return sig
  
      sb.dataio.dataset.add_dynamic_item(datasets, audio_pipeline)
  
      # 3. Define text pipeline:
      @sb.utils.data_pipeline.takes("command")
      @sb.utils.data_pipeline.provides("command", "command_encoded")
      def label_pipeline(command):
          yield command
          command_encoded = label_encoder.encode_sequence_torch(
              [command]
          )
          yield command_encoded
  
      sb.dataio.dataset.add_dynamic_item(datasets, label_pipeline)
  
      # 3. Fit encoder:
      # Load or compute the label encoder (with multi-GPU DDP support)
      lab_enc_file = os.path.join(
          hparams["save_folder"], "label_encoder.txt"
      )
      label_encoder.load_or_create(
          path=lab_enc_file,
          from_didatasets=[train_data],
          output_key="command",
      )
  
      # 4. Set output:
      sb.dataio.dataset.set_output_keys(
          datasets, ["id", "sig", "command_encoded"]
      )
  
      return train_data, valid_data, test_data, label_encoder
  
file_path: speechbrain/recipes/Google-speech-commands/train.py
imports: import os
  import sys
  import torch
  import torchaudio
  import speechbrain
  from hyperpyyaml import load_hyperpyyaml
  import speechbrain.nnet.CNN
  from speechbrain.utils.distributed import run_on_main
label_desc: Use image node_id 1 for calling a global function with example usage: dataio_prep(hparams) and returns: train_data,  valid_data,  test_data,  label_encoder, sig