This is an implementation of evolutionary algorithm for music generation based on paper: Kowalczuk Z., Tatara M., Bąk A. (2017). Evolutionary music composition system with statistically modeled criteria. Advances in Intelligent Systems and Computing"
To generate new music run generate_music.py. In that file you can also modify following parameters:
- population size
- song size
- tonality
- number of epochs
To listen to generated music run play_music.py. It will also save currently played music to .mid file.
If you want to change the weights of various statistical features used in the fitness function - you can do so in the evolution/features.py.