Began life as a project for my Neural Networks class. The idea was to see how well one could generate pleasant-sounding music using a Neural Network, by composing the song data one character at a time (a la Andrej Karpathy).

What it does

Feeding it musical data in ABC notation, the network generates a sequence character-by-character, whose output is a musical composition in ABC notation. This output can be fed into an ABC-to-MIDI converter to produce an audible music file.

How I built it

Neural network in PyTorch using LSTM layers.

Accomplishments that I'm proud of

Generated music in ABC notation, solely through sequential generation of characters from a recurrent neural network.

Network consisted of LSTM layers for learning information about song structure, musical measures, and required headers.

What I learned

Anything is possible.

What's next for Machine-composed Music

Incorporating attention into the model, with the hopes that the network can learn things like repetition and melody.

Built With

Share this project: