MarkovNotes

Uses markov chains to generate music based on an inputted song

Markov Chains are a principle in mathematics and computing that involves patterns. For us, we used Markov Chains as rudimentary machine learning. We "trained" a computer to produce music that attempts to capture the style of music that it is shown. Based on notes, chords, octaves and rhythms the computer makes educated guesses based on weighted choices procedurally created as it studies the music. The sample music file on Github is full of MIDIs from Undertale and Minecraft. The selected songs are similar in style and key yet different enough to give the computer some ability for variety.

Overall, the project was a success. We are happy with the level of progress made and the output produced. Though it does not always sound pretty, it is a great tangible model of a complex mathematical concept utilized by high school amateur programmers.

Developed by Clark Farley, Michael Lum, Rahul Shah and Zachary Rabin during the 2017 Bitcamp UMD hackathon

Built With

Share this project:

Updates