예제 #1
0
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
예제 #2
0
                                             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))