RichardBerg : MachineLearningProjectProposal

FavoriteLinksCondensed :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings
10/30/2003

CPS 271 Project Proposal


I wish to test whether one of the fundamental abstractions defined in music theory can be inferred by a computer program that has undergone traditional machine learning. In particular, I will provide my test programs with a sequence of chords derived from works of the early Classical period -- Beethoven piano sonatas, likely -- and see whether they can determine the so-called "key center" of the work. (The chords themselves are also abstractions from the notated music, naturally, but providing the information in this way should aid in pattern recognition.)

I will run these tests on at least two kinds of computer programs. Foremost, I wish to test the effectiveness of a standard Hidden Markov Model in simulating the musical states. The sequence of chords given will comprise the observed state, with the key center being the hidden state. The latter state will be somewhat unusual for a HMM in that while it can fall into 12 possible classes, it is time-invariant. Classification will then be attempted via the Viterbi algorithm, and the hypothesized key compared with the one determined by a human musician (me).

A second program will attempt to perform the same task, but will not use any standard AI techniques. Instead, it will examine each test set using a few elementary principles of music theory. (No training set will be necessary, except when debugging perhaps). While interesting in itself, this program will chiefly serve as a comparison with the Machine Learning program to see the effect that "inside information" can bring to otherwise dumb algorithms -- if time permits, a hybrid program may be attempted.

At the least, this process will prove or disprove the applicability of basic HMMs to calculating the key center of a classical piece. Assuming both programs show some aptitude at the test suite, interesting parallels may then be drawn by examining which selections worked for both, or for one but not the other, or for neither.


Back to MachineLearning

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.4
Page was generated in 0.6499 seconds