melody generation with evolutionary computation by matt johnson november 14, 2003
out of 26
Post on 21-Dec-2015
Embed Size (px)
- Slide 1
- Melody Generation with Evolutionary Computation By Matt Johnson November 14, 2003
- Slide 2
- Main Topics Goal of Research Why use an EA? Problem Solving Approach Representation Fitness, Mutation, Reproduction The Next Step
- Slide 3
- Goal of Research Write a computer program that will generate a beautiful melody. Melody should be a traditional soprano part in the style of church hymnody. This melody will then be processed by CAVM so it may be heard in a harmonic context.
- Slide 4
- Why use an EA? EAs can handle complex problems. Complexity of this problem: An average soprano can sing notes in the range from D1 to G2, or 18 different pitches. (see pic on next slide) There are 8 note durations typically found in this style of music: sixteenth, eighth, quarter, half, whole, dotted eighth, dotted quarter, dotted half.
- Slide 5
- Vocal ranges
- Slide 6
- Why use an EA? (cont) The number of notes found in a typical hymn can range from roughly 20 to 60. Lets use 40 for our calculation. Pitches * Durations = 18 * 8 = 144 = Number of possible notes. (omitting rests) Think of a melody as a string of notes. Number of potential melodies: 144^40 = 2 * 10^86 melodies to chose from.
- Slide 7
- Problem Solving Thoughts Reduce the search space by constraining the melody to notes within a key. Will use as much domain knowledge as possible. Will initialize randomly so that no known melodies are produced. Uniqueness is required.
- Slide 8
- Problem Solving Approach Find an appropriate representation. Make observations about melodies and come up with a fitness function. Will use a basic evolutionary type algorithm and tweak it as needed.
- Slide 9
- Representation The building block of music is the note. A note is made up of a pitch and a duration. A melody is a string of notes. An individual in the population will be one melody.
- Slide 10
- About Notes... Scale Degree Name Note Length Octave
- Slide 11
- Representation (cont) A melody is a string of notes. Every individual represents one melody.
- Slide 12
- Melody Observations Melodies tend to move by step. Jumps of an interval larger than one fifth are uncommon. Melodies frequently contain repeating patterns.
- Slide 13
- Note Movement
- Slide 14
- Melody Example
- Slide 15
- Fitness Reward one step changes (interval of a second) Reward jumps of a third, but not quite as much as stepwise changes. Reward jumps of a fourth and a fifth, but not quite as much as a third.
- Slide 16
- Fitness (cont) Penalize for jumps larger than a fifth. Penalize harshly for jumps larger than one octave. Penalize for melodies with a high percentage of sixteenth notes they are hard to sing.
- Slide 17
- Fitness - advanced Search for and reward naturally occurring repetition of four or more notes. Search for and reward ascending and / or descending runs.
- Slide 18
- Reproduction Melodies will be ranked based on their fitness. A number of parents will be selected using rank based selection. Interesting phrases from each melody will be selected and combined to form a new melody.
- Slide 19
- Genetic Operators Play Two concatenate two different melodies  Add Space insert a rest into a melody  Play Twice concatenate a melody onto itself  Shift Up Shift every note in the string up to the next highest note 
- Slide 20
- Genetic Operators (cont) Phrase Start mutate the beginning of each phrase so that it starts with the tonic note on a down beat  Perturb mutate one note by moving it up or down one step 
- Slide 21
- Competition Will periodically remove the worst individuals from the population.
- Slide 22
- The Next Step Run the generated melody through CAVM. Evolve four parts at once.
- Slide 23
- Slide 24
- Related Work Peter Todd Gregory Frankensteinian Methods for Evolutionary Music Composition Co-evolve hopeful singers and music critics The female individual represents the evolving environment and chooses the males. Males represent the singers.
- Slide 25
- Related Work (cont) The female maintains a note transition table. Table is used to select the males the table itself evolves. The males evolve their songs in order to be selected.
- Slide 26
- References 1.G. Wiggins and G. Papadopoulos and S. Phon- Amnuaisuk and A. Tuson. "Evolutionary methods for musical composition 2.Brad Johanson and Riccardo Poli. "GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness Raters"
View more >