def load_from_pair(tracks_path, quantization, binarize_piano, binarize_orch, temporal_granularity): ############################################################ # Read piano midi file and orchestra score if defined ############################################################ pr_piano, event_piano, duration_piano, _, name_piano, pr_orch, _, _, instru_orch, _, duration =\ build_data_aux.process_folder(tracks_path, quantization, binarize_piano, binarize_orch, temporal_granularity) return pr_piano, event_piano, duration_piano, name_piano, pr_orch, instru_orch, duration
def build_split_matrices(folder_paths, quantization, temporal_granularity): file_counter = 0 train_only_files={} train_and_valid_files={} for folder_path in folder_paths: ############# # Read file folder_path = folder_path.rstrip() print(folder_path) if not os.path.isdir(folder_path): continue # Is there an original piano score or do we have to create it ? num_music_file = max(len(glob.glob(folder_path + '/*.mid')), len(glob.glob(folder_path + '/*.xml'))) if num_music_file == 2: is_piano = True elif num_music_file == 1: is_piano = False else: raise Exception("CAVAVAVAMAVAL") # Get pr, warped and duration if is_piano: new_pr_piano, _, _, _, new_name_piano, _, _, _, _, _, duration\ = build_data_aux.process_folder(folder_path, quantization, binary_piano, binary_orch, temporal_granularity, gapopen=3, gapextend=1) else: new_pr_piano, _, _, _, new_name_piano, _, _, _, _, _, duration\ = build_data_aux_no_piano.process_folder_NP(folder_path, quantization, binary_piano, binary_orch, temporal_granularity) if new_pr_piano is None: print("FAIL !") continue split_name = re.split("/", new_name_piano) folder_name = "Piano_files_for_embeddings/" + split_name[-3] file_name = split_name[-1] + '.mid' if not os.path.isdir(folder_name): os.makedirs(folder_name) write_midi(new_pr_piano, 1000, folder_name + '/' + file_name, tempo=80) return