Mixed music is about live musicians interacting with electronic parts which are controlled by a computer during the performance. It allows composers to use and combine traditional instruments with complex synthesized sounds and other electronic devices. There are several languages dedicated to the writing of mixed music scores. Among them, the Antescofo language coupled with an advanced score follower allows a composer to manage the reactive aspects of musical performances: how electronic parts interact with a musician. However these domain specific languages do not offer the expressiveness of functional programming.
We embed the Antescofo language in a reactive functional pro- gramming language, ReactiveML. This approach offers to the com- poser recursion, higher order, inductive types, as well as a sim- ple way to program complex reactive behaviors thanks to the syn- chronous model of concurrency on which ReactiveML is built. This article presents how to program mixed music in ReactiveML through several examples.
A talk given by Guillaume Baudart at the workshop "Functional Art, Music, Modeling and Design" (FARM'13), workshop ICFP 2013 (Boston USA, Sept 28).