Elección de una armonía para composición musical con algoritmos genéticos

18
Carlos Agreda Pérez Universidad Nacional de Trujillo Elección de una armonía para la composición musical empleando algoritmos genéticos

Transcript of Elección de una armonía para composición musical con algoritmos genéticos

Page 1: Elección de una armonía para composición musical con algoritmos genéticos

Carlos Agreda PérezUniversidad Nacional de Trujillo

Elección de una armonía para la composición musical empleando

algoritmos genéticos

Page 2: Elección de una armonía para composición musical con algoritmos genéticos

Objetivo

El presente trabajo busca dotarle a un computador la capacidad de componer música.

Características de una composición sencilla

Ritmo Cadencia Tono *Armonia*Melodia*Arreglos

Page 3: Elección de una armonía para composición musical con algoritmos genéticos

Ritmo Cadencia Tono

Composicion Composicion MusicalMusical

Construccion de la melodia

Compositor Artificial

Eleccion de Armonia

Arreglos

Esquema del Compositor

Page 4: Elección de una armonía para composición musical con algoritmos genéticos

Elección de la Armonía

1. Generar una población inicial aleatoria con Armonías cuyos cromosomas representan 4 acordes.Ejemplo : (Do Mayor) (Si menor) (RE Mayor) (Mi Mayor 6)

Page 5: Elección de una armonía para composición musical con algoritmos genéticos

Formato del Cromosoma

NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4

NOTA-i Z / 0 ≤ NOTA-i ≥ 11]

Donde

Page 6: Elección de una armonía para composición musical con algoritmos genéticos

MODO-i Z / 0≤MODO-i≥10]

7mayor7mayor 00

MayorMayor 11

MenorMenor 22

9na9na 33

Sus4Sus4 44

DismDism 55

AddAdd 66

Mayor6taMayor6ta 77

Menor6taMenor6ta 88

Mayor 7Mayor 7 99

Menor 7Menor 7 1010

Page 7: Elección de una armonía para composición musical con algoritmos genéticos

2. Seleccionar Individuos Padres (Armonías padres), para obtener nuevos individuos (hijos) y obtener una nueva población.

Se ordena a los individuos de acuerdo a su probabilidad de selección:

PS(x) = fitness(x) / fitness(i)

i=1

i=#individuos0.35

0.25

0.2

0.150.5

Page 8: Elección de una armonía para composición musical con algoritmos genéticos

Cruzamiento

Se “lanza” un numero al azar y se compara con la probabilidad de cruzamiento (pc) y se decide si los individuos (armonías) seleccionados deberán cruzarse y generar dos hijos

Page 9: Elección de una armonía para composición musical con algoritmos genéticos

HIJO 2

NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4

NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4

HIJO 1

NOTA 2 MODO 2

NOTA 4 MODO 4

Cruzamiento

Se elige al azar 2 locus (posiciones)

NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4

NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4

PADRE 1

PADRE 2

Page 10: Elección de una armonía para composición musical con algoritmos genéticos

Mutacion

Se “lanza” un numero al azar y se compara con la probabilidad de mutación (pm) y se decide si los hijos (armonías hijas) seleccionados deberán mutarse.

Page 11: Elección de una armonía para composición musical con algoritmos genéticos

NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4

HIJO

Mutacion

Se elige al azar 1 locus (posición) y se cambia el gen en esa posición por cualquier valor aleatorio permitido.

Random()Random()

Page 12: Elección de una armonía para composición musical con algoritmos genéticos

Eleccion de la Armonia

Se escoge al mejor individuo de la poblacion actual y se lo almacena temporalmente hasta obtener un mejor individuo en las siguientes poblaciones.

Page 13: Elección de una armonía para composición musical con algoritmos genéticos

¿Como saber cual es mejor?(Sobre todo si el gusto musical es tan subjetivo)

Page 14: Elección de una armonía para composición musical con algoritmos genéticos

Fitness

Es una funcion que devuelve un valor numerico que representa que tan “bueno” es un individuo.

Consiste en valorizar cada acorde (Gen) con un puntaje de acuerdo a la posición en la que se encuentra y de acuerdo a los acordes vecinos (genes vecinos).

Esto logra que ciertas Armonías tengan más puntaje acumulado que otras, aproximándose al gusto y experiencia del compositor que asigno las valorizaciones.

Page 15: Elección de una armonía para composición musical con algoritmos genéticos

Fitness(2)

Estas valorizaciones fueron asignadas con la ayuda de un profesional en composicion del Conservatorio de Música del Norte, “Carlos Valderrama”.

Es posible tener valorizaciones asignadas por compositores distintos y obtener así un fitness promedio que simule la intervencion de mas de un compositor.

Page 16: Elección de una armonía para composición musical con algoritmos genéticos

Resumiendo1. Generar una población inicial aleatoria con Armonias cuyos cromosomas representan 4 acordes.Ejemplo : (Do Mayor) (Re menor) (Fa Mayor) (Sol Mayor 6)

2. Seleccionar Individuos Padres (Armonías padres), para obtener nuevos individuos (hijos) y obtener una nueva población.

3. Los nuevos individuos obtenidos pueden ser mutados, siendo la probabilidad de mutación un parámetro de entrada al programa.

4. Escoger el mejor individuo de la población (mejor Armonía), de acuerdo a una función de fitness.

5. Repetir los pasos 2, 3, 4 , por N iteraciones.

Page 17: Elección de una armonía para composición musical con algoritmos genéticos

ResultadosRESULTADOSRESULTADOS

P. CruzP. Cruz P. MutP. Mut # Ind.# Ind. # # iteriter Armonia ObtenidaArmonia Obtenida

0.30.3 0.10.1 2020 100100 DOM – Rem7 – FAM - SOLMDOM – Rem7 – FAM - SOLM

0.30.3 0.20.2 5050 200200DO 7mayor – LAm – REm –DO DO 7mayor – LAm – REm –DO 7mayor7mayor

0.40.4 0.30.3 1010 10001000 DO 9 – REm7 – FA 7mayor – SOL6 DO 9 – REm7 – FA 7mayor – SOL6

0.40.4 0.30.3 1010 100100 DOM – FA9 – FAM – FA sus4DOM – FA9 – FAM – FA sus4

0.40.4 0.40.4 1010 100100 DO 9 – LAm - FA 9 – FA 7mayorDO 9 – LAm - FA 9 – FA 7mayor

Consideraciones

Con la intención de relajar el problema, las pruebas tienen como nota base = DO, para obtener una armonía que tenga una nota base distinta a DO, será necesario tan solo hacer una transposición utilzando el tono ingresado como parametro al compositor.

El formato de Cromosoma Armonia, contiene un numero fijo de acordes igual a 4, esto en un trabajo futuro sera elegido por el propio compositor.

Page 18: Elección de una armonía para composición musical con algoritmos genéticos

GRACIAS!!