Format: PDF / Kindle (mobi) / ePub
Musicians begin formal training by acquiring a body of musical concepts commonly known as musicianship. These concepts underlie the musical skills of listening, performance, and composition. Like humans, computer music programs can benefit from a systematic foundation of musical knowledge. This book explores the technology of implementing musical processes such as segmentation, pattern processing, and interactive improvisation in computer programs. It shows how the resulting applications can be used to accomplish tasks ranging from the solution of simple musical problems to the live performance of interactive compositions and the design of musically responsive installations and Web sites.
Machine Musicianship is both a programming tutorial and an exploration of the foundational concepts of musical analysis, performance, and composition. The theoretical foundations are derived from the fields of music theory, computer music, music cognition, and artificial intelligence. The book will be of interest to practitioners of those fields, as well as to performers and composers.
The concepts are programmed using C++ and Max. The accompanying CD-ROM includes working versions of the examples, as well as source code and a hypertext document showing how the code leads to the program's musical functionality.
that moment. It appears straightforward to send the output of a key induction process to the Parncutt root finder and thereby activate the tonal context rule. However, the circularity of this method becomes clear when one considers that the output of the root finder will itself be the input to the key induction process. In Music and Schema Theory, Marc Leman outlines the problem from a more general perspective: The context-sensitive semantics in music has particular properties implying an
activation is split between those two scores. In F major, the pitch class C is a member of the tonic triad Table 2.8 Point Contributions of C Pitch Class to 3 Key Theories C MAJOR F MAJOR A MAJOR Tonic 4 4 8 Subdominant Dominant7 4 0 0 4 0 0 Total 8 8 8 Chapter 2 70 and dominant seventh, so those two scores are each augmented by half of the activation. In A major, C is a member of only the tonic triad, and all of the weight goes to that score. The Vos and Van Geenen model is
temporal analyses. When considering pitch, we moved progressively up a hierarchy extending from individual chord roots and types to large-scale keys and modes. Now consider a hierarchy of temporal structures ranging from a simple pulse up to a meter in which some pulses are periodically recognized as being more important than others. Conceptually, this hierarchy extends in both directions, down to subdivisions of the pulse and up to phrase groupings in which collections of strong beats form yet
of the best solution at each step along the way (resembling Jackendoff’s beam-search-like proposal [ Jackendoff 1992]). At any given point the program is able to identify a maximal metric interpretation of the work to that moment, though the interpretation may change in light of further evidence later in the work. The process can therefore be used in real time as it only requires the information available as the piece is performed. It also accounts for ‘‘garden path’’ phenomena in which one way
should be facilitated by the Machine Musicianship base classes. The danger in producing a set of classes like this, particularly when it includes such entries as Note, Event, and EventBlock, is that it can be taken as a general representation of music. My intention is precisely the opposite—I do not believe that there is a simple and general way to represent all of the aspects of music we might want to process. The representations suggested by the Machine Musicianship library emerged from the