1 / 26

Melody Generation with Evolutionary Computation

Melody Generation with Evolutionary Computation. By Matt Johnson November 14, 2003. Main Topics. Goal of Research Why use an EA? Problem Solving Approach Representation Fitness, Mutation, Reproduction The Next Step. Goal of Research.

lacy
Download Presentation

Melody Generation with Evolutionary Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Main Topics • Goal of Research • Why use an EA? • Problem Solving Approach • Representation • Fitness, Mutation, Reproduction • The Next Step

  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.

  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.

  5. Vocal ranges

  6. Why use an EA? (cont) • The number of notes found in a typical hymn can range from roughly 20 to 60. Let’s 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.

  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.

  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.

  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.

  10. About Notes... • Scale Degree • Name • Note Length • Octave

  11. Representation (cont) • A melody is a string of notes. • Every individual represents one melody.

  12. Melody Observations • Melodies tend to move by step. • Jumps of an interval larger than one fifth are uncommon. • Melodies frequently contain repeating patterns.

  13. Note Movement

  14. Melody Example

  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.

  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.

  17. Fitness - advanced • Search for and reward naturally occurring repetition of four or more notes. • Search for and reward ascending and / or descending runs.

  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.

  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]

  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]

  21. Competition • Will periodically remove the worst individuals from the population.

  22. The Next Step • Run the generated melody through CAVM. • Evolve four parts at once.

  23. Questions?

  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.

  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.

  26. References • G. Wiggins and G. Papadopoulos and S. Phon-Amnuaisuk and A. Tuson. "Evolutionary methods for musical composition“ • Brad Johanson and Riccardo Poli. "GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness Raters"

More Related