SciELO - Scientific Electronic Library Online

 
vol.28 issue2SPACE-FREQUENCY DESCRIPTORS FOR AUTOMATIC IDENTIFICATION OF TEXTURE PATTERNS USING SUPERVISED LEARNINGQUANTIFICATION OF OBSTRUCTIONS' EFFECT IN THE TRANSVERSAL AREA OF A WIND TUNNEL ON THE CALIBRATION RESULTS OF ANEMOMETERSS author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Ciencia e Ingeniería Neogranadina

Print version ISSN 0124-8170

Cienc. Ing. Neogranad. vol.28 no.2 Bogotá July/Dec. 2018

http://dx.doi.org/10.18359/rcin.3103 

Artículos

SISTEMA DE GENERACION DE ARREGLOS POLIFONICOS PARA MÚSICA TRADICIONAL DE LA REGIÓN ANDINA COLOMBIANA BASADO EN ALGORITMOS GENÉTICOS

SYSTEM OF POLYPHONIC ARRANGEMENTS GENERATION FOR TRADITIONAL MUSIC OF THE COLOMBIAN ANDEAN REGION BASED ON GENETIC ALGORITHMS

Clara Marcela Ovalle Cuervo*  , Sebastián Ramírez Corredor**  , Helbert Eduardo Espitia Cuchango*** 

* Ingeniera de Sistemas, Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. Correo electrónico: cmovallec@correo.udistrital.edu.co. ORCID: https://orcid.org/0000-0002-4500-6911

** Ingeniero de Sistemas, Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. Correo electrónico: sramirezc@correo.udistrital.edu.co. ORCID: https://orcid.org/0000-0001-7303-4840

*** Doctor en Ingeniería de Sistemas y Computación, Docente de planta, Ingeniería de Sistemas, Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. Correo electrónico: heespitiac@udistrital.edu.co. ORCID: https://orcid.org/0000-0002-0742-6069

RESUMEN

En este trabajo se realiza la aplicación de algoritmos genéticos para la creación de arreglos musicales polifónicos de música tradicional, de la región Andina de Colombia. Esta aplicación se considera del tipo de arte evolutivo, siendo de gran importancia la codificación y la función objetivo que se emplea en el algoritmo genético para obtener el resultado esperado. Como principal aporte se propone la codificación de las notas musicales teniendo en cuenta su duración, altura y la aplicación de las reglas de armonía musical. El desempeño del sistema se analiza desde los puntos de vista matemático y musical.

Palabras-clave: algoritmo genético; arreglos musicales; codificación; música andina colombiana; polifonía

ABSTRACT

In this paper, genetic algorithms are applied to the creation of polyphonic arrangements for traditional music from the Andean region in Colombia. This application is considered a type of evolutionary art, being codification and the target function used in the genetic algorithm of utmost importance to obtain the expected result. Our main contribution is to propose the codification of musical notes based on length and pitch, and the use of musical harmony rules. The system performance is analyzed from mathematical and musical standpoints.

Key words: codification; Colombian Andean music; genetic algorithm; musical arrangements; polyphony

INTRODUCCIÓN

En los últimos años, la inteligencia artificial se ha interesado, no sólo en replicar la forma en la que los seres humanos conocen su mundo, sino en cómo se dan los procesos creativos en el arte. La música, así como otras artes, no ha sido ajena a estas investigaciones [1].

Varios aspectos de la música como el ritmo, la armonía y las características del sonido, han sido tratados por la inteligencia computacional, produciéndose desarrollos como la clasificación automática de géneros musicales [2], composición automática de piezas musicales [3] y arreglos polifónicos, los cuales son de atención en este documento y se describen a continuación.

La primera aproximación entre la armonización de melodías y la inteligencia computacional se dio en 1994, con el trabajo de McIntyre [4], en donde se creaban cuatro voces a partir de una melodía original sin tener presente la notación rítmica de la melodía. En dicho trabajo la codificación de los genes se representa por números entre 0 y 28 que describen cuatro octavas de la escala de Do Mayor.

Para 1999, en [5] se propone acercarse al comportamiento de un compositor humano agregándole una base de conocimiento al algoritmo genético. Sin embargo, dada la cantidad de reglas y excepciones, su aplicabilidad en otros contextos le restan el factor de "creatividad" que podría tener un generador de arreglos polifónicos no basado en reglas [6].

Durante el 2008 se realiza una propuesta para armonizar una canción del folklore chino utilizando cadenas ocultas de Markov [7]. Para el 2009, en [8] se cambia el enfoque aplicando los algoritmos genéticos a la armonización de una voz de bajo, generando las otras tres voces superiores, en contraposición a la visión tradicional de armonizar la melodía de la soprano.

Por su parte en el 2012, Liu y Ting [9] incorporan reglas de armonización como parte de la función de evaluación del algoritmo. Su trabajo incluye la creación de 3 voces adicionales a la voz de la soprano con cierto grado de creatividad, y la generación automática de acompañamiento. Es de resaltar en este caso, que la codificación empleada no representa fielmente el ritmo de la melodía por estar sujeto a compases de cuatro cuartos subdivididos en semicorcheas, teniendo 16 genes por compás.

