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

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

Post on 21-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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

• 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.

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.

Vocal ranges

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.

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.

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.

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.

About Notes...

• Scale Degree • Name• Note Length• Octave

Representation (cont)

• A melody is a string of notes.

• Every individual represents one melody.

Melody Observations

• Melodies tend to move by step.

• Jumps of an interval larger than one fifth are uncommon.

• Melodies frequently contain repeating patterns.

Note Movement

Melody Example

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.

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.

Fitness - advanced

• Search for and reward naturally occurring repetition of four or more notes.

• Search for and reward ascending and / or descending runs.

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.

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]

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]

Competition

• Will periodically remove the worst individuals from the population.

The Next Step

• Run the generated melody through CAVM.

• Evolve four parts at once.

Questions?

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.

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.

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"