Magenta Studio's Drumify Plugin Creates Unique MIDI Rhythms Using AI
Drumify is the latest plugin to be offered in Magenta Studio, a set of open-source machine learning MIDI plugins that apply algorithmic models to MIDI data in a variety of unique ways. These plugins are available as both standalone applications and Ableton Live (Max for Live) integrations.
Magenta Studio currently offers 5 plugins – Drumify, Generate, Interpolate, Continue and Groove – each of which serving a unique role in using machine learning to process MIDI data. You can watch a demo for each of these plugins below.
“Generate is similar to Continue, but it generates a 4 bar phrase with no input necessary. Choose where you would like the output to go, the number of variations, temperature, and click Generate. This can be helpful for breaking a creative block or as a source of inspiration for an original sample.
Under the hood, Generate uses a Variational Autoencoder (VAE) that has been trained on millions of melodies and rhythms to learn a summarized representation of musical qualities. Generate chooses a random combination of these summarized qualities, and decodes it back to MIDI to produce a new musical clip.”
“Unlike the other plugins, Interpolate takes two drum beats or two melodies as inputs. It then generates up to 16 clips which combine the qualities of these two clips. It’s useful for merging musical ideas, or creating a smooth morphing between them.
Interpolate also uses a Variational Autoencoder (VAE) similar to Generate. One way to think of the VAE is as a mapping from MIDI to a compressed space in which similar musical patterns are clustered together. Each of your input patterns is represented by a position on this map. Interpolate draws a line between these positions and returns clips along this line. The number of returned clips is set by the “steps” slider.”
“Continue uses the predictive power of recurrent neural networks (RNN) to generate notes that are likely to follow your drum beat or melody. Give it an input clip and it can extend it by up to 32 measures. This can be helpful for adding variation to a drum beat or creating new material for a melodic track. It typically picks up on things like durations, key signatures and timing. It can be used to produce more random outputs by increasing the temperature.”
“Groove (formerly GrooVAE) adjusts the timing and velocity of an input drum pattern to produce the “feel” of a drummer’s performance. This is similar to what a “humanize” plugin does, but achieved in a totally different way.
We recorded 15 hours of real drummers performing on MIDI drum kits. These recordings were quantized, removing all velocity and microtiming and were used to train a neural network to predict the unquantized beats as the output. This is similar to the method used in Google’s automatic language translation, but instead of words we are translating from quantized drum patterns to human performances.”
Ableton Live 10 Suite and Max/MSP 8.0.3+ are required for Magenta Studio plugin integration. The project is completely open-source and all code is available on GitHub. You can visit the Magenta Studio website to learn more.