emc

evolutionary music composition.


Keywords
emc
License
Other
Install
pip install emc==0.0.5

Documentation

EVOLUTIONARY MUSIC COMPOSITION

Description

In this project we present a music composition system that uses a corpus-based multi-objective evolutionary algorithm. We model the composition process using a Turing-complete virtual register machine with configurable architectures to render musical models. These are evaluated using a series of tests, which judge the statistical similarity of the model against a corpus of real music. Exploring the space of possible parameters, we demonstrate that the methodology succeeds in creating pieces of music that converge towards the properties of the chosen corpus. These pieces exhibit certain musical qualities (repetition and variation) not specifically targeted by our fitness tests; they emerge solely based on the similarities.

Project page with info and resulting MIDIs

Current contributors

Running the application

  1. Install dependencies
apt-get install python-dev python-pip swig3.0 libfftw3-dev python-tk
cp /usr/bin/swig3.0 /usr/bin/swig
pip install -r src/requirements.txt
  1. Build C++ extension
cd src
python buildcpp.py
  1. Run application
cd src
python algrun.py -h # see command-line arguments
python algrun.py argName1=argValue1 ...

Running the web application

  1. Install dependencies
apt-get install npm
npm install -g grunt-cli
  1. Build web client files
cd webclient
npm install
grunt deploy
  1. Run web server
python webapp.py