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

Carlos Agreda Pérez Universidad Nacional de Trujillo

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 .

Esquema del Compositor Ritmo Cadencia Tono Compositor Artificial Eleccion de Armonia Construccion de la melodia Arreglos Composicion Musical .

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

Formato del Cromosoma NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4 Donde NOTA-i Z/0 NOTA-i 11] .

MODO-i Z/0 MODO-i 10] 7mayor Mayor Menor 9na Sus4 Dism Add Mayor6ta Menor6ta Mayor 7 Menor 7 0 1 2 3 4 5 6 7 8 9 10 .

para obtener nuevos individuos (hijos) y obtener una nueva población.35 i=#individuos 0.2. Seleccionar Individuos Padres (Armonías padres).15 . 0.5 0.25 Se ordena a los individuos de acuerdo a su probabilidad de selección: 0.2 PS(x) = fitness(x) / 7 fitness(i) i=1 0.

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 .

Cruzamiento Se elige al azar 2 locus (posiciones) PADRE 1 NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4 PADRE 2 NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4 HIJO 1 NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4 HIJO 2 NOTA 1 MODO 1 NOTA 2 MODO 2 NOTA 3 MODO 3 NOTA 4 MODO 4 .

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

HIJO NOTA 1 MODO 1 NOTA 2 MODO 2 Random() Random() NOTA 3 MODO 3 NOTA 4 MODO 4 .Mutacion Se elige al azar 1 locus (posición) y se cambia el gen en esa posición por cualquier valor aleatorio permitido.

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

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

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). aproximándose al gusto y experiencia del compositor que asigno las valorizaciones.Fitness Es una funcion que devuelve un valor numerico que representa que tan ³bueno´ es un individuo. . Esto logra que ciertas Armonías tengan más puntaje acumulado que otras.

.Fitness(2) Estas valorizaciones fueron asignadas con la ayuda de un profesional en composicion del Conservatorio de Música del Norte. Es posible tener valorizaciones asignadas por compositores distintos y obtener así un fitness promedio que simule la intervencion de mas de un compositor. ³Carlos Valderrama´.

5. 4 . Los nuevos individuos obtenidos pueden ser mutados. Repetir los pasos 2. . siendo la probabilidad de mutación un parámetro de entrada al programa. Ejemplo : (Do Mayor) (Re menor) (Fa Mayor) (Sol Mayor 6) 2. por N iteraciones. 3. Escoger el mejor individuo de la población (mejor Armonía). para obtener nuevos individuos (hijos) y obtener una nueva población. 4. Seleccionar Individuos Padres (Armonías padres). Generar una población inicial aleatoria con Armonias cuyos cromosomas representan 4 acordes. de acuerdo a una función de fitness. 3.Resumiendo 1.

3 0.Resultados RESULTADOS P. El formato de Cromosoma Armonia.3 0. esto en un trabajo futuro sera elegido por el propio compositor.4 # Ind. Cruz 0.SOLM LAm REm DO 7mayor SOL6 DO 7mayor DO 9 DOM DO 9 REm7 FA9 FA 7mayor FAM FA sus4 LAm .3 0.4 0.3 0. será necesario tan solo hacer una transposición utilzando el tono ingresado como parametro al compositor.4 0. Mut 0.2 0. las pruebas tienen como nota base = DO. para obtener una armonía que tenga una nota base distinta a DO. .FA 9 FA 7mayor Consideraciones Con la intención de relajar el problema.1 0. contiene un numero fijo de acordes igual a 4.4 P. 20 50 10 10 10 # iter 100 200 1000 100 100 Armonia Obtenida DOM Rem7 FAM .

GRACIAS!! .

Sign up to vote on this title
UsefulNot useful