Sobre nuevos avances, se tienen los desarrollados por Makoto Fukumoto eí al. [10],[11],[12]. En estos trabajos, en primer lugar se propone un algoritmo genético interactivo para incorporar la operación del usuario en la selección de las posibles soluciones. En este sistema, los sujetos pueden controlar la clave de la nota musical en la melodía por sí mismos, cuando quieren cambiar la melodía. Adicionalmente, el avance presentado en [12], considera incorporar otros usuarios teniendo en cuenta su interacción para crear el arreglo musical.

Para la propuesta realizada en este documento se considera que la polifonía clásica busca maximizar la armonía existente entre las distintas voces de una composición, siendo este aspecto por el cual se utilizan los algoritmos genéticos para encontrar las mejores soluciones, mediante la adaptación y evolución. Para la generación de arreglos polifónicos, el entorno donde opera el algoritmo está condicionado por la voz principal, los acordes, el patrón rítmico de cada género y particularmente, las características de los compases, por lo general de cuatro cuartos; sin embargo, para los ritmos de la música colombiana de la región Andina, tales como el vals, la guabina, el torbellino y el pasillo, el compás predominante es de tres cuartos. De esta forma se puede tener una herramienta de soporte para músicos compositores que les permita obtener arreglos polifónicos. Considerando estos aspectos, la hipótesis de este trabajo es la siguiente: ara la generación de arreglos polifónicos de música andina colombiana utilizando algoritmos genéticos, se puede establecer una codificación que incorpore diferentes elementos de la teoría musical y la aplicación de las reglas de armonía musical.

Este trabajo se fundamenta en la forma de codificar los elementos de la música en un genotipo que contenga la información de la altura y duración de las notas musicales, para tener una representación más aproximada a lo que se presenta en las partituras.

En investigaciones previas, la codificación genética que modelaba la música solamente tenía en cuenta las alturas de las notas y se restringía a un número limitado de estas. El genotipo propuesto parte de una secuencia binaria que une las alturas de las notas (sin tener en cuenta restricciones de tonalidad o alteraciones) y la duración de cada nota como un fragmento de compás, tal y como en la música se representa, de manera que se pueden involucrar los conceptos de tiempos fuertes y tiempos débiles para acentuar la presencia de la armonía de las canciones, dependiendo del género musical. La idea de un genotipo que se adapte a todos los compases amplía el campo de aplicabilidad de la investigación a casi cualquier tipo de canción u obra musical.

Adicional a la inclusión del compás, como elemento organizador de los tiempos y de las duraciones de las notas, se involucró el concepto de tonalidad como una restricción que aumenta el campo de aplicación de la investigación a todos los sonidos de la escala musical sin tener que estar ligado a un conjunto muy específico de notas. Además, la codificación de las notas como pares altura-duración permite la representación de cualquier nota musical, incluyendo aquellas que hacen parte del acorde para definir la armonía de las voces.

Finalmente, este trabajo busca vincular los estudios en computación evolutiva con el arte colombiano. A partir de la teoría musical y de los ritmos propios de la región andina se realiza una propuesta tomando las características particulares de la tradición musical colombiana para modelar el sistema.

2. MATERIALES Y MÉTODOS

El trabajo presentado consiste en desarrollar un sistema de generación automática de arreglos polifónicos, mediante un algoritmo genético que elabore la estructura polifónica para piezas musicales de los ritmos pasillo, vals, guabina y torbellino, típicos de la región Andina de Colombia. La serie de pasos involucrados para esto son:

  • En primer lugar, se realiza una revisión general sobre optimización con algoritmos genéticos y la teoría musical necesaria.

  • Posteriormente, se seleccionan las piezas más representativas de cada género.

  • Luego, se define la codificación del cromosoma que represente la altura y la duración de las notas que componen la pieza musical.

  • Se establece la función de aptitud basada en la comparación de las tres voces con la melodía, con los acordes de la canción y la distribución horizontal de las notas en cada una de las voces.

  • Se establecen las características de la población, generaciones, mecanismos de selección, cruce y mutación basados en las reglas de armonía musical.

  • Se obtienen los arreglos musicales generados por el sistema en formato MIDI (Musical Instrument Digital Interface).

  • Finalmente, se comparan los resultados obtenidos con arreglos hechos con anterioridad por músicos profesionales.

2.1 Algoritmos genéticos

Los Algoritmos Genéticos (AG) surgen como herramientas para la solución de problemas complejos de búsqueda y optimización que, por lo general, no tienen una estructura bien definida y son altamente no convexos. Estos algoritmos son el resultado del análisis de la adaptabilidad que tienen los sistemas en la naturaleza y la función de plasmar este funcionamiento en un algoritmo [13]. La idea básica de un algoritmo genético se puede observar considerando una población de individuos que coexiste en un determinado entorno, con recursos limitados; la competición por los recursos provoca la selección de aquellos individuos que están mejor adaptados al entorno, estos individuos se convierten en los progenitores de nuevos individuos, a través de procesos de mutación y recombinación. Los nuevos individuos pasan a competir por su supervivencia y con el paso del tiempo esta selección natural provoca el incremento en la calidad de los individuos de la población [14]. El esquema básico de un algoritmo genético se puede apreciar en la figura 1.

