def prep_whole_dividable(path_load, path_save, firstdim, secdim): import string import os import numpy as np import scipy.io import math from tqdm import tqdm # -------------------------------------------------------------- # Get files from path path_save_one = path_save for p in range(0,3): if p == 0: path_load_real = path_load + '/Train' path_save_real = path_save_one + '/Train' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 1: path_load_real = path_load + '/Validation' path_save_real = path_save_one + '/Validation' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 2: path_load_real = path_load + '/Test' path_save_real = path_save_one + '/Test' if not os.path.exists(path_save_real): os.makedirs(path_save_real) files_all = os.listdir(path_load_real) files_all = sorted(files_all,key=lambda x: ((int(x.split("_")[2])),(int(x.split("_")[3])),(int(x.split("_")[4])),(x.split("_")[5]))) print(files_all) for file in tqdm(files_all): # for files in range(0,len(files_all),skipcount): i = files_all.index(file) # print(i) fourierspec2 = [] labelpsd1 = [] labelpsd2 = [] # for file in tqdm(files_all[files:files+skipcount]): path_loadcontents = path_load_real + '/' + file contents = np.load(path_loadcontents) fourierspec = [] labelpsd = [] fourier = contents['dbmixed'] fourier = fourier[:firstdim,:secdim] fourierspec2.append(fourier) label1 = contents['dbspeech'] labelpsd1.append(label1[:firstdim,:secdim]) label2 = contents['dbmusic'] labelpsd2.append(label2[:firstdim,:secdim]) # if option == 'music': # label = contents['dbmusic'] # elif option == 'speech': # label = contents['dbspeech'] # else: # print('option not right!') # # label = label[:firstdim,:secdim] # # labelpsd2.append(label) train_data = np.array(fourierspec2) train_data = np.reshape(train_data, (train_data.shape[0], train_data.shape[1], train_data.shape[2], 1)) # print(train_data.shape) train_labels_s = np.array(labelpsd1) train_labels_s = np.reshape(train_labels_s, (train_labels_s.shape[0], train_labels_s.shape[1], train_labels_s.shape[2], 1)) # print(train_labels_s.shape) train_labels_m = np.array(labelpsd2) train_labels_m = np.reshape(train_labels_m, (train_labels_m.shape[0], train_labels_m.shape[1], train_labels_m.shape[2], 1)) # print(train_labels_m.shape) path_savecontents = path_save_real + '/Processed_' + str(i) + '_whole_dividable.npz' # print(path_savecontents) np.savez(path_savecontents, x=train_data, y=train_labels_s, z=train_labels_m) return path_save_one def prep_flatten_1weiter(path_load, path_save, skipcount, framelength, option): import os import numpy as np import scipy.io import math from tqdm import tqdm # ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- path_save_one = path_save for p in range(0,3): if p == 0: path_load_real = path_load + '/Train' path_save_real = path_save_one + '/Train' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 1: path_load_real = path_load + '/Validation' path_save_real = path_save_one + '/Validation' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 2: path_load_real = path_load + '/Test' path_save_real = path_save_one + '/Test' if not os.path.exists(path_save_real): os.makedirs(path_save_real) # Get files from path files_all = os.listdir(path_load_real) files_all = sorted(files_all) for files in range(0,len(files_all),skipcount): fourierspec2 = [] labelpsd2 = [] for file in tqdm(files_all[files:files+skipcount]): path_loadcontents = path_load_real + '/' + file contents = np.load(path_loadcontents) fourierspec = [] labelpsd = [] fourier = contents['dbmixed'] for n in list(range(0, (math.floor(fourier.shape[1]/framelength)-1)*framelength+1)): fourierlil = fourier[:,n:n+framelength] fourierlil = np.transpose(fourierlil) fourierlil = np.reshape(fourierlil, (fourier.shape[0]*framelength)) fourierspec.append(fourierlil) fourierspec2.extend(fourierspec) if option == 'music': label = contents['dbmusic'] elif option == 'speech': label = contents['dbspeech'] else: print('option not right!') for n in list(range(0, (math.floor(fourier.shape[1]/framelength)-1)*framelength+1)): labellil = label[:,n+framelength-1] labelpsd.append(labellil) labelpsd2.extend(labelpsd) train_data = np.array(fourierspec2) train_labels = np.array(labelpsd2) path_savecontents = path_save_real + '/Processed_' + str(files) + '_' + str(train_data.shape[0]) + '_flatten_1weiter.npz' np.savez(path_savecontents, x=train_data, y=train_labels) return path_save_one def prep_flatten_4weiter(path_load, path_save, skipcount, framelength, option): import os import numpy as np import scipy.io import math from tqdm import tqdm # ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- path_save_one = path_save for p in range(0,3): if p == 0: path_load_real = path_load + '/Train' path_save_real = path_save_one + '/Train' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 1: path_load_real = path_load + '/Validation' path_save_real = path_save_one + '/Validation' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 2: path_load_real = path_load + '/Test' path_save_real = path_save_one + '/Test' if not os.path.exists(path_save_real): os.makedirs(path_save_real) # Get files from path files_all = os.listdir(path_load_real) files_all = sorted(files_all) for files in tqdm(range(0,len(files_all),skipcount)): fourierspec2 = [] labelpsd2 = [] for file in tqdm(files_all[files:files+skipcount]): path_loadcontents = path_load_real + '/' + file contents = np.load(path_loadcontents) fourierspec = [] labelpsd = [] fourier = contents['dbmixed'] print(fourier.shape) # if p == 0 & files == 0: # diffcount = math.floor(fourier.shape[1]/framelength) # return diffcount for n in list(range(0, math.floor(fourier.shape[1]/framelength))): fourierlil = fourier[:,framelength*n:framelength*n+framelength] fourierlil = np.transpose(fourierlil) fourierlil = np.reshape(fourierlil, (fourier.shape[0]*framelength)) print(np.size(fourierlil)) fourierspec.append(fourierlil) print(np.size(fourierspec)) fourierspec2.extend(fourierspec) if option == 'music': label = contents['dbmusic'] elif option == 'speech': label = contents['dbspeech'] else: print('option not right!') for n in list(range(0, math.floor(label.shape[1]/framelength))): labellil = label[:,framelength*n+framelength-1] print(np.size(labellil)) labelpsd.append(labellil) print(np.size(labelpsd)) labelpsd2.extend(labelpsd) train_data = np.array(fourierspec2) train_labels = np.array(labelpsd2) path_savecontents = path_save_real + '/Processed_' + str(files) + '_' + str(train_data.shape[0]) + '_' + str(framelength) + '_flatten.npz' np.savez(path_savecontents, x=train_data, y=train_labels) return path_save_one def prep_framelength(path_load, path_save, framelength): import os import numpy as np import scipy.io import math from tqdm import tqdm # ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- path_save_one = path_save for p in range(0,3): if p == 0: path_load_real = path_load + '/Train' path_save_real = path_save_one + '/Train' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 1: path_load_real = path_load + '/Validation' path_save_real = path_save_one + '/Validation' if not os.path.exists(path_save_real): os.makedirs(path_save_real) elif p == 2: path_load_real = path_load + '/Test' path_save_real = path_save_one + '/Test' if not os.path.exists(path_save_real): os.makedirs(path_save_real) # Get files from path files_all = os.listdir(path_load_real) files_all = sorted(files_all,key=lambda x: ((int(x.split("_")[2])),(int(x.split("_")[3])),(int(x.split("_")[4])),(x.split("_")[5]))) # files_all = sorted(files_all,key=lambda x: int(x.split("_",2)[2])) print(files_all) for file in tqdm(files_all): i = files_all.index(file) # print(i) # fourierspec2 = [] # labelpsd2 = [] path_loadcontents = path_load_real + '/' + file contents = np.load(path_loadcontents) fourierspec = [] labelpsd1 = [] labelpsd2 = [] fourier = contents['dbmixed'] for n in list(range(fourier.shape[1]-(framelength-1))): fourierlil = fourier[:,n:n+framelength] fourierspec.append(fourierlil) # print(fourierlil) # print(np.array(fourierspec).shape) # if option == 'music': # label = contents['dbmusic'] # elif option == 'speech': # label = contents['dbspeech'] # else: # print('option not right!') label_s = contents['dbspeech'] for n in list(range(fourier.shape[1]-(framelength-1))): labellil1 = label_s[:,n+framelength-1] labelpsd1.append(labellil1) label_m = contents['dbmusic'] for n in list(range(fourier.shape[1]-(framelength-1))): labellil2 = label_m[:,n+framelength-1] labelpsd2.append(labellil2) # print(labellil) # print(np.array(labelpsd).shape) train_data = np.array(fourierspec) train_data = np.reshape(train_data, (train_data.shape[0], train_data.shape[1], train_data.shape[2], 1)) # print(train_data.shape) train_labels_s = np.array(labelpsd1) train_labels_s = np.reshape(train_labels_s, (train_labels_s.shape[0], train_labels_s.shape[1], 1, 1)) # print(train_labels_s.shape) train_labels_m = np.array(labelpsd2) train_labels_m = np.reshape(train_labels_m, (train_labels_m.shape[0], train_labels_m.shape[1], 1, 1)) # print(train_labels_m.shape) path_savecontents = path_save_real + '/Processed_' + str(i) + '_' + str(framelength) + '_frames.npz' # print(path_savecontents) np.savez(path_savecontents, x=train_data, y=train_labels_s, z=train_labels_m) return path_save_one