Sistema de composición musical automática

Aproximaciones Preliminares
Miguel Gómez-Zamalloa Gil
Email: mzamalloa@ucjc.edu

Abstract
El estudio que se desarrollará a continuación en este artículo y en otros subsiguientes se encuentra emplazado en un contexto en el cual se pretende diseñar un sistema de composición musical automático. Primero realizaremos un recorrido histórico por los trabajos más representativos realizados en este campo, pudiéndose observar la variación entre los diferentes enfoques y formalismos utilizados para resolver el problema a lo largo de las últimas décadas; para posteriormente proponer una solución alternativa al problema de la composición musical automática, en la cual una serie de módulos más o menos independientes cooperan entre sí coordinados por un experto (sistema interactivo), que posteriormente sería sustituido por una unidad de control que ya habría sido entrenada (sistema automático) siguiendo el modelo CBR. Además cada uno de los módulos podría ser implementado a su vez siguiendo el modelo CBR combinado con otros formalismos como los algoritmos evolutivos, las redes neuronales, etc.

1. Introducción
La composición musical es una actividad intelectual, y como tal que es requiere y depende de forma crítica de un conocimiento abundante del dominio en cuestión. Así mismo, podríamos considerar la composición musical como una actividad creativa, lo que traería consigo la aparición de una cierta componente paradójica, pues estaríamos intentado modelizar algo que en principio es inmodelizable. De todas formas, no queda claro que la creatividad en sí misma no sea más que una aplicación de inteligencia, y de hecho si realmente se consiguiese llevar a cabo la construcción del sistema que aquí se propone, podríamos al menos postular que efectivamente así es. Primeramente realizaremos un recorrido histórico por los trabajos más representativos realizados en este campo, pudiéndose observar la variación entre los diferentes enfoques y formalismos utilizados para resolver el problema a lo largo de las últimas

1

el sistema genera notas pseudoaleatoriamente usando cadenas de Markov. A partir de ello. Esto constituye el primer ejemplo claro de uso de metaconocimiento en este contexto. Simon and Sumner. Una vez establecida la base sobre la que nos sustentaremos. de forma que solo se mantienen aquellas que pasen una serie de pruebas basadas en técnicas heurísticas. y de hecho es reconocido por ellos mismos diciendo que antes de intentar resolver esos problemas habrá que tratar los aspectos básicos de la composición. Basado en el modelo de generación y prueba. se propone una solución alternativa al problema de la composición musical automática. si ninguna de las notas satisface la prueba se procedería con un simple backtracking para continuar la composición desde un punto anterior. describen un lenguaje formal para representar la música y sus patrones. 2. Evolución histórica El primer trabajo conocido en esta área es debido a Hiller and Isaacson en 1958. A partir de este momento surgen una serie de trabajos que basan su funcionamiento en modelos probabilísticos y más en concreto en cadenas de Markov. La parte interesante reside en la existencia de una serie de reglas especiales. pioneros en inteligencia artificial. Por último se dedica una sección para sacar conclusiones y establecer las bases del trabajo futuro en este contexto. Propone un sistema basado en reglas que describen como deben unirse las notas para producir melodías de cierto sentido musical. Por supuesto Hiller and Isaacson excluyen todo lo relacionado con la expresividad y el contenido emocional de la música. y 2 . No obstante no todos los trabajos de la época estaban basados en modelos de Markov. A quedado demostrado más adelante que no es posible obtener la suficiente riqueza musical si basamos la construcción de un sistema de composición exclusivamente en aproximaciones probabilísticas. un buen ejemplo es el trabajo de Moore (1972) en generación de melodías que intenta simular las técnicas usadas por humanos de forma más bien algorítmica y basado en técnicas heurísticas. Posiblemente el ejemplo más claro de sistema de composición musical en el que aparecen puestas de relieve técnicas propias de inteligencia artificial es el trabajo de Rader (1974). y diseñan además un método inductivo para identificar patrones más o menos implícitos en obras musicales. teniendo en cuenta para ello los pesos asociados con cada una de ellas. en la cual una serie de módulos más o menos independientes cooperan entre sí coordinados por un experto (sistema interactivo). A continuación nos adentraremos con más detalle en tres sistemas de composición musical. elegidos por haber sido aquellos que posiblemente más repercusión e influencia han tenido en el modelo que propongo más adelante.décadas. que posteriormente sería sustituido por una unidad de control que ya habría sido entrenada (sistema automático) siguiendo el modelo CBR. denominadas reglas de aplicabilidad que determinan bajo qué condiciones y en qué momento debe aplicarse cada una de las reglas generativas.