Fuente: Elaboración basada en [13] y [14]

Figura 1 Esquema general de un algoritmo genético. 

2.2 Descripción del sistema

El sistema propuesto consiste en la generación del arreglo polifónico a partir del ingreso de un archivo MIDI que cumpla con las siguientes características:

Estar en formato MIDI para separar las pistas de la melodía (voz principal) y los acordes.

El archivo MIDI debe tener incluido el mensaje que indica la tonalidad.

El compás debe ser de 3/4.

No debe contener silencios. De ser necesario, se debe transformar el silencio en una nota que prolongue el sonido de la nota anterior, o la nota siguiente si es la primera de la canción.

Tener un acorde por compás. Los acordes estarán compuestos de 3 ó 4 notas.

De esta forma el archivo MIDI establece los parámetros base para la definición de los espacios de búsqueda y la aplicación de las restricciones para cada voz. En la figura 2 se puede apreciar el diagrama de flujo del sistema propuesto.

Fuente: Elaboración propia

Figura 2 Diagrama de flujo del sistema. 

2.2.1 Modelo para la generación de arreglos polifónicos

Un arreglo polifónico corresponde al conjunto de voces que son interpretadas por distintos instrumentos o cantantes al mismo tiempo, de forma armónica. Las voces se entienden como una sucesión V de j elementos donde 0 ≤ j ≤ 3, de manera que con j = 0 se tiene la primera voz conocida como soprano o melodía; con j = 1 se obtiene la segunda voz (contralto); con j = 2 la tercera voz (tenor); y con j = 3 la cuarta voz (bajo). El orden de la sucesión está dado por la altura de las voces de mayor (soprano) a menor (bajo) tal y como aparecen en una partitura de un arreglo polifónico de arriba hacia abajo [15],[16],[17].

Cada voz se compone de una sucesión finita de notas Nx donde el número total de términos equivale al número de notas de la canción. Musicalmente, cada nota presenta una altura Ax y una duración Dx asociada.

Para agregar el componente armónico de la música se toman los acordes de la canción como una sucesión Cm . El número máxima de términos en la sucesión de acordes es exactamente igual al número de compases m de la canción, ya que se estableció que cada compás tiene un único acorde. Un acorde, por definición, es un conjunto de notas que suenan al tiempo; cada acorde tiene una secuencia de tres o cuatro notas N x,m donde m equivale al acorde del compás y la variable y a la posición de la nota en el acorde, es decir, si se tiene una nota de un acorde N 3,2 se entiende que dicha nota N es la segunda nota del tercer acorde de la canción. Como los acordes son notas interpretadas de forma simultánea, cada nota tiene asociada una altura Am,y y una duración Dm,y.

La sucesión de notas de la primera voz se escribe como N 0,x la sucesión de la segunda N1,xla de la tercera N2,x y la de la cuarta N3,x.La tonalidad de la canción también se representa como una sucesión T k , finita de siete alturas, donde el primer término establece la nota (tónica) sobre la cual se construye la tonalidad; los otros términos de la sucesión se expresan como (1).

La figura 3 muestra el modelado para un arreglo polifónico.

Fuente: Elaboración propia

Figura 3 Modelo para la generación de arreglos polifónicos. 

2.2.2 Codificación de las notas

A partir de las propiedades del sonido y de la representación tradicional de la música en el pentagrama, se establece el conjunto de datos de la codificación, que permiten transformar la melodía principal y los acordes, en secuencias de números racionales para la generación de las voces.

Dado que las notas reúnen varias características de los sonidos, para la generación de las voces se toman la altura (qué tan agudo o grave es un sonido) y la duración (tiempo durante el cual es emitido un sonido) por separado para ser codificados en valores numéricos.

Cada término de cualquier sucesión Nx de notas de cualquier voz V j tiene asociado un único término de la sucesión de alturas Ax. La altura de cada nota es identificada por un único número que se encuentra en un intervalo cerrado [12,127] de números enteros que abarca todas las notas de la escala musical. En la tabla 1 se encuentran las notas y el número asociado a su altura.

Tabla 1 Valores de las alturas. 

Fuente: Tomado de [18].

2.2.3 Duración de la nota

Al igual que sucede con las alturas, cada término de la sucesión de notas Nx tiene asociado un único término de la sucesión de duraciones Dx expresado en un intervalo de números racionales comprendido entre [0,3]. Cada número representa la porción de compás correspondiente a la duración de la nota. Se toma como intervalo abierto en cero, ya que una nota sin duración equivaldría a la no generación de sonido, y se restringe a que una nota puede tener una duración asociada de tres compases [1] . Las equivalencias entre las figuras musicales se muestran en la figura 4.

Fuente: Elaboración propia

Figura 4 Duración de las figuras musicales. 

Partiendo del compás como unidad para la organización de las duraciones de las notas en la música, se establece que cada nota tiene una duración representada en una fracción del compás y la sumatoria de las duraciones es igual a uno, tal como se muestra en la figura 5.

Fuente: Elaboración propia

Figura 5 Ejemplo de organización de notas en un compás. 

De esta forma, en un compás de tres cuartos, donde caben exactamente 3 negras por compás, cada negra tendría el valor de 1/3; como una corchea equivale a la mitad de una negra, cada corchea dentro del compás tendrá un valor de 1 /6; una semicorchea 1 /12; y así sucesivamente. De esta forma se debe cumplir que la sumatoria de las duraciones de todas las notas es igual al número de compases de la canción, tal como se indica en (2).

El compás de 3/4 es el empleado en los géneros musicales de la región andina elegidos para la aplicación del sistema.

2.2.4 Acordes

Los acordes son dos o más notas interpretadas al mismo tiempo, por lo cual, cada nota del acorde tiene las propiedades de duración y altura, es decir, para cada término de la sucesión de acordes Cm existe una sucesión de notas N m,y , cada una con un único término A m,y y D m,y asociado. Sin embargo, como todas las notas que componen el acorde suenan al tiempo y tienen la misma duración, cada acorde tiene asociado un único valor D m .

En el sistema, los acordes ayudan a encaminar la generación de las voces ya que establecen el conjunto de notas que se adaptan mejor a la canción en términos de sonoridad (es decir, con relación a las frecuencias). Para la codificación de los acordes, se establecen 4 reglas:

  • Cada acorde está conformado por mínimo 3 notas y máximo 4.

  • Los acordes ingresan en estado fundamental, es decir la resta del tercer término de la sucesión de notas del acorde, menos el primer término tiene que ser 7, es decir A m,3 - A m,1 = 7. Debido a que 7 es la distancia en semitonos equivalente a un intervalo de quinta.

  • La duración de las notas del acorde es igual a 1, es decir que por cada compás existe un solo acorde.

  • Todas las notas del acorde tienen la misma duración.

Con las anteriores reglas se establece una matriz para organizar los acordes, donde existen tantas como acordes tenga la canción. Se definen 5 columnas, las 4 primeras corresponden a los términos de la sucesión de alturas de las notas A m y que componen el acorde, y la última columna corresponde a la duración de las notas D m,y . En caso que el acorde tenga tres notas, el valor de la cuarta columna es asignado como cero y no es tenido en cuenta por el sistema. La figura 6 muestra un ejemplo de esta codificación.

Fuente: Elaboración propia

Figura 6 Ejemplo de la codificación de acordes. 

2.2.5 Estructura de la codificación de los cromosomas

El diseño para la codificación del "cromosoma" involucra la altura y la duración de las notas. El cromosoma toma como genes cada uno de los términos de la sucesión de alturas Ax y de las duraciones Dx, asociadas a la sucesión de notas N x de la melodía de la voz principal, obteniendo un cromosoma de longitud 2n, donde n es el número de términos de la sucesión de notas de la voz principal. Los genes que se encuentran en las posiciones pares representan la altura de cada nota en el intervalo [12,127]. Las duraciones se encuentran en las posiciones impares con los valores del intervalo [0, 3]. La representación de las notas en el cromosoma se encuentra en la figura 7.

Fuente: Elaboración propia

Figura 7 Ejemplo de la codificación del cromosoma. 

2.3 Función de aptitud

El objetivo del sistema es maximizar el número de notas de la segunda, tercera y cuarta voz que se ajustan armónicamente a la canción. La función aptitud, que actúa como selector de las mejores soluciones premia, mediante la entrega de puntos en una escala de 0 a 20 (con 0 puntaje mínimo y 20 puntaje máximo), a las notas que se encuentren dentro del espacio de búsqueda definido por cada voz y por las respectivas restricciones.

2.3.1 Delimitación de espacios de búsqueda

Para cada una de las voces generadas por el sistema se define un espacio de búsqueda delimitado por la tesitura, correspondiente al rango de notas que una persona puede cantar, dependiendo de las características de su sistema respiratorio y su sexo. En la tabla 2 se encuentran los rangos definidos para cada voz, donde Rinf es el límite inferior y Rsup el límite superior.

Tabla 2 Tesituras. 

Fuente: Elaboración propia.

La altura de las notas para la población en la primera generación se establece aleatoriamente como números enteros, dentro de los rangos establecidos por la tesitura y corresponden a la altura de las notas según la tabla 1.

2.3.2 Criterios para el planteamiento de la función objetivo y las restricciones

En la medida que los individuos evolucionan, cumpliendo con las restricciones dadas por el espacio de búsqueda y las reglas de armonía musical, estarán obteniendo mayor puntaje con respecto a los que no se adaptan, convirtiéndose así en la posible solución para la voz. Cabe anotar que el sistema de puntuación no penaliza el incumplimiento de las reglas mediante la resta de puntos sino con la no entrega de estos. Los criterios para el planteamiento de la función objetivo y las restricciones se presentan a continuación.

2.3.3 La tonalidad

Musicalmente, cada tonalidad define un conjunto base de siete notas (do, re, mi, fa, sol, la, si) que pueden estar alteradas por sostenidos o bemoles, que se repiten a distintas alturas. Cuando el conjunto es ordenado se conoce como escala, a cada nota de la escala se le denomina grado, y al primer grado de la escala se le llama tónica. El modelado de la tonalidad se realiza mediante la sucesión T k finita de siete alturas de referencia que, acústicamente pueden ser seleccionadas como mejores opciones por el algoritmo, y cuyo primer término es la altura de la tónica.

La restricción por tonalidad busca que todas las notas que aparezcan en las voces (segunda, tercera y cuarta) se encuentren dentro de la escala establecida por la canción, y se reduzca la aparición de notas disonantes que podrían presentarse por la aleatoriedad de las notas definidas en el rango de la tesitura.

Para conocer si una nota hace parte de la tonalidad, se halla el módulo base 12 de la altura de la nota candidata y de las alturas de la tonalidad. Si los dos módulos son iguales, se tendrían dos notas iguales a distintas octavas de distancia. El valor 12 por el que se obtiene el módulo de las notas se debe a que, entre una nota y la misma nota, a un intervalo de distancia de una octava, existen 12 semitonos.

Dado que las tonalidades tienen dos modos (mayor o menor) el sistema siempre reconocerá la tonalidad en modo mayor, tal como lo establece el estándar MIDI. La ecuación 3 muestra los puntajes por la concordancia con cada nota. Cada altura A de cada nota N x que concuerde con las notas de la escala Tk tendrá un valor de 20 puntos. Sin embargo, en el primer, quinto y sexto término de Tk se presentan ciertas excepciones que involucran la reducción en un semitono (en el caso de T6), o el aumento en un semitono (en el caso de la T7 y T5) en la nota de la tonalidad debido a que, en la música colombiana, son frecuentes las tonalidades menores y acordes que incluyen notas alteradas para generar tensión. A estas excepciones se les da un puntaje de 12 ya que, si bien se presentan en las canciones, no es deseable que todas las notas tiendan a dichas excepciones.

2.3.4 Intervalo formado con otras voces

El análisis de los intervalos (correspondiente a la distancia en tonos y semitonos que existe entre una nota y otra) parte de la comparación entre las alturas de las notas de la voz candidata Ax , las notas de la melodía y las notas de las voces superiores, de manera que se le otorgue mayor puntaje a las notas que forman intervalos de tercera, cuarta, quinta y sexta, y menor puntaje a las notas que generen otros intervalos. Sin embargo, los intervalos de tercera y quinta (que hacen parte de los acordes) son más recomendables que los demás intervalos, por lo que tienen mayor puntaje.

Otras consideraciones tomadas de la teoría musical, establecen que las notas de una voz no pueden superar en altura a las notas de una voz que cante más agudo, ni pueden estar a un intervalo mayor a una octava por debajo de dicha voz superior. Cabe anotar que para la cuarta voz, el límite inferior está definido únicamente por la tesitura propia de la voz ya que musicalmente se permite que, entre el bajo (cuarta voz o V3) y el tenor (tercera voz o V2), existan intervalos mayores a una octava.

La fórmula 4 muestra los puntajes de los intervalos que responden a la operación A j-1,x -A j,x donde j indica el número de la voz y x el término de la sucesión.

2.3.5 Relación con los acordes

Los acordes establecen el punto de referencia principal para generar el arreglo polifónico por cuanto definen las notas que deben aparecer en las distintas voces para mantener la armonía del arreglo. La relación con los acordes está condicionada por los tiempos del compás y por la frecuencia de las notas.

Dependiendo del compás, los tiempos se clasifican en fuertes y débiles. En los compases de 3/4 se tiene que el primer tiempo es fuerte, el segundo débil y el tercero semifuerte, lo que conlleva a que en el primer tiempo las notas de las voces deben concordar con las notas del acorde de ese compás.

Según la teoría musical, es deseable que las distintas notas del acorde estén distribuidas en las voces, de manera que no existan notas repetidas en las cuatro voces. Sin embargo, al haber cuatro voces y solo tres notas por cada acorde, se hace necesario duplicar alguna nota del acorde, preferiblemente la primera (es decir N m,1 ) o la tercera (N m,3 ) tratando de evitar duplicar la segunda nota (N m,2 ) o en los acordes de cuatro, la cuarta nota (N m , 4 ).

Para identificar si una nota N j,x es parte del acorde se extrae el módulo base 12 de la altura A asociada a dicha nota y se le compara con el módulo 12 de las alturas A de cada una de las notas que componen el acorde. Si el módulo de la altura de la nota candidata es igual al módulo de alguna de las alturas de las notas del acorde, significa que la nota hace parte del acorde.

Adicionalmente, es necesario verificar si la nota ya no está presente en otra voz, para evitar asegurar que todas las notas del acorde están distribuidas en las distintas voces. La verificación se realiza comparando los módulos base 12 de las alturas de las notas en el mismo tiempo en cada una de las voces, tal como se indica en (5).

2.3.6 Definición del problema de optimización

Conociendo las restricciones que orientan la selección de las mejores notas para el arreglo polifónico, la función objetivo que modela el sistema es descrito en (6).

donde n número de notas y j número de voces sujeto a:

3. RESULTADOS

En primer lugar, se realiza la configuración del algoritmo genético teniendo un tamaño de población de 32, 1.200 generaciones y el promedio de los valores máximos y mínimos que pueden tomar las tasas de mutación y cruce según [19],[20], como lo indica la tabla 3.

Tabla 3 Tasas mínimas, máximas y promedio de cruce y mutación. 

Fuente: Elaboración propia.

Considerando los valores máximos y mínimos para cruce y mutación, se lleva a cabo una prueba con el ritmo de Anton Tiruliru Liru obteniendo los resultados de la Tabla 4, donde la mejor configuración fue de 0.6 para la tasa de cruce y 1/100 para la mutación [21].

Tabla 4 Prueba con Anton Tiruliru Liru para determinar las mejores tasas de cruce y mutación. 

Fuente: Elaboración propia.

Para establecer el grado de concordancia de una nota con el acorde, se realiza la comparación de cada nota candidata con las del acorde. Para saber si una nota candidata de una voz concuerda con el acorde, en primer lugar se hallan las frecuencias de las notas del acorde y de la nota candidata, como segundo paso se verifica que la frecuencia de la nota candidata, dividida entre la frecuencia de una nota del acorde, corresponda a un valor de 2n donde n es la distancia en intervalos de octavas desde el acorde hasta la nota.

Al establecer el número de notas acertadas se puede determinar el porcentaje de concordancia de la siguiente forma:

Para la implementación de los experimentos se toma una canción de cada género considerado de la Región Andina (Vals, Guabina, Torbellino y Pasillo). La tabla 5 muestra un resumen de los resultados obtenidos en las distintas canciones, utilizando selección por elitismo, tasa de cruce de 0.60, tasa de mutación de 1/100, población inicial 32 individuos y 1.200 generaciones.

Tabla 5 Resultados de las pruebas con las piezas musicales consideradas. 

Fuente: Elaboración propia.

Para evidenciar el comportamiento de la función de aptitud de las pruebas mencionadas anteriormente se elaboraron las gráficas de la función aptitud para los arreglos polifónicos de cada pieza musical.

En la prueba con la pieza musical Pueblito Viejo (Vals), el valor aptitud para la segunda voz fue de 1923 y se alcanza en la generación 671 ; para la tercera voz fue de 2.160, se alcanza en 1.049; y para la cuarta voz fue de 2.271 y se alcanza en 1.192 (ver. fig. 8).

Fuente: Elaboración propia

Figura 8 Función de aptitud del arreglo coral con la pieza musical Pueblito Viejo (Vals). 

En la prueba con la pieza musical Tiplecito de mi Vida (Torbellino) el valor aptitud para la segunda voz fue de 2.863 y se alcanza en la generación 1.186; para la tercera voz fue de 3.015 y se alcanza en 1.087; y para la cuarta voz fue de 3.354 y se alcanza en 1.041 (ver fig. 9).

Fuente: Elaboración propia

Figura 9 Función de aptitud del arreglo coral con la pieza musical Tiplecito de mi Vida (Torbellino). 

En la prueba con la pieza musical Pasión (Pasillo) el valor aptitud para la segunda voz fue de 1.784 y se alcanza en la generación 1.020, para la tercera voz fue de 2.057 y se alcanza en 833, para la cuarta voz fue de 2.056, y se alcanza en 1.117 (ver fig. 10).

Fuente: Elaboración propia

Figura 10 Función de aptitud del arreglo coral con la pieza musical Pasión (Pasillo). 

En la prueba con la pieza musical Guabina Huilense (Guabina) el valor aptitud para la segunda voz fue de 4.793 y se alcanza en la generación 1.019, para la tercera voz fue de 5.248 y se alcanza en 1.179 y para la cuarta voz fue de 5.701 y se alcanza en 1.142 (ver fig. 11).

Fuente: Elaboración propia

Figura 11 Función de aptitud del arreglo coral con la pieza musical Guabina Huilense (Guabina). 

Para la comparación de los resultados del sistema y los arreglos polifónicos elaborados por seres humanos, se realiza el análisis de concordancia para los arreglos musicales de las canciones consideradas.

A continuación, se muestran los valores resultantes de cada comparación para las canciones utilizadas. La columna indicador presenta el tipo de voz y el total; la columna ''Original Partitura'' indica cuantas notas en los arreglos elaborados por humanos, coinciden en el análisis realizado; en la columna ''Concordancia Humano'' se calcula el número de notas acertadas del arreglo realizado por humanos, sobre el número de notas total de primer y segundo tiempo; la columna ''Concordancia Sistema'' muestra los resultados obtenidos por el algoritmo genético para el respectivo arreglo musical.

Para la comparación de Pueblito Viejo se emplearon 15 notas (primer y tercer tiempo) de un fragmento de la partitura [22] con el arreglo polifónico de Gregory Pino, ésta sólo cuenta con la segunda y cuarta voz (ver. tabla 6).

Tabla 6 Comparación Humano - Máquina (Pueblito Viejo). 

Fuente: Elaboración propia.

La comparación de Tiplecito de mi vida se hizo considerando 21 notas (primer y tercer tiempo) de un fragmento de la partitura [23] con el arreglo polifónico de Alejandro Wills (ver tabla 7).

Tabla 7 Comparación Humano - Máquina (Tiplecito de mi vida). 

Fuente: Elaboración propia.

La comparación de Pasión se hizo utilizando 13 notas (primer y tercer tiempo) de un fragmento de la partitura [24] con el arreglo polifónico de José Cuéllar (ver tabla 8).

Tabla 8 Comparación Humano - Máquina (Pasión). 

Fuente: Elaboración propia.

Para la comparación de Guabina Huilense se utilizaron 31 notas (primer tiempo y tercer tiempo) de un fragmento de la partitura [25] con el arreglo polifónico de Amadeo Rojas (ver tabla 9).

Tabla 9 Comparación Humano - Máquina (Guabina Huilense). 

Fuente: Elaboración propia.

De estos resultados, se observa que el sistema, empleando algoritmos genéticos, presenta una concordancia mayor que las piezas musicales hechas por compositores humanos utilizadas en la comparación. Al respecto, hay que tener presente que la evaluación del desempeño del sistema está definida por el número de notas correctamente generadas, en cada uno de los primeros y terceros tiempos de los compases, lo que, si bien representa un avance para la medición de resultados del sistema, no es capaz de proveer información que cuantifique la ''destreza creativa'' del sistema. Esto se evidencia en la libertad con la que cada arreglista escribió la pieza musical, utilizando diversos métodos de composición y tipos de polifonía, los cuales enriquecen la música. Sin embargo, en el sentido estricto de cumplimiento de reglas de armonía musical con el cual fue diseñado, se puede decir que el sistema cumple satisfactoriamente con las restricciones consideradas.

4. CONCLUSIONES

El uso de una codificación (cromosoma) cuya longitud era determinada por el número de notas, y que a su vez representaba las cualidades del sonido, imitando la escritura en el pentagrama, hizo posible el modelado de las dinámicas de la música colombiana de la región andina, logrando una concordancia de más del 90 % de notas musicales correctamente creadas en las voces.

Para la generación individual de las voces, los valores de aptitud de la segunda voz fueron siempre más bajos que los de las demás voces. Esto porque la segunda voz cuenta con menos información que restrinja las notas que la componen y le otorguen un grado de flexibilidad mayor que las demás voces.

Se observó que cada género posee características muy particulares que podrían haber modificado la medición de la concordancia del sistema y la de los arreglos, elaborados por compositores humanos. Este fue el caso de la Guabina Huilense donde las dinámicas propias del género musical hacían que el acorde no causara efecto en los primeros tiempos de cada compás (tiempo fuerte), sino que rítmicamente hacía que la melodía empezara en los segundos tiempos.

Se apreció la importancia del compás como elemento organizador de las duraciones de los sonidos en la música lo que permitió, en primer lugar, generar una codificación genética que se ajuste a cada canción; en segundo lugar, la distribución de las notas musicales que componen la canción de una forma dinámica, es decir, que se ajustan automáticamente a la pieza musical; y en tercer lugar, la generación de ''puntos de armonía'' que dependen directamente de la posición de las notas en el compás y de la distribución de los tiempos musicales.

El campo de esta aplicación se considera del tipo de arte evolutivo por lo cual la percepción de un artista sería una forma adecuada para tener la valoración del sistema. Como una alternativa en un trabajo futuro esto se puede realizar mediante mediciones biológicas (pulso, respiración, etc.), como también de reconocimiento fácil para obtener la percepción del usuario.

AGRADECIMIENTOS

Los autores agradecen al proyecto curricular de Ingeniería de Sistemas de la Facultad de Ingeniería de la Universidad Distrital Francisco José de Caldas.

REFERENCIAS

[1] A. Latham. Diccionario Enciclopédico de la Música. Oxford: Fondo de Cultura Económica, 2008. [ Links ]

[2] A. R. Rajanna, K. Aryafar, A. Shokoufandeh y R. Ptucha, "Deep Neural Networks: A Case Study for Music Genre Classification", en IEEE 14 th International Conference on Machine Learning and Applications (ICMLA), 2015, pp. 655-660. https://doi.org/10.1109/ICMLA.2015.160Links ]

