In Hands-On Music Generation with Magenta, we explore the role of deep learning in music generation and assisted music composition. Design and use machine learning models for music generation using Magenta and make them interact with existing music creation tools.
- Packt Publishing - Buy the book in ebook format or paperback
- Code in Action - Videos that shows the code examples being executed and the resulting generation.
- Amazon Kindle or Amazon Paperback - Also available on Amazon
- Chapter 1 - Introduction on Magenta and generative art
- Chapter 2 - Generating drum sequences with Drums RNN
- Chapter 3 - Generating polyphonic melodies
- Chapter 4 - Latent space interpolation with Music VAE
- Chapter 5 - Audio generation with GANSynth
- Chapter 6 - Data preparation and pipelines
- Chapter 7 - Training an existing model on a specific style
- Chapter 8 - Magenta in the browser with Magenta.js
- Chapter 9 - Making Magenta interact with music applications
@book{book,
author = {DuBreuil, Alexandre},
title = {Hands-On Music Generation with Magenta},
publisher = {Packt Publishing Ltd.},
address = {Birmingham, UK},
year = 2020,
isbn = "9781838824419"
}
In the book, we use Magenta 1.1.7, but we provide updated code here, up to Magenta 2.1.2. The master
branch corresponds to Magenta 1.1.7, and the magenta-master
branch corresponds to Magenta 2.1.2 (for now). On the magenta-master
branch, you can check the modifications (on the first example, for example) to migrate from 1.1.7 to 2.1.2 using:
git diff master Chapter02/chapter_02_example_01.py`
You can see what Magenta version you should be using by looking at the badge at the top of the README and in the Python files.
- Magenta v1.1.7 (in the
master
branch) - The book's code uses Magenta 1.1.7 which, at the time of publication, was the latest stable available version. The code for that version is in the defaultmaster
branch and will stay there. - Magenta HEAD (master) (in the
magenta-master
branch) - We also provide the code for newer versions of Magenta, we try to keep the code up-to-date when new (breaking) versions of Magenta are released.- Magenta v2.0.1 (the
magenta-v2.0.1
tag) - Corresponds to Magenta 2.0.1, should work with all 2.0.x versions (depends on Tensorflow 2.2.0) - Magenta v2.1.2 (the
magenta-v2.1.2
tag) - Corresponds to Magenta v2.1.2, should work with all 2.1.x versions (depends on Tensorflow 2.3.1)
- Magenta v2.0.1 (the
We've only tested Magenta using Python 3.6 as interpreter. Magenta v2.x could work with more recent versions of Python but we didn't test them (see Chapter01 for installation information).
Magenta 1.1.7 works on Windows, but there seems to be problems from Magenta 2.x onwards (see #11 for more details)
- Page 10: Pen and paper generative music section: minute should be minuet
- Page 10: Pen and paper generative music section: a total of two will output the measure 32 should be a total of three will output the measure 32
If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost.
Simply click on the link to claim your free PDF.