AI Christmas Tunes is a collection of Christmas music generated using neural networks and deep learning.
Here’s what the developers have to say about it:
Our dataset consisted of about a hundred Christmas tunes and was collected in MIDI format. A MIDI-file is a text file containing the notes and length and loudness of each note. Because of this, the MIDI format is suitable for doing machine learning tasks. For converting we used Music21, an open source library to read and write playable MIDI files.
The first step was to analyze the dataset by going through the existing tunes and storing the notes, chords and the sequences that were used in each tune.
We used a prebuilt LSTM (Long-short Term Memory) functions in Keras. The training consists of modeling a LSTM network that would “learn” these sequences of notes and chords, with the goal of being able to generate its own sequences when fully learned.
For this case we spun up a GPU spot instance with a NVIDIA Tesla V100-SXM2 on AWS. The training took approximately 3 hours with the GPU instance. This was by any means more computation than needed, but we knew we had little time and could run into the need to optimize hyperparameters in the model, which we also did with trying out different batch sizes on the model.
Think that they got their hyperparameters optimized enough to generate something recognizable as Christmas music? You make the call!