al. Cada uno de los agentes estaría especializado en una determinada habilidad o técnica. Palestrina. elegidos por haber sido aquellos que posiblemente más influencia han tenido en el modelo que propongo más adelante. y cuando no se encuentre ninguno aplicando las reglas generales de armonización. Feulner (1993) se enfrenta al problema usando una combinación de técnicas de satisfacción de restricciones y redes neuronales. al igual que pasa en las aproximaciones CBR. Primeramente nos adentraremos en el sistema de David Cope. La idea propuesta esta basada en la observación de que un sistema puramente basado en reglas fallará porque “no son las reglas las que hacen la música sino la música la que hace a las reglas”. Sabater. EMI project). Cabe destacar que el sistema es basado en Corpus en lugar de basado en reglas. El sistema intenta armonizar una melodía dada. a continuación se describirán las mejoras que para éste último propone Michael Chan. teniéndose a su vez agentes de orden superior coordinando el funcionamiento global. y de esta forma extrae el conocimiento de composiciones ya hechas en lugar de utilizar reglas obtenidas a partir de éstas. Bharucha (1993) usa redes neuronales para aprender armonía musical. etc. Ha generado composiciones interesantes en los estilos de Cope. Macedo y Cardoso que estudiaremos más adelante en la sección 3. Sistemas a destacar En este punto se explican más en detalle una serie de sistemas de composición musical. primeramente buscando casos similares. Además se tiene la ventaja de que cada nueva resolución del problema puede pasar a formar parte de la base de casos y ser usada con posterioridad en la resolución de futuros problemas. surgirán toda una familia de modelos basados en gramáticas generativas. A parte de los ya comentados podemos destacar: Marvin Minsky (1981) resuelve el problema por medio de agentes de manera que la interacción entre varios de ellos produzca el resultado esperado.. concluyendo con una serie de críticas constructivas cuyo objetivo será el de ofrecer proposiciones para posibles mejoras en la construcción del sistema de composición que propongo más adelante. Bartok. ya comentado en el punto anterior. 3 . Son muchos los formalismos que se han ido utilizando a lo largo de la corta vida de este tipo de sistemas. Por último estudiaremos con algo más de detalle el sistema basado en CBR propuesto por Pereira et. Grilo. El sistema genera composiciones emulando el estilo de determinados compositores clásicos. 3.encabezados por el trabajo de Lerdahl and Jackendoff (1983). Probablemente el trabajo más reconocido en esta área es el propuesto por David Cope (1987-1990. Arcos y López de Mántaras proponen un sistema de armonización musical basado en CBR y asistido por reglas. Mozart. Chopin. Bach. que hoy en día siguen teniendo bastante relevancia en el modelado de sistemas relacionados con la música. Otra aproximación basada en el modelo CBR es la propuesta por Pereira.

Identificación de patrones: Se buscan las signaturas que serán usadas como esqueleto básico de la nueva composición. y de Lerdahl and Jackendoff por otro. . ACCSM acepta un corpus de piezas clásicas de un determinado compositor (representadas en XML).3. Reconstrucción: Se recombinan los segmentos dando lugar a la nueva pieza musical. El objetivo del sistema que propone. Por lo tanto el sistema también se dice que es basado en Corpus.Análisis: Intenta usar las características de la música tonal para determinar el carácter y función de determinados grupos de notas. David Cope´s EMI Project El sistema analiza partituras existentes buscando patrones musicales recurrentes llamados signaturas. 4 . . EMI utiliza un analizador implementado como una red aumentada de transiciones (ATN) que constituirá el núcleo de la fase de reconstrucción.Deconstrucción: Las partituras de entrada son divididas en pequeños segmentos musicales (normalmente compases). El algoritmo principal esta basado en las siguientes fases: .2. Para componer los motivos musicales entre signaturas. como en el caso anterior. Se considera que EMI es un sistema basado en Corpus en lugar de basado en reglas aportando por ello mayor flexibilidad y diversidad. y que busca las restricciones o propiedades existentes en obras del mismo compositor.1. 3. que posteriormente son recombinados formando nuevas composiciones de acuerdo con el estilo del compositor correspondiente. es el de producir piezas musicales que imiten el estilo de ciertos compositores. y produce nuevas obras imitando su estilo. Las signaturas que han sido recuperadas de una gran base de datos de partituras permanecerán intactas durante todo el proceso de composición. Michael Chan´s ACCSM Su propuesta esta fuertemente inspirada en los trabajos de David Cope por un lado.

y divide la pieza musical según la siguiente jerarquía: Además de las relaciones jerárquicas puede haber relaciones horizontales entre componentes. Node_Name. CBR y técnicas de planificación. pudiendo éste ser dividido en todos sus subcomponentes. en la figura se indicaría que la sección A de la parte 1 es la misma que la sección A de la parte 2 pero transportada. Temporal_Position. mejorando las fases de “análisis” y “deconstrucción” al usar las estructuras musicales detalladas en el modelo GMT (A generative theory of tonal music) de Lerdahl and Jackendoff. Representan el caso como un hecho Prolog con la siguiente forma: case_node(Case_Name. 3. Consequents). Así por ejemplo. Atributes. En él se detalla un análisis musical estructural y exhaustivo en el cual se realiza una segmentación jerárquica de la música en motivos. Cada análisis se representa como un caso. previamente realizados por expertos. Grilo. Macedo y Cardoso: SICOM Presentan una solución basada en análisis musical. de donde se extraerá la información posteriormente en el ciclo CBR. 5 . frases y secciones. Antecedents. temas.3. Así. Constraints. de manera que las nuevas soluciones se obtienen transformando y extrapolando el conocimiento derivado de los análisis musicales. en SICOM cada una de estas estructuras en forma de árbol junto con las relaciones horizontales entre componentes constituyen un caso.Michael Chan adapta el algoritmo diseñado para EMI. Pereira.

Incubación: Se corresponde con la fase CBR de recuperación. - Verificación: Una vez construida por completo la nueva estructura comenzaría la fase de verificación. porteriores) en tiempo. SICOM primeramente ordena la lista de nodos en orden descendente de similitud. 6 . al. Dividen el proceso de composición en cuatro fases (de acuerdo con el modelo de Wallas): . Gran parte del dinamismo presente en la representación propuesta se deriva del hecho de que un caso también pueda ser considerado como un plan (modelo de Wallas para sistemas creativos).Preparación: Se cargan los casos en memoria y se define el problema a resolver como un nuevo caso (case_node). para posteriormente invertir el primer 40% colocándolo (invertido) al final. cuya tarea será la de evaluar la nueva composición de acuerdo con el estilo en cuestión. ahora con el nuevo problema a resolver. Por supuesto son conscientes de que la política elegida es algo “ciega”. basan su criterio en la siguiente idea: Las soluciones menos similares podrían ser potencialmente las más creativas. . Como se describe en la fase de recuperación. SICOM utiliza una métrica de similitud con el objetivo de clasificar los nodos según algún criterio determinado. Así.Destacamos los atributos “antecedentes” y “consecuentes”. Actualmente esta realizada en su totalidad por un analista musical. etc). de forma que las relaciones temporales entre nodos interpretadas como relaciones de causalidad en el análisis. Como resultado se tiene una serie de nodos ordenados según un criterio determinado.Iluminación (adaptación): 1) Se intenta adaptar el primer nodo (si no es posible intenta con el segundo. . se trataran como sugerencias en la fase de composición (adaptación). aunque no obstante dicen que podría ser un buen punto de partida. De esta forma será posible relacionar cualesquiera dos nodos de cualquier forma. o previos (resp. 3) El proceso continua iterativamente en orden izquierda-derecha y arriba-abajo. 2) Se vuelve a la fase de preparación. quienes describirán las relaciones del nodo con sus nodos superiores (respectivamente inferiores) en jerarquía. Pereira et.

Capacidad creativa: La capacidad del sistema para generar nuevas ideas es bastante limitada. en concreto en la fase de análisis. y no de forma definitiva.3.No constituyen en general lo que sería considerado como pieza musical completa. Los autores lo justifican diciendo que habría que extender la base de casos. .No se generarán en ningún caso frases musicales correspondientes a instrumentos de percusión destinados a enriquecer y marcar el supuesto ritmo 7 . al. Críticas al sistema SICOM En este subapartado se presentan una serie de críticas por supuesto constructivas del trabajo desarrollado por Pereira et. Mi propuesta Por supuesto deberemos restringirnos a un subdominio muy reducido de lo que realmente se entendería como composición musical. Métrica de similitud melódica: La métrica usada no parece demasiado consistente. principalmente por la imposibilidad de crear nuevos casos al necesitarse para ello la intervención humana. lo que implicará antes o después falta de flexibilidad. • Proporcionar al sistema la capacidad de extender con otras técnicas algorítmicas las ideas abstractas provenientes de los casos (ej. No se tienen en cuenta por tanto aquellas consideraciones relacionadas con el “aspecto tímbrico” de una obra o pieza musical. Fase de aprendizaje: El sistema no tiene fase de aprendizaje. técnicas evolutivas).No se decide en ningún momento qué instrumentos son los que llevarían a cabo la interpretación de cada una de las voces melódicas que integran la frase musical generada. serían en realidad motivos o frases. Por lo tanto el sistema no contempla aquellas consideraciones relacionadas con la “forma” de una obra o pieza musical.4. con el objetivo de servir como proposiciones para posibles mejoras con vistas a la construcción de un sistema de composición musical basado en el modelo CBR. pero el problema en mi opinión seguiría existiendo. Habría que buscar algún tipo de métrica de la similitud melódica que sea capaz de capturar determinadas características musicales de un corte más abstracto. se establecerá que las “composiciones musicales” que el sistema podría producir verifican lo siguiente: . . Solo realizo críticas sobre este sistema por ser quizás el que más influencias pueda aportar para mi trabajo futuro: Se parte inicialmente de una serie de análisis hechos por expertos. de forma que se capturen aspectos de naturaleza creativa. En principio. - - 4. Se propone lo siguiente: • Abstraer ciertas propiedades de los casos para proporcionar las ideas básicas de la composición.. cuya duración no sobrepasará en ningún caso el minuto de duración salvo excepciones.

