Hands-On Music Generation with Magenta

Dubreuil, Alexandre



The importance of machine learning (ML) in art is growing at a rapid pace due to recent advancements in the field, and Magenta is at the forefront of this innovation. With this book, you’ll follow a hands-on approach to using ML models for music generation, learning how to integrate them into an existing music production workflow. Complete with practical examples and explanations of the theoretical background required to understand the underlying technologies, this book is the perfect starting point to begin exploring music generation.

The book will help you learn how to use the models in Magenta for generating percussion sequences, monophonic and polyphonic melodies in MIDI, and instrument sounds in raw audio. Through practical examples and in-depth explanations, you’ll understand ML models such as RNNs, VAEs, and GANs. Using this knowledge, you’ll create and train your own models for advanced music generation use cases, along with preparing new datasets. Finally, you’ll get to grips with integrating Magenta with other technologies, such as digital audio workstations (DAWs), and using Magenta.js to distribute music generation apps in the browser.

By the end of this book, you'll be well-versed with Magenta and have developed the skills you need to use ML models for music generation in your own style.

  • Use RNN models in Magenta to generate MIDI percussion, and monophonic and polyphonic sequences
  • Use WaveNet and GAN models to generate instrument notes in the form of raw audio
  • Employ Variational Autoencoder models like MusicVAE and GrooVAE to sample, interpolate, and humanize existing sequences
  • Prepare and create your dataset on specific styles and instruments
  • Train your network on your personal datasets and fix problems when training networks
  • Apply MIDI to synchronize Magenta with existing music production tools like DAWs
  • Learn how machine learning, deep learning, and reinforcement learning are used in music generation
  • Generate new content by manipulating the source data using Magenta utilities, and train machine learning models with it
  • Explore various Magenta projects such as Magenta Studio, MusicVAE, and NSynth