Music Generation with Magenta: Using Machine Learning in Arts

Article

Book

Conferences

Music Generation with Magenta: Using Machine Learning in Arts

Composing music is hard and the lack of inspiration can be daunting. A lot of elements are required to make it work: musical score, instruments, musicality, feeling, groove, originality. Automated music generation can help us compose music and has been around for ages, even before the digital era, as a tool for musician to create new music and get inspired. What about machine learning? Can we also use it as a tool for music generation? With Magenta, a music generation library based on Tensorflow, we can use the power of machine learning to help musical creation. In this presentation, we’ll see why certain neural networks, such as RNNs, LSTMs, and VAEs, have specific usage in music generation. We’ll then live code a small music generation application using Magenta and have fun composing a small track using generated sounds, rhythms and melodies. We’ll also have a look at related projects such as Magenta.js, which makes Magenta run in the browser, and Magenta Studio, which makes Magenta run in a Digital Audio Workstation, Ableton Live. Finally, we’ll see how to train a model on a specific style and use it to generate new music.

(french) Génération musicale avec Magenta : apprentissage machine et art

Composer de la musique peut sembler difficile, puisque beaucoup d’éléments sont nécessaires pour que le résultat soit intéressant : la partition, les instruments, la musicalité, le ressenti, le groove, l’originalité. Et si l’apprentissage machine nous permettait de générer de la musique ayant toutes ces caractéristiques, est-ce que la composition musicale deviendrait plus accessible ? Avec Magenta, une librairie de génération musicale basée sur Tensorflow, nous pouvons utiliser la puissance de l’apprentissage machine pour aider la création. Dans cette présentation, nous verrons pourquoi certains réseaux neuronaux, tels que RNN, LSTM, et VAE, sont particulièrement utilisés dans la génération musicale. Nous écrirons ensuite en live code une application de génération musicale en utilisant Magenta, qui nous permettra de générer un morceau complet, comprenant la rythmique, la mélodie et les clips audio. Nous introduirons aussi des projets connexes tels que Magenta.js, permettant d’exécuter Magenta dans un navigateur, et Magenta Studio, permettant d’exécuter Magenta dans un Digital Audio Workstation tel que Ableton Live. Finalement, nous verrons comment entraîner un modèle sur un style spécifique, afin de l’utiliser pour générer notre propre style musical.

Music Generation with Magenta.js: Leveraging Machine Learning and Web Audio API

With Magenta, a music generation library based on Tensorflow, we can use the power of machine learning to help musical creation. In this presentation, we’ll talk about Magenta.js, the JavaScript implementation of Magenta, which makes it possible to generate audio and MIDI directly in the browser, by using the Web Audio API (with Tone.js) and the Web MIDI API. We’ll code a music generation application, which will generate a simple rhythmic and an accompanying melody composed of generated audio samples.

(french - Génération musicale avec Magenta.js : machine learning et Web Audio API) Avec Magenta, une librairie de génération musicale basée sur Tensorflow, nous pouvons utiliser la puissance de l’apprentissage machine pour aider la création. Dans cette présentation, nous abordons Magenta.js, l’implémentattion JavaScript de Magenta, permettant de générer audio et MIDI directement dans le navigateur, en utilisant le Web Audio API (avec Tone.js) et le Web MIDI API. Nous allons coder une application de génération musicale, permettant de générer une rythmique simple accompagnée d’une mélodie composée de samples audio générés.

Latest slides

Latest video