def METHOD_NAME(self, mode, seed, n_folds,
              split) -> Tuple[List[str], List[int]]:
    if not os.path.isdir(os.path.join(DATA_HOME, self.audio_path)):
        download_and_decompress(self.archieves, DATA_HOME)
    wav_files = []
    for root, _, files in os.walk(os.path.join(DATA_HOME, self.audio_path)):
        for file in files:
            if file.endswith('.wav'):
                wav_files.append(os.path.join(root, file))
    random.seed(seed)  # shuffle samples to split data
    random.shuffle(
        wav_files
    )  # make sure using the same seed to create train and dev dataset
    meta_info = self._get_meta_info(wav_files)
    files = []
    labels = []
    n_samples_per_fold = len(meta_info) // n_folds
    for idx, sample in enumerate(meta_info):
        _, _, emotion = sample
        target = self.label_list.index(emotion)
        fold = idx // n_samples_per_fold + 1
        if mode == 'train' and int(fold) != split:
            files.append(wav_files[idx])
            labels.append(target)
        if mode != 'train' and int(fold) == split:
            files.append(wav_files[idx])
            labels.append(target)
    return files, labels