[3] M. Alfonseca, M. Cebrian y A. Ortega, ''A simple genetic algorithm for music generation by means of algorithmic information theory", en IEEE Congress on Evolutionary Computation, 2007 pp. 3035-3042. https://doi.org/10.1109/CEC.2007.4424858Links ]

[4] R. A. Mclntyre, ''Bach in a box: The evolution of four part baroque harmony using the genetic algorithm", en IEEE World Congress on Computational Intelligence, vol. 2, 1994, pp. 852-857. https://doi.org/10.1109/ICEC.1994.349943Links ]

[5] G. Wiggins, G. Papadopoulus, S. Phon-Amnuaisuk y A. Tuson, "Evolutionary methods for musical composition," International Journal of Computing Anticipatory Systems. [ Links ]

[6] M. Jorgensen y S. Madsen. Harmonisation of bach chorales. KBS Project Report, Daimi: Universidad de Aarhus, 2002. [ Links ]

[7] Y. Feng y C. L. Zhou, ''Computational model on harmonizing chinese folksong with piano accompaniment'', en IEEE Conference on Granular Computing, 2008, pp. 232-237. https://doi.org/10.1109/GRC.2008.4664691Links ]

[8] R. De Prisco et al, ''Evobasscomposer: a multi-objective genetic algorithm for 4-voice compositions'', en 12th annual conference on Genetic and evolutionary computation. [ Links ]

[9] C. H. Liu y C. K. Ting, ''Polyphonic accompaniment using genetic algorithm with music theory'', en IEEE Congress on Evolutionary Computation, 2012, pp. 1-7. https://doi.org/10.1109/CEC.2012.6252869Links ]

[10] S. Koga, T. Inoue y M. Fukumoto, ''A Proposal for Intervention by User in Interactive Genetic Algorithm for Creation of Music Melody'', en International Conference on Biometrics and Kansei Engineering, 2013, pp. 129-132. https://doi.org/10.1109/ICBAKE.2013.26Links ]

[11] M. Fukumoto, ''Creation of Music Chord Progression Suited for User's Feelings Based on Interactive Genetic Algorithm'', en IIAI 3rd International Conference on Advanced Applied Informatics, 2014, pp. 757-762. https://doi.org/10.1109/IIAI-AAI.2014.153Links ]

[12] M. Fukumoto y T. Hatanaka, ''Parallel distributed Interactive Genetic Algorithm for composing music melody suited to multiple users' feelings'', en IEEE/ ACIS 15 th International Conference on Computer y Information Science (ICIS), 2016, pp. 1-6. https://doi.org/10.1109/ICIS.2016.7550862Links ]

[13] O. Quintana. La Inteligencia Artificial. Editorial Académica Española, 2013. [ Links ]

[14] O. Kramer. Genetic Algorithm Essentials. Studies in Computational Intelligence, Springer, 2017. [ Links ]

[15] A. Pineda. Apuntes sobre Teoría Musical. Centro Don Bosco, 2003. [ Links ]

[16] R. Evans. Cómo leer música, Madrid: EDAF, 2004. [ Links ]

[17] M. C. Tomasini, "El fundamento matemático de la escala musical y sus raíces pitagóricas," Revista Ciencia y Tecnología, vol. 6, 2006, pp.15-28. [ Links ]

[18] D. Koelle. The Complete Guide to JFugue, JFugue, 2008. [ Links ]

[19] F. J. Lobo, C. Lima y M. Zbigniew. Parameter Setting in Evolutionary Algorithms, Springer Science & Business Media, 2007 [ Links ]

[20] T. Weise. Global optimization algorithms - theory and application. Self-Published Thomas Weise, 2009. [ Links ]

[21] C. Ovalle y S. Ramírez, "Sistema de generación de arreglos polifónicos para música tradicional de la región Andina Colombiana basado en algoritmos genéticos", Proyecto de grado en Ingeniería de Sistemas, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia, 2014. [ Links ]

[22] G. Morales y J. Pino. Pueblito viejo. Partituras Gregory Pino, 2013. [ Links ]

[23] L. Uribe. La música de torbellino en la provincia de Vélez - Santander, Santander: División Editorial y de Publicaciones Universidad Industrial de Santander, 2012. [ Links ]

[24] Patronato Colombiano de Artes y Ciencias. Versiones corales del campo colombiano concurso organizado con la colaboración de la Asociación Colombiana de Clubes de Estudiantes Cantores. PCAC., 1972. [ Links ]

[25] C. Pinzón. Guabina Huilense. Bogotá: Tercer Mundo Editores, 1995. [ Links ]

Cómo citar: C.M. Ovalle Cuervo, S. Ramírez Corredor, H.E. Espitia Cuchango, "Sistema de generación de arreglos polifónicos para música tradicional de la región andina colombiana basado en algoritmos genéticos", Ciencia e Ingeniería Neogranadina, vol. 28, no. 2, pp. 83-104. DOI: https://doi.org/10.18359/rcin.3103

Recibido: 07 de Octubre de 2017; Revisado: 02 de Mayo de 2018; Aprobado: 17 de Mayo de 2018

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons