Download Proceedings Template
Document related concepts
Transcript
ARMONIZADOR DE MELODÍAS Raquel Aparicio Morenilla Lorena Cuadrado Gutiérrez 100032840@alumnos.uc3m.es lcuadrad@ing.uc3m.es RESUMEN Este documento se encuentra emplazado en un contexto en el que se pretende diseñar un armonizador de melodías. En primer lugar se hablará de la relación existente entre música y matemáticas y los elementos que proporcionan unidad a una obra; después se hablará de problemas que puede tener una máquina para intentar modelar una “mente creadora”; finalmente, se describirá la aplicación implementada indicando las reglas consideradas y la forma en la que se ha resuelto y se mostrarán algunos ejemplos de ejecución. 1. INTRODUCCIÓN La armonía, en la terminología musical, es el arte de combinar varios sonidos simultáneamente, formando grupos de sonidos o acordes (tres o más sonidos ejecutados simultáneamente) que se suceden e interrelacionan de acuerdo a determinadas leyes o reglas, que dependen del sistema armónico elegido. Por lo tanto, armonizar una melodía consiste en obtener una serie acordes que combinen con la melodía dada según dichas leyes. Esta es la función del armonizador que describiremos a continuación. Antes de entrar en detalles particulares de nuestro programa consideramos necesario dar una idea de la relación entre la música y las matemáticas pues sin ella sería imposible cualquier tipo de programa musical “inteligente”, y, por supuesto, hacer un recorrido histórico por los trabajos más representativos, con sus diferentes enfoques. Una vez desarrollados estos temas, pasamos a explicar los objetivos propuestos al empezar y las decisiones y reglas aplicadas para lograrlos. Por último, es imprescindible explicar la manera en que se han programado dichas decisiones y reglas y dar ejemplos representativos de los resultados obtenidos. 2. MÚSICA Y MATEMÁTICAS La armonía forma parte de la música, y la música no es una ciencia exacta sino arte. Más concretamente, la música pertenece a las bellas artes, que son aquellas cuyo objetivo es expresar la belleza. Esto hace que nos planteemos la siguiente pregunta: ¿Qué es la belleza? Según la RAE, la belleza es la propiedad de las cosas que hace amarlas, infundiendo en nosotros deleite espiritual. Atendiendo a estas definiciones parece imposible modelar la música. Sin embargo, durante toda la historia de la música se ha encontrado cierto nexo entre la música y las matemáticas. 2.1 Números y belleza para los griegos Pitágoras describe un sistema de ideas que busca unificar los fenómenos del mundo físico y del mundo espiritual en términos de números, en particular, en términos de razones y proporciones de enteros. Se creía que, por ejemplo, las órbitas de los cuerpos celestiales que giraban alrededor de la Tierra producían sonidos que armonizaban entre sí dando lugar a un sonido bello al que nombraban “la música de las esferas”. Fue Pitágoras quien descubrió que existía una relación numérica entre tonos que sonaban “armónicos” y fue el primero en darse cuenta de que la música, siendo uno de los medios esenciales de comunicación y placer, podía ser medida por medio de razones de enteros. Sabemos que el sonido producido al tocar una cuerda depende de la longitud, grosor y tensión de la misma. Entendemos que cualquiera de estas variables afecta la frecuencia de vibración de la cuerda. Lo que Pitágoras descubrió es que al dividir la cuerda en ciertas proporciones era capaz de producir sonidos placenteros al oído. Eso era una maravillosa confirmación de su teoría: números y belleza eran uno. El mundo físico y el emocional podían ser descritos con números sencillos y existía una relación armónica entre todos los fenómenos perceptibles. Pitágoras encontró que al dividir una cuerda a la mitad producía un sonido que era una octava más agudo que el original; que cuando la razón era 2:3 se producía una quinta (la distancia de Do a Sol) y que otras razones sencillas producían sonidos agradables. La razón por la cual encontramos a estos intervalos más agradables que otros tiene que ver con el fenómeno físico armónico. Cuando una cuerda se rasga, no se produce un tono puro, sino que se producen una serie de “armónicos”. Estos armónicos son más agudos y mucho más suaves que el sonido de la cuerda (llamada “la fundamental”) y generalmente la gente no los escucha pero son los que hacen que los instrumentos musicales suenen diferentes entre sí. Ya que Do y Sol, a una distancia de quinta, comparten muchos de los mismos armónicos, estos sonidos se mezclan produciendo un resultado agradable. Pitágoras construyó una escala a partir de estas proporciones. En sus experimentos, descubrió tres intervalos que consideraba consonantes: la octava, la quinta y la cuarta.. Estos intervalos se definen como consonancia perfecta, ya que guardan una proporción simple y sencilla. El resto de intervalos se conocen como disonancias. El resto de intervalos se conocen como disonancias. Esta es la forma de explicar los intervalos hasta el Renacimiento. 2.2 Música y unidad La música podría definirse como el arte de ordenar y combinar los sonidos de manera que resulten “agradables” para la persona que los escucha. Pero, ¿qué diferencia, entonces, la música de otros sonidos agradables como el sonido de un riachuelo en el campo? Lo que los diferencia es la unidad. Hay muchas técnicas para dar unidad a una obra musical. La unidad hace que la obra se reconozca como un todo. Un ejemplo claro es la invención número 1 de Bach, en la que se pueden encontrar muy pocas notas que no estén relacionadas de alguna manera con el sujeto de la invención: sistema dotado de mente, probablemente también es posible crear un sistema que realice un tipo de pensamiento igual al de los humanos cuando componen música. En este caso tal sistema será realmente un compositor, y no un simulador de procedimientos composicionales. En la versión débil de la IA los problemas son superados de otra forma. Se busca crear sistemas artificiales que puedan simular actividades inteligentes, pero sin que se considere que tengan mente. Se dice simular ya que algunos sistemas artificiales de la IA débil buscan llegar a los mismos resultados que los humanos, pero por medio de procedimientos de naturaleza diferente. El objetivo no es generar una mente creativa, sino generar un sistema algorítmico que sea eficiente para la creación de músicas. En este caso se reconoce que humanos y máquinas no componen música de la misma manera, ni en términos mecánicos, ni en términos funcionales. Filósofos como John Searle (1990), por ejemplo, dirigen sus críticas principalmente a la versión fuerte de la IA. Las soluciones encontradas por la IA débil son satisfactorias desde un punto de vista pragmático, y tienen muchas aplicaciones en el mundo tecnológico actual. Pero, por otro lado, el hecho de que estos programas puedan incluso ser aprobados en el Test de Turing no es condición suficiente para que sean vistos como buenos modelos de la mente. Por esto la versión débil es mejor recibida, ya que propone atender determinados objetivos, pero no afirma que sus sistemas reproducen el funcionamiento de la mente humana. 3.1 Algoritmos En la IA un algoritmo se define como un conjunto de reglas o procesos finitos y predeterminados, con una o más etapas, que tiene como objetivo encontrar uno o más resultados. Son operaciones lógicas de carácter sintáctico que pueden transformar un input en un output deseado. Los algoritmos pueden ser aplicados de manera eficiente a innumerables áreas, como el área matemática o en música. 3. MODELO DE UNA MENTE CREATIVA EN COMPOSICIÓN MUSICAL Puede ser de gran interés estudiar cómo funciona la mente cuando se dedica al pensamiento musical, los procesos y tipos de pensamiento relacionados con actividades específicas en música (como la creación musical), y examinar si estos procedimientos mentales pueden ser simulados o existir de hecho en una máquina física. Según Searle (1990) hay dos formas básicas de IA: fuerte y débil. La versión fuerte busca crear sistemas computacionales que realicen (y no sólo simulen) actividades mentales, lo que significa, que tengan mente efectivamente. Si es posible crear un Por ejemplo, la Máquina de Turing, de la misma manera que otras producciones de la IA, es en sí misma un algoritmo que intenta explicar el funcionamiento de la mente. La mente funcionaría de manera algorítmica. Por consiguiente, el proceso de composición musical también sería necesariamente algorítmico. Así, la mente humana y la creación musical se resumirían a operaciones puramente sintácticas, sin ningún contenido semántico. Searle (1990), en su conocido ejemplo de la “habitación china”, enseña que sistemas como Máquinas de Turing u ordenadores seriales digitales del tipo Von Neumann presentan huecos significativos cuando tratan con el lenguaje natural. Como estos sistemas ejecutan solamente operaciones algorítmicas sintácticas, aunque sean aprobados en el Test de Turing, no comprenden el output que generan. Por lo tanto, no se puede creer que estas máquinas tengan cualquier tipo de comprensión de una conversación realizada en lenguaje natural, ya que no dominan el contenido semántico del lenguaje. En el caso de la música la cuestión es un tanto particular. Definir lo que es y cómo es generada la semántica en música es un problema muy controvertido. Compositores de gran importancia como Stravinski (1970) llegan a decir que la semántica sencillamente no existe, que no hay nada más allá de la sintaxis. Si se adopta la idea de que en música sólo existe la dimensión sintáctica, y que las reglas sintácticas pueden ser formalizadas, aún así sistemas construidos con base en la IA no son ni buenos compositores, ni buenos modelos de mente creativa. Quizá la dimensión semántica debiera ser considerada. Pero si se mantiene la posición de que no existe dimensión semántica en música, debe haber algo más allá de este dualismo semántico-sintáctico. 3.2 Música tonal El sistema tonal, que se consolidó a partir del barroco y continuó hasta el final del siglo XIX, con reflejos importantes hasta hoy, es lo que se puede llamar sistema musical consolidado. No es por azar que gran parte de las investigaciones que relacionan la composición musical con la ciencia cognitiva concebida dentro del cognitivismo clásico, principalmente dentro de la IA, trabajen sobre este sistema. Ser un sistema musical consolidado significa tener reglas codificadas y bien definidas, las cuales son aplicadas a materiales musicales conocidos y también codificados. Estas condiciones son importantes para que un sistema composicional pueda ser reproducido por algoritmos. Así, los discursos musicales resultantes pueden ser comparados con paradigmas formales y estéticos también consolidados, de modo que la eficiencia del algoritmo puede ser evaluada. Sin embargo, es más difícil concebir un algoritmo para producir obras que pertenezcan a sistemas musicales no consolidados. Principalmente aquellos que no operan con una materia sonora que pueda ser fácilmente transformada en representaciones simbólicas, y cuyas reglas sintácticas son difíciles de ser formalizadas. La música concreta, por ejemplo, adopta como punto de partida la selección de los materiales por la escucha. No hay aquí representaciones simbólicas. Las reglas que relacionan estos materiales son una abstracción a posteriori realizada también por la escucha, y tienen como punto de partida los propios materiales seleccionados. En esta situación, que no es una situación aislada en la música contemporánea pos1945, las reglas y los materiales musicales utilizados no existen a priori, como en la música tonal, lo que hace que sea prácticamente inviable la generación de un algoritmo por una IA concebida dentro del computacionalismo clásico. En el caso de que se afirme que la tendencia de los sistemas no consolidados es a consolidarse, se admite implícitamente que ambos poseen la misma naturaleza. Luego, basta que el algoritmo de la IA introduzca cierta indeterminación para poder reproducir los sistemas no consolidados. Pero en el caso de que se afirme que estos sistemas tienen naturalezas diferentes, la reproducción de sistemas no consolidados por intermedio de la IA estaría fuera del alcance. La idea de que el proceso creativo en música se resume a reglas sintácticas que son aplicadas a representaciones simbólicas tendría que ser revisada. 3.3 Reglas positivas y negativas La mayor parte de los algoritmos de la IA utilizan reglas que se pueden denominar reglas positivas. Estas reglas son denominadas positivas porque determinan lo que el sistema puede o debe hacer, y qué dirección debe tomar para resolver un problema. En realidad no existe una estrategia de elección por parte de la máquina. Como mucho se puede admitir que hay una estrategia de elección determinada por el programador cuando define las reglas del algoritmo. Si las estrategias de elección están definidas por el programador y la composición musical depende de ellas, es efectivamente el compositor-programador quien crea las condiciones de realización de las distintas versiones. Éstas son producidas de modo mecánico, no creativo, por el ordenador. Por otro lado, es conocido y probado por los músicos que difícilmente son encontradas muchas reglas positivas en los tratados de armonía y contrapunto tradicionales. Cuando se estudia armonía, por ejemplo, se aprende, la mayor parte de las veces, lo que no se debe hacer en determinados contextos, y no lo que se debe hacer. A estas reglas se las denomina reglas negativas, ya que crean un mapa de lo que debe ser evitado, sin que determinen un camino que deba ser efectivamente realizado. No basta, sin embargo, con obedecer a las reglas negativas para que se garantice que el resultado final tendrá un sentido musical. Al contrario, aunque el resultado es correcto teóricamente puede ocurrir que no sea musical. Es en la lógica, hasta ahora no sistematizada, de la búsqueda por nuevos caminos, la lógica que construye un camino que puede no estar basado en algo semántico - pero tampoco se reduce exclusivamente al campo sintáctico - donde está el pensamiento musical y creativo en música. Lo que puede existir además de la sintaxis, sin ser la semántica, es la diferencia significativa que establece el camino elegido con respecto al camino de otras obras, tanto contemporáneas como del pasado. La creación de nuevos caminos originales se conecta directamente con la alteración de los modos de escucha y entendimiento de las obras, ya que otros elementos relevantes al entendimiento musical pasan a estar en juego. Esta dimensión histórico-contextual hace que todo este proceso creativo sea mucho más complejo que sencillamente seguir reglas sintácticas que manipulan símbolos sin que tengan en cuenta el ambiente en que se insertan. Lo que existe además de la sintaxis y que no es semántico es este diálogo históricocontextual que la obra establece con otras obras, diálogo que es relevante para la creación y para la escucha, y que no se hace presente en los modelos musicales de IA. Considerándose que este diálogo es fundamental, las soluciones propuestas por la IA tienen poca probabilidad de éxito en la simulación o realización efectiva de una mente musical creativa tal como la humana. 3.4 Relaciones arbitrarias Un modo de hacer que los algoritmos concebidos dentro de la IA puedan presentar resultados diversificados, para romper con la homogeneidad de sus soluciones (homogeneidad que resulta de la utilización de reglas positivas), es por medio de la introducción de variables que sean sensibles a parámetros externos al propio algoritmo. Así, en vez de utilizarse un generador de números aleatorios para que se cree esta variación, células sensibles a movimientos de personas en una sala, por ejemplo, pueden generar valores que sustituyan los números generados al azar. Este tipo de recurso es muy frecuente en instalaciones sonoras. Además de la interactividad evidente en estos casos, uno de los aspectos más interesantes a ser considerado es que los valores generados por las células obedecen a una determinada lógica (que puede ser la lógica del movimiento de las personas en el ambiente), y algo de esta lógica se puede reflejar dentro de la obra. Sin embargo, la asociación entre los números generados por las células y el resultado sonoro es arbitraria. El proyecto Roboser, creado por Manzolli y Vershure, es un ejemplo. Roboser es un robot cuya arquitectura computacional es de redes neuronales. Es sensible a la luz y a los obstáculos. La regla general es que el robot es atraído por la luz y a la vez debe evitar los obstáculos. Las informaciones de su movimiento en el entorno son llevadas al algoritmo de composición musical llamado CurvaSom (Manzolli, Gonzalez y Vershure 2000), que efectivamente produce el resultado sonoro. Es el movimiento del robot en su entorno el que determina el desarrollo de la composición musical resultante. Sin embargo, la conexión entre el movimiento del robot y los parámetros musicales que altera es arbitraria. Y este punto es importante, ya que justamente por su arbitrariedad es por lo que el compositor sigue siendo el ser humano. La asociación entre un parámetro de movimiento a otro de duración, por ejemplo, ya es una elección estética, aunque el resultado final sea indeterminado. De la misma manera, en diversas obras de John Cage, él sigue siendo el compositor, por más indeterminadas que sean sus indicaciones. La elección es hecha por el programador, por eso no se puede considerar que el Roboser sea un compositor. Además él no posee ni un feedback auditivo, ni control sobre el resultado sonoro. Roboser es, como mucho, un intérprete mecánico. 4. IA Y MÚSICA En las últimas tres décadas se han desarrollado sistemas musicales expertos capaces de realizar tareas tan complejas como componer sonatas en la tradición clásica, o aprender (mediante redes neuronales) características particulares de uno u otro estilo. El primer trabajo conocido en esta área es debido a Hiller and Isaacson en 1958. Basado en el modelo de generación y prueba, el sistema genera notas pseudoaleatoriamente usando cadenas de Markov, de forma que solo se mantienen aquellas que pasen una serie de pruebas basadas en técnicas heurísticas; si ninguna de las notas satisface la prueba se procedería con un simple backtracking para continuar la composición desde un punto anterior. Por supuesto Hiller and Isaacson excluyen todo lo relacionado con la expresividad y el contenido emocional de la música; 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. 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. Ha 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. No obstante no todos los trabajos de la época estaban basados en modelos de Markov, 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). Propone un sistema basado en reglas que describen como deben unirse las notas para producir melodías de cierto sentido musical. La parte interesante reside en la existencia de una serie de reglas especiales, denominadas reglas de aplicabilidad que determinan bajo qué condiciones y en qué momento debe aplicarse cada una de las reglas generativas, teniendo en cuenta para ello los pesos asociados con cada una de ellas. Esto constituye el primer ejemplo claro de uso de metaconocimiento en este contexto. Simon and Sumner, pioneros en inteligencia artificial, describen un lenguaje formal para representar la música y sus patrones; y diseñan además un método inductivo para identificar patrones más o menos implícitos en obras musicales. A partir de ello, y encabezados por el trabajo de Lerdahl and Jackendoff (1983), surgirán toda una familia de modelos basados en gramáticas generativas, que hoy en día siguen teniendo bastante relevancia en el modelado de sistemas relacionados con la música. Son muchos los formalismos que se han ido utilizando a lo largo de la corta vida de este tipo de sistemas. 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. Cada uno de los agentes estaría especializado en una determinada habilidad o técnica, teniéndose a su vez agentes de orden superior coordinando el funcionamiento global. Bharucha (1993) usa redes neuronales para aprender armonía musical. Feulner (1993) se enfrenta al problema usando una combinación de técnicas de satisfacción de restricciones y redes neuronales. Sabater, Arcos y López de Mántaras proponen un sistema de armonización musical basado en CBR y asistido por reglas. 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”. El sistema intenta armonizar una melodía dada, primeramente buscando casos similares, y cuando no se encuentre ninguno aplicando las reglas generales de armonización. 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. Otra aproximación basada en el modelo CBR es la propuesta por Pereira, Grilo, Macedo y Cardoso. Probablemente el trabajo más reconocido en esta área es el propuesto por David COPE (1987-1990, EMI project). El sistema genera composiciones emulando el estilo de determinados compositores clásicos. Ha generado composiciones interesantes en los estilos de Cope, Mozart, Palestrina, Bach, Chopin, Bartok, etc. Cabe destacar que el sistema es basado en Corpus en lugar de basado en reglas, y de esta forma extrae el conocimiento de composiciones ya hechas en lugar de utilizar reglas obtenidas a partir de éstas; al igual que pasa en las aproximaciones CBR. Las características de la melodía deben ser: − Todas sus notas pertenecerán a la misma tonalidad, que además será mayor (no se realizarán modulaciones ni se podrán usar acordes de otras tonalidades). − La primera nota de la melodía será la tónica de la tonalidad en la que se desee armonizar dicha melodía. − La penúltima nota de la melodía será la sensible de la tonalidad y, por tanto, la última nota de la melodía deberá ser la tónica. 4.1 David Cope´s EMI Project El sistema analiza partituras existentes buscando patrones musicales recurrentes llamados signaturas, que, posteriormente, son recombinados formando nuevas composiciones de acuerdo con el estilo del compositor correspondiente. El algoritmo principal está basado en cuatro fases: análisis, identificaciónd e patrones, deconstrucción (dividir la partitura en pequeños segmentos) y reconstrucción. Para componer los motivos musicales entre signaturas se buscan restricciones o propiedades existentes en obras del mismo compositor. 4.2 Michael Chan’s ACCSM Su propuesta fue inspirada en los trabajos de David Cope por un lado, y de Lerdahl y Jackendoff por otro. El objetivo del sistema que propone, como en el caso anterior, es el de producir piezas musicales que imiten el estilo de ciertos compositores. Michael Chan mejora las fases de análisis y deconstrucción usando un modelo que realiza una segmentación jerárquica de la música en motivos, temas, frases y secciones. 4.3 Pereira, Grilo, Macedo y Cardoso Obtienen soluciones transformando y extrapolando el conocimiento derivado de los análisis musicales, previamente realizados por expertos. En este caso, el proceso de composición se divide en cuatro fases: preparación, incubación, iluminación y verificación. El problema es que este sistema tiene una capacidad bastante limitada de generar nuevas ideas. 5. IMPLEMENTACIÓN Como ya se ha indicado el objetivo del programa Armonizador es, dada una melodía, obtener una secuencia de acordes que cumplan una serie de reglas. Ahora bien consideramos que un desarrollo completo se sale de los objetivos de la asignatura de Inteligencia en Redes de Comunicaciones por lo que hemos considerado una serie de simplificaciones en los tres puntos básicos: en las melodías a armonizar, en las reglas a aplicar y en los acordes a elegir. Estas simplificaciones se detallan a continuación. Como ya se ha comentado anteriormente, en la armonía no se dice explícitamente cómo debe hacerse algo, sino que más bien se dice lo que no debe hacerse para conseguir determinados objetivos. Por ello, fue bastante encauzar este trabajo en un primer momento. En este trabajo no se pretende componer una obra musical completa. Lo que se pretende es implementar lo que podría considerarse un sencillo ejercicio de armonía: dada una melodía con determinadas características encontrar una secuencia de acordes para acompañarla. Si sólo utilizamos los acordes básicos pertenecientes a una tonalidad tenemos siete acordes posibles. Cada nota de una tonalidad pertenece a tres de estos acordes. Por tanto, para cada nota de la melodía sólo tendremos tres posibilidades a elegir. Para elegir los acordes las restricciones impuestas son: − Las funciones de dominante siempre resuelven en función de tónica. − No se utilizará el tercer grado, ya que no es muy frecuente y las condiciones en las que se emplea son muy especiales. − No se enlazarán más de dos acordes consecutivos cuyas fundamentales estén a distancia de segunda. − No se enlazarán más de dos acordes consecutivos cuyas fundamentales estén a distancia de tercera. − El primer acorde será siempre el primer grado. − Los dos últimos acordes serán siempre V-I (cadencia perfecta). Mientras se cumplan estas condiciones se permitirá que la elección del camino a seguir sea aleatoria entre el conjunto de posibilidades. De acuerdo a las restricciones impuestas anteriormente, lo que tenemos es un problema en el que partiendo de un estado inicial (primer grado) debemos llegar al estado final (primer grado) obligando a que el penúltimo estado sea fijo (quinto grado) pasando por una serie de estados que cumplan determinadas condiciones. Para implementar esto, una de las opciones que habríamos tenido sería hacer una búsqueda en anchura , ya que el problema tiene múltiples soluciones, y elegir uno de los caminos encontrados. Sin embargo, lo que hacemos es algo parecido a una búsqueda en profundidad pero sin llegar a crear el árbol completo por dos motivos principales: para ahorrar memoria y porque no lo consideramos necesario sino incluso menos eficiente para la resolución de nuestro problema particular. Lo que hace el programa es calcular los posibles acordes para cada nota de la melodía y almacenarlos en una matriz. Posteriormente va recorriendo las columnas de dicha matriz y eligiendo un acorde para cada nota en base a unas reglas. Cada vez que se elige un acorde, se crea su nodo correspondiente y se enlaza con el anterior nodo. Si se llega a una columna en la que no se puede avanzar, retrocedemos sobre los nodos creados hasta un nodo en el que haya otro acorde posible, eliminando los nodos no válidos, por simplicidad. Si llegamos a la última nota de la melodía, no continuamos desarrollando el árbol pues tomamos la secuencia obtenida como solución. Una vez elegidos los acordes, se procederá a repartir las notas de los acordes entre las voces. Para ello las restricciones que se tendrán en cuenta son: − Los acordes nunca podrán estar en segunda inversión. − La sensible siempre resuelve en tónica. − Se evitarán dentro de lo posible las quintas y octavas paralelas. − A ser posible, en el bajo no habrá notas consecutivas iguales. 0.5 por la distancia en semitonos que tengan a do. En la siguiente línea se muestra la melodía transportada a Do M. También se muestra la matriz que contiene los acordes a los que puede pertenecer cada nota y la forma en la que se va creando la secuencia de acordes. Finalmente se muestra una matriz en la que se pueden ver las notas asignadas a cada voz. Esta matriz final es la solución del ejercicio. 6.1 Ejemplo 1: Do M Un aspecto importante de la implementación es que para poder componer en diferentes tonalidades, se transportan las melodías a Do M y es entonces cuando se armoniza. Hacer esto es posible porque la diferencia entre las distintas tonalidades del modo mayor es la tónica a partir de la que se construye la escala mientras que las distancias relativas entre las notas se mantienen. Una vez estén asignadas las notas a cada voz se vuelve a transportar todas las notas a la tonalidad original. 6. EJEMPLOS En las figuras, se muestran algunos ejemplos de ejecución del programa en distintas tonalidades. En los ejemplos se puede ver en primer lugar en la línea de ejecución la melodía introducida donde cada grupo de tres caracteres se corresponde con una nota: − El primer carácter es la nota de la melodía: − C: do. − D: re. − E: mi. − F: fa − G: sol. − A: la. − H: si. − El segundo carácter es la escala a la que pertenece dicha nota. − El tercer carácter es la alteración de la nota. Las posibles alteraciones son: − N: nota natural, es decir, sin ninguna alteración. − #: sostenido, es decir, la nota alterada un semitono ascendente. − b: bemol, es decir, la nota alterada un semitono descendente. Después se puede ver la melodía pasada a números de forma que el do empieza en el cero y el resto de notas se obtienen sumando Figura 1. Ejemplo de ejecución del programa para una melodía en Do M 6.2 Ejemplo 2: Re M 6.4 Ejemplo 4: Melodía de mayor longitud Figura 2. Ejemplo de ejecución del programa para una melodía en Re M 6.3 Ejemplo 3: Melodía sin solución Figura 3. Ejemplo de una melodía para la que no hay una solución posible con las reglas impuestas. Figura 4. Ejemplo de una melodía de mayor longitud que las anteriores 7. CONCLUSIONES Como se ha visto a lo largo de este documento, la inteligencia artificial está lejos de poder hacer creaciones artísticas, ya que una máquina se guía por reglas y las reglas no hacen al arte. El objetivo de este trabajo no ha sido crear una obra de música compleja sino realizar un sencillo ejercicio de composición. Para poder componer una obra completa habría que incluir muchos otros componentes como forma, relaciones con otras tonalidades, etc. que harían que la complejidad del trabajo se saliera de los objetivos de esta asignatura. 8. REFERENCES [1] http://es.wikipedia.org [2] Apuntes de armonía e historia de la música. [3] www.elementos.buap.mx/num44/htm/21.htm [4] www.pedagogica.edu.co/storage/ted/articulos/ted13_12arti. pdf [5] cogprints.org/2860/01/LFO_&_ZAMPRA_2002.pdf