Modeling Expressive Performance
10/1/2008
Survey Presentation Day, spent time in the morning preparing my slides. The "Virtual Music" book I got a few weeks back is a really great source, and as a result I focus heavily on Cope's method. I would like to balance this out with other, (both similar and different) projects in the field of algorithmic music composition.
10/6/2008
picked up two books from interlibrary loan today: "Evolutionary computer music" and "Understanding music with AI: perspectives on music cognition. I'm hoping that these books will help address my narrow focus on Cope's method.
10/13/2008
Met with Jim today, trying to focus in on a project the incorperates what I've been researching, but is scalable and accomplishable. I'm thinking that I want to focus on rhythm perception. So the question now is to determine the best way to do this. I've been reading a lot about neural nets and genetic algorithms, although these algorithms might be cumbersome to implement.10/15/08
Still thinking about this. Read a good article describing Markov chains, and this seems to be a good way to move forward. Interestingly, this article, published by MIT press describes a system of celluar automata modeled after conway's game of life. Seems like markovs are a good way to represent automata.11/23/08
So it's been a while since i have update this log. The truth is, however, things are looking good. It looks like my project is going to be implementing a system that uses The Viterbi Algorithm and the Forward-Backward algorithm to track beat offsets in musical performace. This could be expressive deviations, as in retardandos or jazz improvisation. This could also work to identify different genres or performers. In any case, I will be training a transition/observation model using machine learning techniques. The language is C++, and I have found a good open source midi library to facilitate the io. I am using xcode as my dev IDE. It offers many useful debugging and organizational tools. Additionally, the dev tool Interface Builder might allow me to build a user interface for my program, allowing the user to adjust various model parameters. Logic Pro 8 will serve as the midi production enviroment. I must figure out if there's a way to get midi into my system in real time. This would greatly simplify the training process.11/25/08
things are actually starting to work!