Conclusions

or

Why I Killed OSCAR

After eleven months of work on OSCAR, I came to the conclusion that the system would never behave in the way I'd hoped it would. I managed to get OSCAR to the point where it was doing more or less what I had designed it to do (which was no small feat in itself). After reaching this point, however, I quickly realized that OSCAR wasn't doing anything that was all that musically interesting. OSCAR, in fact, is generally downright boring, outputting a ceaseless stream of notes that sounds tonal for a moment and then shifts abruptly into another key, mode, or melody, never to return. Yet this endless succession of melody-less notes unfolds according to my careful design. I solved the technical problems that plagued me for so many months only to discover that there was a deeper, more inherant problem that could never be solved: a problem of design. Oops.

The assumtion that I had made, without realizing it, is that one can understand tonality by looking only at individual notes, and their relationships with the individual notes immediately surrounding them. OSCAR is restricted to looking at tiny little segments of music, consisting of only two or three notes each, and is then charged with the task of construcing some semblance of the original from those segments. It can't be done, I don't think, at least not by OSCAR. To understand tonality, and music, too, one must take a broader approach, learn to appreciate and imitate gesture and movement. Gesture, not details, makes music. OSCAR is a slave to details.

Once I understood OSCAR's inherant flaw for what it was, I had two options. First, I could hack the output of the Markov chain generators and insert some set of processes that would make OSCAR work better. This approach has two serious problems. First, practically, what set of subroutines could fix OSCAR's problems? What rules could I write to make OSCAR act like it was hearing and playing music, rather than notes? I couldn't think of any reasonable answers to these questions, which brings up the second, more fatal problem: what's the point of carefully constructing and running Markovs chain generators if you are going to ignore their output? Seems like an awfully backwards approach to making music, I decided. With this conclusion in mind, I looked at my second option: start over.

And that's what I've done. I've taken OSCAR's agency approach and tempo tracker, along with the knowledge of PD and programming that I've gained, and I've begun work on a new system--but that is the subject for another long-winded web page.

Thank you for listening.


Email Greg OSCAR Main Page