Download Proceedings Template

Document related concepts

Composición algorítmica wikipedia , lookup

Armonía wikipedia , lookup

Acorde wikipedia , lookup

Contrapunto wikipedia , lookup

Grado musical wikipedia , lookup

Transcript
ARMONIZADOR DE MELODÍAS
Raquel Aparicio Morenilla
Lorena Cuadrado Gutiérrez
[email protected]
[email protected]
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