Transformador de tiempos: El tiempo en la música representa la componente horizontal. generar otra de manera que se enriquezca la partitura original. Generador de líneas melódicas alternativas (secundarias): Hay ocasiones en las que la música se compone de una serie de diferentes líneas melódicas tocadas simultáneamente que se van compenetrando. Armonizador de melodías: Dada una única melodía ya formada. Generador de armonías aisladas: Entendemos por armonía a la secuencia de acordes que subyace a la frase musical. Aunque en realidad se va describiendo una armonía en términos abstractos. por supuesto de acuerdo con algún criterio determinado. conectados de la forma que se indica en la figura. que no es menos importante que la componente vertical o melódica de ésta. que en particular podrían modificar o extender el subdominio que en principio hemos definido. Una posibilidad interesante sería implementar este módulo como un sistema CBR. ésta no existe explícitamente. encargado de decidir el orden y la forma en la que se van usando los demás módulos. Evaluador de calidad: ¿Cómo se podría determinar la calidad de una composición generada? Es importante que nuestro sistema sepa en un momento dado discriminar aquellas composiciones que tengan mayor calidad. ofreciéndose así posiblemente mayor riqueza creativa.de la composición musical. El módulo en cuestión. Arquitectura del sistema Se propone una arquitectura formada por una serie de módulos más o menos independientes. El módulo en cuestión generaría una secuencia de acordes partiendo o no de una serie de restricciones. A continuación se explica brevemente en qué consistirían: Generador de melodías aisladas: Decimos que una melodía es una secuencia de notas (que no se superponen). Eso sí. y el momento en el cual se considera que se ha terminado el proceso de composición. El tipo de organización sugiere la existencia de un módulo diferente al resto (unidad de control). dada una composición ya hecha realizar transformaciones de manera que solo se modifique la componente temporal de ésta. cualquier frase melódica generada podría ser interpretada como tal. Éste módulo es capaz de. Podría resultar interesante tener la posibilidad de. dada una línea melódica. este módulo generaría una posible secuencia de acordes (armonía) que sirviese como base armónica de la frase melódica. Cada uno de los módulos restantes llevaría a cabo una posible habilidad o técnica de composición musical. No obstante la arquitectura que proponemos (que a continuación se detalla) no constituye sino un núcleo en el cual podrían fácilmente ir integrándose nuevos módulos. de manera - - - - - 8 . generaría una línea melódica totalmente nueva partiendo de una serie de restricciones opcionales. siendo un acorde un conjunto de notas sonando simultáneamente.

