Home » Uncategorized

Using machine learning to generate music

  • Banjog 


Apart from fighting web spam, credit card fraud and many more curious applications, machine learning is being widely used in the field of art to generate stuff. We collected a few open source projects and papers which help you understand how machine learning can be used in the field of music.


GRUV is a Python project for algorithmic music generation using recurrent neural networks.


The project is an algorithmic composer based on machine learning using a second order Markov chain.


This code implements a recurrent neural network trained to generate classical music. The model, which uses LSTM layers and draws inspiration from convolutional neural networks, learns to predict which notes will be played at each time step of a musical piece.


The project builds a deep autoencoder and acoustically monitors the influence of the middle code layer using a Kork nanoKontroller2.

The project aims to achieve two goals:

  • Allow a user to gain a better understanding of the code layer of a deep autoencoder

  • Create new sounds by performing sample-based synthesis using a deep autoencoder.

The code in this repository will allow one to

  • Collect a corpus of Constant Q Fourier Transform features

  • Train a deep autoencoder having an arbitrary number of hidden layers and units per layer

  • Perform music by modifying the optimized model interactively with a midi controller


The project helps in generating sound using recurrent neural networks. The project has been summed in the blog post here.


Project for composing music using neural nets.


The project contains code for statistics-driven music composition and machine learning. Further explanation can be found in the blog post here.

DopeLearning: A Computational Approach to Rap Lyrics Generation

Writing rap lyrics requires both creativity, to construct a meaningful and an interesting story, and lyrical skills, to produce complex rhyme patterns, which are the cornerstone of a good flow. This paper presents a method for capturing both of these aspects. Approach is based on two machine-learning techniques: the RankSVM algorithm, and a deep neural network model with a novel structure.

The list is compiled by Banjog.