Formalized Score Control: Using Python and Abjad in Music Composition
Introduction to the production of professionally engraved musical scores using the Python programming language and the Abjad API for Formalized Score Control as part of compositional practice. The course introduces Abjad's object-oriented approach to music notation and algorithmic composition through real-world examples and hands-on coding activities. No previous programming experience is required: Python basics will be taught from the ground up during the course with musical examples designed to make sense to composers. Topics covered include system installation and configuration; defining your own functions, classes and modules; generating structured tableaux of rhythms, pitch collections and other materials during precomposition; managing polyphony with operations on voices, staves and other musical containers; working with parametric score layout; understanding the document structure of complex scores; and controlling the details of musical typography programmatically.
For information on the Women in Computer Music Scholarship for the Formalized Score Control workshop, please visit this page.
Taught by Jeff Treviño, Trevor Bača, and Josiah Wolf Oberholtzer.