Full Program »
Algorithmic Composition in Abjad: Workshop Proposal for ICMC 2016Abjad is an open-source software system designed to help composers build scores in an iterative and incremental way. Abjad is implemented in the Python programming language as an object-oriented collection of packages, classes and functions. Composers visualize their work as publication-quality notation at all stages of the compositional process using Abjad’s interface to the LilyPond music notation package. The first versions of Abjad were implemented in 1997 and the project website is now visited thousands of times each month.
In the context of the primary themes of ICMC 2016 — “Is the sky the limit?” — the principle architects of Abjad propose to lead a hands-on workshop to introduce algorithmic composition in Abjad. Topics to be covered during the workshop include: instantiating and engraving notes, rests, chords; using the primary features of the Python programming language to model complex and nested rhythms; leveraging Abjad’s powerful iteration and mutation libraries to make large-scale changes to a score; and introducing the ways composers can take advantage of open-source best practices developed in the Python community.