Using an Interactive Genetic Algorithm and Markov Chain to Compose Melodies Relevant to the User's Taste
Ben Gelb
Music can be created by anything; it is the melody, which leaves a lasting impression. Simulating the process of evolution on a computer allows one to witness and influence the creation of melodies. I propose a technique to have the computer compose simple, but euphonic melodies by using a Markov chain and an Interactive Genetic Algorithm (IGA). A Markov chain is created from a user selected corpus, and is used to generate the initial population where individuals resemble musical segments the user enjoys. As a result, the initial population will consist of individuals relevant to the user's musical taste. Coupling the Markov chain with an IGA that allows the user to make modifications to each melody by re-ordering the notes, decreases the total number of generations the IGA needs to run for. Additionally, the type of interaction that the fitness function provides is much more engaging and fun for the user than previous approaches, which results in a decreased user burnout rate.
./code
- Source code for this project
README.html
on how to setup the environment and run the code
./paper
- Pre-proposal
open ./paper/preproposal/Gelb_EvolutionaryMusic_pp2.pdf
- Proposal
open ./paper/proposal/proposal.pdf
- Final Report
open ./paper/final-report/Gelb-final-report.pdf
- Anonymous Report
open ./paper/anonymous-report/anonymous-report.pdf
- Pre-proposal
./presentation
- Presentation made using Apple Keynote