From 6d477f83da108f34125fd327c87376d540f3ecc1 Mon Sep 17 00:00:00 2001 From: DannyNoe Date: Wed, 5 May 2021 12:31:18 -0400 Subject: [PATCH] Created README.md --- README.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..653aaf4 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# Evolutionary Composition +## By Danny +### Director: Dr. Lutz Hamel +### CSC 499 + +
+ +# General Description +Evolutionary Composition is my senior capstone project. +The project's goal is to see what type of music a program can create using genetic algorithms and human curation. +Specifically, the program will use human curation to create and evolve themes to the user's liking. +First, the program generates a batch of melodies. +Then, each of these tunes is played for the user. The user rates each melody on a scale from 0 to 5. +An elitist selection algorithm picks the highest-scoring pieces for the next generation of music. +The next population is created through mating and mutation. +A cross-over function takes two parent melodies and returns two children. +The first child contains [[First half of parent2's measures], [Second half of parent1's measures]]. +The second child contains [[First half of parent1's measures], [Second half of parent2's measures]]. +The mutation function mutates a parent melody by randomly pitch-shifting each note in the melody. The pitch-shifted melody is returned as the child. +The algorithm repeats until the desired number of generations is satisfied. + +
+ +# Dependencies +The Evolutionary Composition program runs on Python 3. +## The project's dependencies are +- DEAP +- Numpy +- MIDO +- python-rtmidi + +
+ +# Use + +To run the program with no command-line args use + +``` +python3 main.py +``` +