The input to DrumGAN's generator \(G\)  is a concatenation of \(n_{C} = 7\)  perceptual features \(c\)  mentioned above, and, as it is typical in the GAN setting, a random vector \(z\)  sampled from an independent Gaussian distribution \(z \sim \mathcal {N}_{n_z = 128}(\mu = 0, \sigma ^2=\mathbf {I})\)  with \(n_z=128\)  latent dimensions. The resulting vector, with size \(n_z + n_{C} = 135\) , is fed to \(G\)  to generate the output signal \(G(z, c)\) . The discriminator \(D\)  estimates the Wasserstein distance between the real and generated distributions [1]}. Also, in order to encourage \(G\)  to use the conditional features, \(D\)  has to predict these and an auxiliary mean-squared error loss is added to the objective.
The authors employ the progressive growing framework [2]} where the architecture is built dynamically during training.
As for the architecture, \(G\)  and \(D\)  follow a mirrored configuration composed of a stack of 6 convolutional blocks. Each block is followed by up/down-sampling steps (respectively for \(G\)  and \(D\) ) of the temporal and frequency dimension.
For more architecture and training details, we refer the reader to the original paper [3]}.
