def au_proc(filename, max_shape): result = np.zeros((num_of_augs + 1, max_shape)) X, sample_rate = librosa.load(filename) melspec = librosa.feature.melspectrogram(y=X, sr=sample_rate, n_mels=256, hop_length=128, fmax=8000) shape = melspec.shape[0] * melspec.shape[1] for i in range(num_of_augs): warped_masked_spectrogram = spec_augment_tensorflow.spec_augment( mel_spectrogram=melspec) warped_masked_spectrogram = warped_masked_spectrogram.reshape(shape) for j in range(shape): result[i + 1][j] = warped_masked_spectrogram[j] melspec = melspec.reshape(shape) for j in range(shape): result[0][j] = melspec[j] return result
sr=sample_rate, n_mels=256, hop_length=128, fmax=8000) l = melspec.shape[ 0] #TODO: rename the variables 'l' and 'll' , make it as much informative as it's possible ll = melspec.shape[1] k = k + 1 for j in range(l): for jj in range(ll): x_train[k][j][jj] = melspec[j][jj] for pp in range( 10 ): # TODO: make the number of iterations global constant so we can change it easily warped_masked_spectrogram = spec_augment_tensorflow.spec_augment( mel_spectrogram=melspec) #print(warped_masked_spectrogram) #spec_augment_tensorflow.visualization_spectrogram(melspec, 'before') #spec_augment_tensorflow.visualization_spectrogram(warped_masked_spectrogram, 'after') k = k + 1 for j in range(l): for jj in range(ll): x_train[k][j][jj] = warped_masked_spectrogram[j][jj] librosa.display.specshow(librosa.power_to_db(melspec, ref=np.max)) pylab.savefig(save_path, bbox_inches=None, pad_inches=0) pylab.close() x_train = x_train.reshape(1, 3300, 91000) print(len(x_train))