Abstract
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.
Index Terms
Algorithmic music in Haskell (invited talk)
Recommendations
Real-time interactive music in Haskell
FARM 2015: Proceedings of the 3rd ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and DesignEuterpea and UISF are two recently released Haskell libraries on Hackage that facilitate the creation of interactive musical programs. We show an example of using these two libraries in combination with Haskell's support for parallelism to create a ...
Algorithmic music in Haskell (invited talk)
Haskell 2017: Proceedings of the 10th ACM SIGPLAN International Symposium on HaskellFunctional 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 ...
Csound-expression: Haskell framework for computer music
FARM 2019: Proceedings of the 7th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and DesignThe csound-expression library provides tools for sound design and electronic music composition. It embeds the powerful audio programming language Csound in Haskell, staying as close as possible to pure functional programming. In this paper we show and ...







Comments