Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Hands-On Music Generation with Magenta
Hands-On Music Generation with Magenta

Hands-On Music Generation with Magenta: Explore the role of deep learning in music generation and assisted music composition

By Alexandre DuBreuil
£25.99 £17.99
Book Jan 2020 360 pages 1st Edition
eBook
£25.99 £17.99
Print
£32.99
Subscription
£13.99 Monthly
eBook
£25.99 £17.99
Print
£32.99
Subscription
£13.99 Monthly

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jan 31, 2020
Length 360 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781838824419
Vendor :
Google
Category :
Languages :
Table of content icon View table of contents Preview book icon Preview Book

Hands-On Music Generation with Magenta

Introduction to Magenta and Generative Art

In this chapter, you'll learn the basics of generative music and what already exists. You'll learn about the new techniques of artwork generation, such as machine learning, and how those techniques can be applied to produce music and art. Google's Magenta open source research platform will be introduced, along with Google's open source machine learning platform TensorFlow, along with an overview of its different parts and the installation of the required software for this book. We'll finish the installation by generating a simple MIDI file on the command line.

The following topics will be covered in this chapter:

  • Overview of generative artwork
  • New techniques with machine learning
  • Magenta and TensorFlow in music generation
  • Installing Magenta
  • Installing the music software and synthesizers
  • Installing the code editing...

Technical requirements

In this chapter, we'll use the following tools:

  • Python, Conda, and pip, to install and execute the Magenta environment
  • Magenta, to test our setup by performing music generation
  • Magenta GPU (optional), CUDA drivers, and cuDNN drivers, to make Magenta run on the GPU
  • FluidSynth, to listen to the generated music sample using a software synthesizer
  • Other optional software we might use throughout this book, such as Audacity for audio editing, MuseScore for sheet music editing, and Jupyter Notebook for code editing.

It is recommended that you follow this book's source code when you read the chapters in this book. The source code also provides useful scripts and tips. Follow these steps to check out the code in your user directory (you can use another location if you want):

  1. First, you need to install Git, which can be installed on any platform by downloading...

Overview of generative art

The term generative art has been coined with the advent of the computer, and since the very beginning of computer science, artists and scientists used technology as a tool to produce art. Interestingly, generative art predates computers, because generative systems can be derived by hand.

In this section, we'll provide an overview of generative music by showing you interesting examples from art history going back to the 18th century. This will help you understand the different types of generative music by looking at specific examples and prepare the groundwork for later chapters.

Pen and paper generative music

There's a lot of examples of generative art in the history of mankind. A popular...

New techniques with machine learning

Machine learning is important for computer science because it allows complex functions to be modeled without them being explicitly written. Those models are automatically learned from examples, instead of being manually defined. This has a huge implication for arts in general since explicitly writing the rules of a painting or a musical score is inherently difficult.

In recent years, the advent of deep learning has propelled machine learning to new heights in terms of efficiency. Deep learning is especially important for our use case of music generation since using deep learning techniques doesn't require a preprocessing step of feature extraction, which is necessary for classical machine learning and hard to do on raw data such as image, text, and you guessed it audio. In other words, traditional machine learning algorithms...

Google's Magenta and TensorFlow in music generation

Since its launch, TensorFlow has been important for the data scientist community for being An Open Source Machine Learning Framework for Everyone. Magenta, which is based on TensorFlow, can be seen the same way: even if it's using state of the art machine learning techniques, it can still be used by anyone. Musicians and computer scientists alike can install it and generate new music in no time.

In this section, we'll look at the content of Magenta by introducing what it can and cannot do and refer to the chapters that explain the content in more depth.

Creating a music generation system

Magenta is a framework for art generation, but also for attention, storytelling...

Installing Magenta and Magenta for GPU

Installing a machine learning framework is not an easy task and often a pretty big entry barrier, mainly because Python is an infamous language concerning dependency management. We'll try to make this easy by providing clear instructions and versions. We'll be covering installation instructions for Linux, Windows, and macOS since the commands and versions are mostly the same.

In this section, we'll be installing Magenta and Magenta for GPU, if you have the proper hardware. Installing Magenta for a GPU takes a bit more work but is necessary if you want to train a model, which we will do in Chapter 7, Training Magenta Models. If you are unsure about doing this, you can skip this section and come back to it later. We'll also provide a solution if you don't have a GPU but still want to do the chapter by using cloud-based...

Installing the music software and synthesizers

During the course of this book, we'll be handling MIDI and audio files. Handling the MIDI files requires specific software that you should install now since you'll need it for the entirety of this book.

Installing the FluidSynth software synthesizer

A software synthesizer is a piece of software that will play incoming MIDI notes or MIDI files with virtual instruments from sound banks (called SoundFont) or by synthesizing audio using waveforms. We will need a software synthesizer to play the notes that are generated by our models.

For this book, we'll be using FluidSynth, a powerful and cross-platform software synth available on the command line. We'll go through...

Installing the code editing software

In this section, we'll recommend optional software regarding code editing. While not mandatory, it might help considerably to use them, especially for newcomers, for whom plain code editing software can be daunting.

Installing Jupyter Notebook (optional)

Notebooks are a great way of sharing code that contains text, explanations, figures, and other rich content. It is used extensively in the data science community because it can store and display the result of long-running operations, while also providing a dynamic runtime to edit and execute the content in.

The code for this book is available on GitHub as plain Python code, but also in the form of Jupyter Notebooks. Each chapter will...

Generating a basic MIDI file

Magenta comes with multiple command-line scripts (installed in the bin folder of your Magenta environment). Basically, each model has its own console script for dataset preparation, model training, and generation. Let's take a look:

  1. While in the Magenta environment, download the Drums RNN pre-trained model, drum_kit_rnn:
> curl --output "drum_kit_rnn.mag" "http://download.magenta.tensorflow.org/models/drum_kit_rnn.mag"
  1. Then, use the following command to generate your first few MIDI files:
> drums_rnn_generate --bundle_file="drum_kit_rnn.mag"

By default, the preceding command generates the files in /tmp/drums_rnn/generated (on Windows C:\tmp\drums_rnn\generated). You should see 10 new MIDI files, along with timestamps and a generation index.

If you are using a GPU, you can verify if TensorFlow is using it...

Summary

This chapter is important because it introduces the basic concepts of music generation with machine learning, all of which we'll build upon throughout this book.

In this chapter, we learned what generative music is and that its origins predate even the advent of computers. By looking at specific examples, we saw different types of generative music: random, algorithmic, and stochastic.

We also learned how machine learning is rapidly transforming how we generate music. By introducing music representation and various processes, we learned about MIDI, waveforms, and spectrograms, as well as various neural network architectures we'll get to look at throughout this book.

Finally, we saw an overview of what we can do with Magenta in terms of generating and processing image, audio, and score. By doing that, we introduced the primary models we'll be using throughout...

Questions

  1. On what generative principle does the musical dice game rely upon?
  2. What stochastic-based generation technique was used in the first computerized generative piece of music, Illiac Suite?
  3. What is the name of the music genre where a live coder implements generative music on the scene?

  1. What model structure is important for tracking temporally distant events in a musical score?
  2. What is the difference between autonomous and assisting music systems?
  3. What are examples of symbolic and sub-symbolic representations?
  4. How is a note represented in MIDI?
  5. What frequency range can be represented without loss at a sample rate of 96 kHz? Is it better for listening to audio?
  6. In a spectrogram, a block of 1 second of intense color at 440 Hz is shown. What is being played?
  7. What different parts of a musical score can be generated with Magenta?
...

Further reading

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • 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

Description

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.

What you will learn

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

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jan 31, 2020
Length 360 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781838824419
Vendor :
Google
Category :
Languages :

Table of Contents

16 Chapters
Preface Chevron down icon Chevron up icon
Section 1: Introduction to Artwork Generation Chevron down icon Chevron up icon
Introduction to Magenta and Generative Art Chevron down icon Chevron up icon
Section 2: Music Generation with Machine Learning Chevron down icon Chevron up icon
Generating Drum Sequences with the Drums RNN Chevron down icon Chevron up icon
Generating Polyphonic Melodies Chevron down icon Chevron up icon
Latent Space Interpolation with MusicVAE Chevron down icon Chevron up icon
Audio Generation with NSynth and GANSynth Chevron down icon Chevron up icon
Section 3: Training, Learning, and Generating a Specific Style Chevron down icon Chevron up icon
Data Preparation for Training Chevron down icon Chevron up icon
Training Magenta Models Chevron down icon Chevron up icon
Section 4: Making Your Models Interact with Other Applications Chevron down icon Chevron up icon
Magenta in the Browser with Magenta.js Chevron down icon Chevron up icon
Making Magenta Interact with Music Applications Chevron down icon Chevron up icon
Assessments Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.