A Computational Model of Music Composition
Dissertation submitted to Harvard University GSAS on May 15th, 2015.
This thesis documents my research into formalized score control, in order to demonstrate a computational model of music composition. When working computationally, models provide an explicit formal description of what objects exist within a given domain, how they behave, and what transformations they afford. The clearer the model becomes, the easier it is to extend and to construct increasingly higher-order abstractions around that model. In other words, a clear computational model of music notation affords the development of a clear model of music composition. The Abjad API for Formalized Score Control, an open-source software library written in the Python programming language and making use of the LilyPond automated typesetting system for graphical output, is presented as such a computational model of music notation. My own compositional modeling work, extending Abjad, is introduced and analyzed in the Python library Consort. A collection of five scores, each implemented as Python packages extending these software libraries, are included. Three of these scores, Zaira, Armilla and Ersilia, rely on Consort as their compositional engine, and are presented along with their complete sources. These scores demonstrate my development as a composer investigating the role of computation in music, and display a variety of large-scale structures and musical textures made possible when working with such modeling tools.