Abstract
In my recent music, I have begun to make extensive use of the Abjad API for Formalized Score Control in the Python programming language to produce music notation that is illustrated via the Lilypond engraving engine. In the research that led to this paper, I sought to find avenues for computationally modeling the act of composition with Abjad's model of music notation. In order to be best equipped to compose scores with these tools, the user should have a basic understanding of Python and Lilypond. The first chapter of this paper outlines various fundamentals in these environments. The second chapter discusses the underlying methodology behind the use of Abjad as a tool for both music composition and music engraving. After grasping the basic functionality within Abjad's notational model, it became clear to me that further software could be written to increase the efficiency of the use of Abjad, as well as to model my own idiosyncratic compositional workflow. The third and final chapters consists of appendices of my own tools, written in Python, along with source code and scores of music I have composed with the concurrent use of Python, Abjad, and Lilypond as a demonstration of my own compositional process and the power that these programming paradigms afford the composer. The tools I have written are a work in progress and my future research will consist of improvements to their functionality and to the order of operations of my compositional process in order to compose with the least redundant code possible.