melody generation with evolutionary computation by matt johnson november 14, 2003

Download Melody Generation with Evolutionary Computation By Matt Johnson November 14, 2003

Post on 21-Dec-2015




0 download

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 [2] Add Space insert a rest into a melody [2] Play Twice concatenate a melody onto itself [2] Shift Up Shift every note in the string up to the next highest note [2]
  • 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 [1] Perturb mutate one note by moving it up or down one step [1]
  • 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
  • Questions?
  • 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 >