tendrá en particular un importante componente de aprendizaje. teniéndose como casos todas las experiencias proporcionadas por el experto. De esta manera estaríamos convirtiendo el problema en realidad en un problema de estudio de la similitud melódica. Esta es una de las muchas razones por las que resulta tan importante encontrar un buen modelo para medir la similitud melódica.- que podamos inferir la calidad de una composición a partir de las evaluaciones que se dieron para otra composiciones previas. Por otra parte. el usuario experto sería sustituido por la unidad de control. que estaría implementada como un sistema CBR. 9 . Posteriormente. Cada uno de los módulos modeliza una actividad mental determinada y como tal. representados por casos. una vez realizada la fase de aprendizaje. sistemas híbridos RBR/CBR. representado por reglas. Unidad de control: En principio este módulo no existiría y un usuario experto del sistema sería el encargado de ir coordinando el trabajo de los diferentes módulos para finalmente componer una pieza musical completa. en el sentido de que una aplicación particular de la habilidad correspondiente dependerá de toda la experiencia acumulada relacionada con la misma habilidad. que se irá viendo incrementado según se van resolviendo nuevos subproblemas. Esta dualidad conocimiento inicial/aprendizaje sugiere que estudiemos la posibilidad de usar para algunos de los módulos. se complementa con el conocimiento concreto de resoluciones de subproblemas previos. donde el conocimiento general sobre el subdominio en cuestión. cada una de estas técnicas precisará de un conocimiento inicial previo en el subdominio correspondiente.

René van Oostrum. Josep Lluis Arcos. Composing music with case-based reasoning. 2002. Sabater. Francisco Pereira. 6. Frans Wiering. Michael Chan. Luis Macedo. Henkjan Honing. esta claro que es un terreno de complejidad máxima en el cual falta mucho por ofrecer. From composition to expresive performance.Similitud de melodías (Diferentes niveles de abstracción) . 10 . L. Melodic similiraty: Looking for a good abstraction level.Sistemas híbridos RBR/CBR . Panos Giannopoulos.Representación de armonías . Para cada una de ellas realizaremos un estudio de su situación general en cuanto al “estado del arte”. Arcos. Conclusiones y trabajo futuro Aún siendo éste un campo de intensa actividad desde un punto de vista de la investigación. 2. Rainer Typke. y aunque existan una gran cantidad de sistemas que resuelvan el problema. Maarten Grachten. Ramón López de Mantaras and Josep Lluis Arcos.5. proponiéndose además. Amílcar Cardoso. 5. Por tanto hemos optado por invertir el tiempo que sea necesario en estudiar qué sistemas de los existentes pueden resultar más interesentes y qué formalismos pueden aportar un mejor rendimiento. nuevas ideas para su posible resolución: . como casi en cualquier sistema creativo en general. Using transportation distances for meausuring melodic similarity. Tempo Express: A CBR approach to musical tempo transformations. J. Automated composer of style sensitive music. 2004. A computational model of melodic similarity based on multiple representations and self-organizing maps.Evaluación de la calidad musical Referencias 1. Josep Lluis Arcos. Petri Toiviainen and Tuomas Eerola. Maarten Grachten. Ramón López de Mantaras. o al menos se aproximen a ello. J. Carlos Grilo. 2002. de manera que no volvamos a caer en los mismos errores y limitaciones que nuestros antecesores. 9. López de Mántaras. Structure and interpretation of rhythm and timing. A continuación se enumeran una serie de consideraciones generales que será necesario resolver en un futuro antes de proceder a la construcción del sistema de composición musical automática. 8. 7. Using rules to support casebased reasoning for harmonizing melodies. 3. en su caso y con mayor o menor detalle.Representación de melodías . Ramón López de Mantaras. R. 4. AI and Music.