Skip to content

Instantly share code, notes, and snippets.

@iCorv
Last active January 15, 2020 19:31
Show Gist options
  • Save iCorv/e8cca08710c315f4c2eb909fda722c8a to your computer and use it in GitHub Desktop.
Save iCorv/e8cca08710c315f4c2eb909fda722c8a to your computer and use it in GitHub Desktop.
AUDIO_CHUNK_SIZE = 1024
RATE = 44100
# build the model
kernel_size = (1,5)
input_audio = Input(shape=(1, AUDIO_CHUNK_SIZE, 1))
net = Convolution2D(filters=64, kernel_size=kernel_size,activation='relu',padding='same')(input_audio)
net = AveragePooling2D((1,2))(net)
net = Convolution2D(filters=32, kernel_size=kernel_size,activation='relu',padding='same')(net)
net = AveragePooling2D((1,2))(net)
net = Convolution2D(filters=4, kernel_size=kernel_size, activation='relu',padding='same')(net)
net = AveragePooling2D((1,2))(net)
net = Convolution2D(filters=2, kernel_size=kernel_size, activation='relu',padding='same')(net)
# audio chunk encoded in 128 data points
encoded = AveragePooling2D((1,2), name='encoded_audio')(net)
net = Convolution2DTranspose(filters=2, kernel_size=kernel_size, activation='relu', padding='same')(encoded)
net = UpSampling2D((1,2))(net)
net = Convolution2DTranspose(filters=4, kernel_size=kernel_size, activation='relu', padding='same')(net)
net = UpSampling2D((1,2))(net)
net = Convolution2DTranspose(filters=32, kernel_size=kernel_size, activation='relu', padding='same')(net)
net = UpSampling2D((1,2))(net)
net = Convolution2DTranspose(filters=64, kernel_size=kernel_size, activation='relu', padding='same')(net)
net = UpSampling2D((1,2))(net)
decoded = Convolution2DTranspose(filters=1, kernel_size=kernel_size, activation='linear', padding='same', name='decoded_audio')(net)
autoencoder = Model(input_audio, decoded, name='simple_autoencoder')
autoencoder.summary()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment