Skip to content
This repository has been archived by the owner. It is now read-only.
Using Azure Machine Learning to build a deep learning model for music generation
Branch: master
Clone or download
Latest commit b77eed3 Jun 29, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
MusicGeneration renamed score.py to generate_song.py Dec 4, 2017
aml_config Music Generation with Azure Machine Learning Nov 29, 2017
.gitignore Initial commit Nov 27, 2017
LICENSE Initial commit Nov 27, 2017
README.md Update README.md Jun 28, 2019

README.md

Music Generation with Azure Machine Learning

NOTE This content is no longer maintained. Visit the Azure Machine Learning Notebook project for sample Jupyter notebooks for ML and deep learning with Azure Machine Learning.

Sequence-to-Sequence model using multi-layered LSTM for music generation. For more detailed walkthrough see: blog

Prerequisites

The prerequisites to run this example are as follows:

  1. Make sure that you have properly installed Azure Machine Learning Workbench by following the Install and create Quickstart

  2. This example could be run on any compute context. However, it is recommended to run it on a GPU machine to accelerate the training process.

  3. Access to an Azure Blob Storage Account. See how to create and manage your storage account here

Create a new Workbench project

  1. Clone this repo to your local machine to /MachineLearning-MusicGeneration
  2. Open Azure Machine Learning Workbench
  3. On the Projects page, click the + sign and select Add Existing Folder as Project
  4. Delete the .git folder in the cloned repo as Azure Machine Learning Workbench currently cannot import projects that contain a git repo
  5. In the Add Existing Folder as Project pane, set the project directory to the location where this repo has been cloned and fill in the information for your new project
  6. Click Create

Setup compute environment

Setup remote VM as execution target

az ml computetarget attach --name "my_dsvm" --address "my_dsvm_ip_address" --username "my_name" --password "my_password" --type remotedocker

Configure my_dsvm.compute

baseDockerImage: microsoft/mmlspark:plus-gpu-0.7.91
nvidiaDocker: true

Configure my_dsvm.runconfig

To push models to Azure Blob Storage, add your storage account details to your .runconfig file:

EnvironmentVariables:
  "STORAGE_ACCOUNT_NAME": "<YOUR_AZURE_STORAGE_ACCOUNT_NAME>"
  "STORAGE_ACCOUNT_KEY": "<YOUR_AZURE_STORAGE_ACCOUNT_KEY>"
Framework: Python

For more info on Azure ML Workbench compute targets see documentation.

Train

To train your own model using a DSVM compte target

Prepare compute environment

az ml experiment -c prepare my_dsvm

Run the experiment

az ml experiment submit -c my_dsvm MusicGeneration/train.py

Generate Music (Predict)

az ml experiment submit -c my_dsvm MusicGeneration/score.py

Listen to your own music!

The song generated in the previous step will be saved in your Blob Storage conatiner. You can listen to the song by downloading the .mid file and playing it using any standard media player like Windows Media Player for example.

Data Credit

The dataset used for the experiments is available at (http://www.feelyoursound.com/scale-chords/)

You can’t perform that action at this time.