/Improvise

Algorithmic music generation using game theory

Primary LanguageHaskell

####Improvise: Modeling Musical Improvisation with Game Theory

Caroline Marcks, Andrew Mendelsohn, and Jayme Woogerd

Advised by Professor Norman Ramsey

Born from a seminar on advanced topics in functional programming at Tufts University, Improvise is a project that set out to explore a new method of algorithmic music composition. Improvise uses ideas from game theory and a mathematical model for how human musicians improvise to algorithmically generate music that resembles human improvisation.


####Resources

#####A Model of Performance, Interaction,and Improvisation

This is the main paper we are working from. A pdf version can be found here.

#####Domain-Specific Language Support for Experimental Game Theory

Introduces Hagl, a domain-specific embedded language for experimental game theory. The code and more information can be found here.


To even begin to make the code run, you need to install Euterpea and Hagl:

  1. Download and install Euterpea, a domain-specific embedded language for computer music development.

    Download and directions are available here: http://haskell.cs.yale.edu/euterpea/download/

  2. Download and install Hagl, a domain-specific embedded language for experimental game theory.

    Download and directions are available here: https://github.com/walkie/Hagl