|dc.description.abstract||Music harmonization is a difficult problem. If you take a melody, and you assign chords to each note in that melody, how do you judge the quality of that chord progression? Furthermore, if you then assign notes within each chord to three accompanying “voices” following the rules of classical chorale harmony, how do you judge the quality of those note assignments? How can we judge two chorales against one another objectively?
I postulate that these aspects put melody harmonization in a category of problems known as NP. These problems are, simply put, very difficult for a computer to solve quickly. However, decades of research have yielded a number of interesting methods for approximating solutions to these problems quickly enough. And what is musical composition but a human approximation of the absolute? Perhaps, in some cases, a human approximation of the Divine?
I intend to study the application of these heuristics to the harmonization problem. These heuristics are approximation algorithms based on randomness. They involve generating random solutions, checking their quality, randomly changing the solution, and then checking the improvement. If the new solution is better, we keep it and repeat the process a certain number of times. We’ll explore a few variations of this algorithm and their difference in harmonization quality across multiple trials.||