We wanted to use this hackathon as a learning experience to understand machine learning. Using TensorFlow, we were able to understand different models of neural networks and the basic concepts behind this powerful framework.
What it does
Publicly available MIDI files from composers such as Bach, Beethoven, and Mozart were used to train the neural network system which was used to generate unique songs.
Our neural pipeline consisted of a recurrent neural network which read MIDI audio to learn its structure. These sound files were then broken up into unique chord components which were then combined to chord mappings to build the model. As more training iterations of the chord mappings were passed, songs began to take on greater flow and structure.
Challenges we ran into
None of us have had any experience with machine learning, neural networks, or TensorFlow. One of the biggest challenges was developing the mindset and thought process necessary when approaching a machine learning problem. Despite extensive tutorials, guides, workshops, and example programs available online, gaining a useful understanding of TensorFlow required lots of patience and concentration. Pacing within the team was key to ensure correct implementation and proper structure.
Accomplishments that we're proud of
We actually able to produce a functioning program in the end.