Algorithmic Music in Haskell (Invited Talk)
Functional programming is becoming increasingly popular in artistic areas such as algorithmic music composition. Euterpea and Kulitta are two libraries for working with music in Haskell. Euterpea is a library for representing and manipulating basic musical structures, and is useful both in a pedagogical setting to teach functional programming through the arts and as a tool to create complex pieces of algorithmic music. Kulitta is a framework for automated composition that addresses music at a more abstract level than Euterpea, capturing aspects of musical style through geometric models and probabilistic grammars. Both of these libraries leverage Haskell’s pure functional nature and strong type system to achieve versatile, yet concise designs that allow the creation of diverse and interesting music. Features from these libraries have also been integral in the design of newer systems for natural language processing and artificial intelligence in the musical domain. This talk will explore challenges presented by creating these kinds of domain-specific embedded languages for working with music, and how taking functional approaches to them yields elegant solutions.
Donya Quick is a research assistant professor in Music and Computation at Stevens Institute of Technology. Her research explores the intersection of artificial intelligence and computational linguistics with music. She completed her PhD at Yale University, where the subject of her work was an automated composition system called Kulitta. Donya is also the active maintainer of the Euterpea library for music representation in Haskell and is part of the MUSICA project, which is part of the DAPRA Communicating with Computers program and focuses on development of interactive systems in the musical domain.