Production Tools

Neural Drum Synth

This project utilises a machine learning technique known as a generative adversarial network (GAN), trained on a dataset of drum samples that includes kicks, snares, and cymbals.





Follow this link for the GitHub repository containing code, dependencies, pre-trained model weights, and an installation guide.

GUI Features

  • Drum type selection:
    Choose between kick, snare, and cymbal sounds. This is achieved by training the generative model with class labels during its development.
  • Drum space:
    An interactive 2D pad allows you to explore drum sounds. Similar sounds are closer together on the pad. This arrangement is created using a dimensionality reduction technique called UMAP applied to the latent distribution.
  • Morphing parameters:
    Fine-tune and create variations in the drum sounds using a set of synthesizer parameters. These parameters are identified through Principal Component Analysis (PCA) to find directions in the latent space.
  • Layer select:
    Further refine the sound by selecting which layers of the network will be influenced by Drum space and Morphing parameters. Each layer affects different aspects of the sound, and you can control them independently.
  • Amplitude:
    Adjust the overall volume level of the generated sound.
  • Pitch:
    Alter the pitches of the drum sounds, changing the playback rate, plotting, and saving accordingly.
  • Noise:
    Add subtle variations to each generated sound. At maximum, it mimics analog synthesizers, providing uniqueness in each generation. When minimized, the generations become more consistent.
  • Random seed:
    Generate a random drum sound that you can manipulate using the Morphing parameters. This samples the latent space randomly.
  • Blend Seed:
    Blend between the random seed and the UMAP space. This allows you to smoothly transition between a completely random sound and one guided by the UMAP vector.
  • Play:
    Play back the generated audio.
  • Save:
    Save the audio to a designated folder for your future use.

Neural Snare Synth

This project utilises a machine learning technique known as a generative adversarial network (GAN) trained on the SDDS dataset, a colletion of snare drums recorded with varied velocity snare strikes using 53 microphones, 10 tonally distinct snare drums and several common dampening methods.

Follow this link for the GitHub repository containing code, dependencies, pre-trained model weights, and an installation guide.

GUI Features

  • Snare model:
    Choose between 10 tonally distinct snare drums.
  • Dampening:
    Select between 5 different types of snare dampening. Dampening shortens decay time, producing a perceptually tighter, more controlled sound.
  • Mixer:
    Enables amplitude control over 5 different microphone positions: overhead (OH), top (TP), bottom (BTM), room (RM), and shell (SH) miking. A snare is generated for each microphone position and these sliders determine their presence. Master (MAS) controls the overall amplitude mix.
  • Morphing parameters:
    Fine-tune and create variations in the drum sounds using a set of synthesizer parameters. These parameters are identified through Principal Component Analysis (PCA) to find directions in the latent space.
  • Noise:
    Add subtle variations to each generated sound. At maximum, it mimics analog synthesizers, providing uniqueness in each generation. When minimized, the generations become more consistent.
  • Random seed:
    Generate a random drum sound that you can manipulate using the Morphing parameters. This samples the latent space randomly.
  • Play:
    Play back the generated audio.
  • Save:
    Save the audio to a designated folder for your future use.