Download Composición Musical a Través del Uso de Algoritmos Genéticos

Document related concepts

Anacrusa wikipedia , lookup

Silencio (música) wikipedia , lookup

Becuadro wikipedia , lookup

Bemol wikipedia , lookup

Composición algorítmica wikipedia , lookup

Transcript
COMPOSICIÓN MUSICAL A TRAVÉS DEL USO
DE ALGORITMOS GENÉTICOS
Tesista: Ezequiel Moldaver
Directores: M. Ing. Hernán Merlino y
M. Ing. Enrique Fernández
Hoja 1/85
Índice de Contenidos
1) Introducción.....................................................................................................................................5
2) Objetivos..........................................................................................................................................6
3) Problema a resolver..........................................................................................................................7
4) Definición de soluciones a los problemas planteados......................................................................9
5) Estado de la cuestión......................................................................................................................10
5.1) Algoritmos Genéticos.............................................................................................................10
5.2) Redes Neuronales...................................................................................................................11
5.3) Composición musical.............................................................................................................11
5.3.1) Criterio de composición musical....................................................................................11
5.4) Trabajos Realizados................................................................................................................12
6) Desarrollo de la solución...............................................................................................................13
6.1) Armado de la Red Neuronal...................................................................................................20
6.2) Arquitectura del sistema.........................................................................................................23
7) Validación de la solución................................................................................................................32
7.1) A través de penalizaciones.....................................................................................................32
7.2) A través del aprendizaje de gustos musicales........................................................................33
8) Plan de trabajo................................................................................................................................34
9) Conclusiones..................................................................................................................................35
10) Referencias...................................................................................................................................36
ANEXOS............................................................................................................................................40
Anexo I: Manual de Usuario [47].......................................................................................................41
TuxGuitar............................................................................................................................................41
Los Primeros Pasos...................................................................................................................41
Las barras de herramientas........................................................................................................43
Anexo II: Ejemplos de Cruza y Mutación..........................................................................................49
Cruza..............................................................................................................................................49
Mutación........................................................................................................................................50
Anexo III: Conceptos Musicales [48].................................................................................................52
Lectura Musical.............................................................................................................................52
Las claves..................................................................................................................................52
Nombre de las notas..................................................................................................................53
Hoja 2/85
La clave de sol...........................................................................................................................53
Las líneas adicionales................................................................................................................53
La clave de fa............................................................................................................................53
Memorización de notas.............................................................................................................54
Uso combinado de clave de sol y fa..........................................................................................54
La notación rítmica...................................................................................................................55
Las figuras musicales................................................................................................................55
El compás..................................................................................................................................56
La indicación de compás...........................................................................................................56
Las líneas divisorias..................................................................................................................57
El puntillo..................................................................................................................................57
La ligadura................................................................................................................................58
Unidad de tiempo y compás......................................................................................................58
Los silencios..............................................................................................................................59
Compases simples y compuestos..............................................................................................60
Las alteraciones.........................................................................................................................61
Las armaduras de clave.............................................................................................................61
Las claves de do........................................................................................................................62
Intervalos.......................................................................................................................................62
Tonos y semitonos.........................................................................................................................63
Calificación o especie de un intervalo...........................................................................................64
Las segundas..................................................................................................................................65
Identificación de segundas........................................................................................................65
Las terceras....................................................................................................................................66
Identificación de terceras..........................................................................................................67
Las cuartas.....................................................................................................................................68
Identificación de cuartas...........................................................................................................68
Las quintas.....................................................................................................................................69
Identificación de quintas...........................................................................................................69
Las sextas.......................................................................................................................................70
Identificación de sextas.............................................................................................................70
Las séptimas...................................................................................................................................71
Identificación de séptimas.........................................................................................................71
Las octavas.....................................................................................................................................72
Hoja 3/85
Alteraciones...................................................................................................................................72
Consonancias y disonancias...........................................................................................................73
Enarmonía......................................................................................................................................73
Intervalos ascendentes y descendentes..........................................................................................73
Intervalos compuestos y simples...................................................................................................74
Intervalos melódicos y armónicos.................................................................................................74
Semitonos cromáticos y diatónicos................................................................................................74
Relación matemática de los intervalos...........................................................................................75
Acordes..........................................................................................................................................75
Las inversiones..............................................................................................................................75
Las triadas......................................................................................................................................76
Formación de triadas en las escalas mayores............................................................................77
Formación de triadas en las escalas menores............................................................................78
Triadas y grados de las escalas..................................................................................................78
Identificación de triadas............................................................................................................79
Otra forma de identificar las triadas..........................................................................................80
Los acordes de séptima..................................................................................................................81
Acordes de novena.........................................................................................................................82
Escalas...........................................................................................................................................83
La escala menor.........................................................................................................................84
Escalas relativas........................................................................................................................85
La tonalidad...................................................................................................................................85
Hoja 4/85
1) Introducción
La composición musical es el arte que tiene como objetivo la creación de obras musicales, es una
actividad humana que sirve para la expresión, comunicación y entendimiento entre personas. Se
podría dividir en 2 partes básicas: la melodía y la armonía. La primera, según la Real Academia
Española (RAE)[1] es “La parte de la música que trata del tiempo con relación al canto, y de la
elección y número de sones con que han de formarse en cada género de composición los períodos
musicales, ya sobre un tono dado, ya modulando para que el canto agrade al oído”, siendo la
segunda “la unión de tres o más sonidos simultáneos, entendiendo que el canto o melodía producido
por una sola voz es homónimo, con dos voces se producen intervalos armónicos y, a partir de 3
voces o sonidos simultáneos hablamos de armonía”.
Este trabajo se enfocará en el uso de los algoritmos genéticos (AAGG)[1], [2] con el fin de mezclar
armonías y melodías de forma que se genere una composición musical de buen sonido para el oído,
lo que significa que el contexto de cada nota respaldará la sonoridad de la misma provocando que
no se genere un efecto disonante de forma permanente, que se genere una disonancia momentánea
es permisible ya que es parte de la misma música generar tensión a través de pequeños intervalos
poco agradables al oído. Si bien los AAGG no fueron diseñados para imitar comportamiento
humano sino para resolver problemas u optimizar soluciones, pero se puede pensar en la
composición de la música como el problema de encontrar una canción que suene bien al tomar en
consideración el conjunto de todas las composiciones posibles como el espacio de soluciones, este
espacio no está estructurado, es decir, que las buenas soluciones pueden estar junto a las malas; al
cambiar algunas notas clave en una pieza, ésta puede llegar a ser menos interesante, aunque
parezcan parecidas. La idea principal es mezclar de forma aleatoria distintos temas musicales de
forma iterativa, en cada iteración se seleccionarán las mejores canciones para ser la base de la
iteración siguiente. Además, en base a una variable probabilística se realizará un cambio aleatorio
sobre uno de los compases de alguno de los temas, que también será elegido al azar. Luego de
varias repeticiones se obtendrán como resultado distintas piezas musicales que serán totalmente
distintas a las primeras, generando de esta forma, nueva música.
Con el fin priorizar la estructura de temas agradables o buscados por el usuario se utilizarán redes
neuronales (RRNN)[3], [4] que serán entrenadas para permitirle a éste un procesamiento automático
de composición basado en sus gustos e inclinaciones musicales. Las mismas serán entrenadas con
este fin para interpretar de todas las canciones candidatas en cada iteración y seleccionar aquellas
que, de acuerdo a la estructura generada por el entrenamiento, sean las que el usuario hubiese
Hoja 5/85
elegido.
El presente documento consta de las siguientes secciones:
2) Objetivos: definición y explicación del fin de este proyecto.
3) Problema a resolver: planteo de los distintos aspectos y situaciones que dieron origen a la
idea de esta tesis.
4) Definición de las soluciones al problema planteado: explicación de las formas y métodos
que se necesitan para resolver lo que se ha planteado en el punto 3.
5) Estado de la cuestión: se detallan conceptos sobre algoritmos genéticos, redes neuronales y
composición musical; además se especifica sobre los trabajos realizados en el área que
compete al tema de la tesis.
6) Desarrollo de la solución: se explica detalladamente la implementación que se hizo de la
solución explicada en el punto 3, se muestran los diagramas de clases y de paquetes
correspondientes y se explican los patrones utilizados.
7) Validación de la solución: consiste en la evaluación del sistema desarrollado para resolver
los problemas planteados. De esta evaluación se desprenderá si todo lo que se planteó
anteriormente fue resuelto de manera correcta, explicando los puntos fuertes y débiles a
través de lo que se pueda observar de manera empírica.
8) Conclusiones: se describen los aspectos que de la solución que decantan de los resultados
obtenidos en las pruebas de validación.
9) Plan de trabajo: se especifica el tiempo estimado para la realización de cada parte que
constituye trabajo detallado en el punto anterior.
10) Referencias: se mencionan las citas que se han utilizado para la preparación de este
documento.
2) Objetivos
El proyecto tiene diversos objetivos que se encuentran orientados a las distintas aristas que tiene la
composición musical. Cuando un músico o compositor musical se encuentra sin inspiración
permanente puede utilizar cómo método de ayuda para superar esta situación el compositor musical
a través de AAGG. El primer objetivo de todos los que se van a plantear es que las canciones
generadas por la herramienta sean agradables al oído, es decir, las partes disonantes deben ser
armónicas y deben ser una minoría en proporción a las que no. No tendría sentido que una persona
componga un tema que sea desagradable al escucharlo, si bien hay distintos géneros musicales y
existen personas que no les gustan unos y si otros, dentro de cada género existen ciertos
Hoja 6/85
comportamientos intrínsecos a él que hacen que éstos tengan una estructura más o menos definida y,
dentro de esta, serán agradables al oído de las personas a las que les gusta ese tipo de música. El
segundo objetivo es netamente legislativo, para proteger la propiedad intelectual de los
compositores. Las canciones generadas por el algoritmo de composición musical no deben ser
plagio de las partituras que les dieron origen. Se fijará un criterio el cuál debe cumplirse
estrictamente para no ser victimarios del delito de plagio, respetando de esta manera a toda la
comunidad artística de la cuál se forma parte. Se debe ser muy cuidadoso a la hora de producir un
nuevo contenido artístico ya que este puede incurrir en el delito de violación a la ley 11.723 de
Propiedad Intelectual de la República Argentina, por estos motivos se fija este objetivo
completamente orientado al proteccionismo y el respeto. Como tercer parte este programa debe
respetar los gustos musicales del usuario, se buscará que la respuesta del sistema sea una clara
consecuencia de la entrada que se le de al mismo, suponiendo de esta forma que el usuario quiera
usar como base generadora de su composición las partituras iniciales, manteniendo ciertas
características de los mismos, viéndose afectadas en parte, lo suficiente como para generar una
canción que cumpla con el segundo objetivo pero a la vez se cumpla con el que se esta definiendo
en este punto. Por último, el software debe generar una partitura con ciertos criterios definibles
por el compositor, todas las transformaciones que sufran las partituras de entrada al sistema deben
estar reguladas a gusto y capricho del usuario, pudiendo definir distintos tipos de restricciones o
reglas a través de las cuáles se premien o se castiguen ciertas mezclas o características musicales
que se puedan ir dando a lo largo del proceso iterativo de composición, cumpliendo así con las
metas que esté buscando el usuario en función de poder manejar algunas de las variables que se
encuentran libradas al azar dentro de la ejecución del programa.
3) Problema a resolver
Un músico muchas veces cae en mesetas de inspiración que limitan su producción musical, la
mayoría de las veces esto sucede luego de haber tenido una etapa muy fructífera en cuanto a
composición. Además, un compositor sufre de momentos efímeros de iluminación que muchas
veces terminan decantando en pequeñas piezas musicales que quedan condenadas, en general, al
olvido.
Por ello, se necesitaría implementar una solución que permita obtener un material en crudo para ser
escuchado, estudiado, analizado y, finalmente, modificado a criterio del músico con el fin de
servirle a éste de ayuda para los momentos de poca inspiración. Este material debe poder obtenerse
de manera flexible tanto de las pequeñas piezas que se componen como de canciones completas ya
Hoja 7/85
que no siempre se cuentan con las primeras.
Dado que en la música oriental existen 12 notas musicales y distintos tipos de combinación entre
ellas es difícil para un algoritmo saber cuando una pieza suena bien o no, además existen estudios
llamados de armonía que se encargan de este tipo de cuestión. Si bien existen las disonancias,
sonidos tensos o poco agradables al oído, éstas enriquecen la composición quitándole la monotonía
de seguir algún tipo de escala conocida para ese tipo de estructura de canción. Además, las mismas
pueden ser una introducción a un cambio de tonalidad haciendo de “pase” o puente entre una y otra.
Por último, queda señalar, que siempre la música queda reducida al criterio del compositor, lo que
busca, siente y quiere expresar, no existen reglas que descarten la disonancia, pero por oro lado a
nadie le gustaría una canción que en cada una de sus partes haya tensión o sea totalmente disonante.
Por una cuestión de respeto tanto a la comunidad artística como al público y de idoneidad, una
canción no debe ser un plagio de otra. No existe un criterio uniforme que determine cuando una
pieza musical ha copiado a otra, esto genera varias preguntas:
1. Con que tenga alguna mínima parte igual ya implica que un artista a copiado a otro?
2. Qué significa una mínima parte? Cuánto es?
3. Cómo se determina esto en los géneros más populares dónde las canciones son más
parecidas ente ellas?
4. Qué y cuánto tienen que tener de distinto para diferenciarse?
Se podrían escribir muchos interrogantes similares que nos den cuenta que este es un problema
complejo y difícil de solucionar. Tanto es así que en los juicios sobre plagio no se aplica otro
criterio que no sea el de os peritos musicales, no hay un método o regla exacta que nos permita
descubrir o determinar si se ha incurrido en una violación a la propiedad intelectual.
Cada artista tiene su estilo bien marcado, esta esta característica no puede ser simplificada a algunas
pocas formas y recursos musicales, es mucho más complejo que eso. Se sabe que la búsqueda de
una identidad musical le lleva varios años de trabajo y esfuerzo a cualquier compositor o músico de
cualquier género. Además, una vez que se encuentra el mismo, no se deben estancar en la
simplicidad de haber llegado a su (primera) meta, el camino recién empieza, ahora quedará la
profundización del concepto, las variaciones para no caer en la monotonía, la evolución de lo que se
ha encontrado, etc. es un trabajo arduo y continuo que no tiene un fin determinado.
Más allá del género o estilo musical que se este buscando respetar, generar o lograr, el compositor
puede estar interesado en que no estén presentes ciertas características musicales en función de sus
objetivos. Que el usuario pueda tratar de evitar una conjunción de notas disonantes, exceso de
silencio en los compases, muchas idas y vueltas en cuanto a los tiempos musicales a lo largo de la
canción y la cantidad de notas máximas y mínimas por compás es fundamental para poder llegar a
Hoja 8/85
las metas que un músico se propone cuando busca algún tipo de inspiración a partir de la cuál
desarrollar sus habilidades. Este problema también se puede plantear de la forma inversa, es decir,
que en vez de que se evite que se formen ciertas particularidades en las partituras generadas, se
desee fomentarlas.
4) Definición de soluciones a los problemas planteados
Con el fin de solucionar el primer problema planteado, poder generar temas musicales agradables al
oído, se ha pensado en que la mejor solución para no caer en la rigidez y la monotonía es usar el
criterio del usuario. Esto no significa que el mismo tendrá la ardua tarea de identificar en cada paso
de cada iteración si las canciones que se están generando son o no agradables al oído, por el
contrario, esto implicará que el compositor defina cuáles son las primeras soluciones al problema de
composición para el algoritmo genético y, de esta manera, ya estará dando por sentado las bases de
las posibles combinaciones entre partituras que se den en las distintas instancias de la evolución en
el proceso de composición automática. Si bien no se puede planear o imaginar todas las
combinaciones posible que pueden tener las piezas musicales entre ellas, se puede hacer un análisis
general sobre el problema a través del los tonos de las canciones. Hay tonos que pueden combinarse
con otros sin ser disonantes, otros que generan una disonancia de tensión que puede enriquecer
mucho el tema y otros que finalmente no podrían mezclarse porque no podría cumplir con la regla
de generar canciones agradables al oído. La cantidad de temas, su longitud, sus variaciones, sus
tonos, todas sus características y sus proporciones quedarían en manos del usuario en función de
establecer y sentar las bases para la composición.
En función de no caer una violación a la propiedad intelectual el algoritmo genético no sólo irá
mezclando los distintos compases de las diferentes canciones, sino que también, aplicará una
mutación o modificación de los compases de manera estadística que producirá una gran variación
de las canciones de las cuales partimos. De esta forma y, a partir de las iteraciones evolutivas que se
establezcan, se irá modificando paso a paso cada una de las piezas musicales que se encuentran
como parte del proceso de composición automática. Dado que estas variaciones no son
determinísticas en cuanto a cuándo se producen, sino que por el contrario es un proceso estocástico,
otra vez se verá involucrado el usuario para definir una probabilidad de ocurrencia de este
fenómeno.
En función de poder respetar los gustos o preferencias musicales de un usuario se definirá la
implementación de un sistema de premios y castigos para poder fomentar y desalentar ciertas
características o propiedades de acuerdo a lo que el usuario esté buscando. Si se desea componer un
Hoja 9/85
tema de rock se alentará que estén presentes todas las particularidades que posee el género, en
cambio, si se busca formar una pieza musical de jazz, se pedirá que las combinaciones que se
premien sean otras totalmente distintas. Por este motivo, se intentará generar una cantidad de reglas
genéricas que abarquen un gran espectro de posibilidades y, que de acuerdo a su combinación y
especificación le permitan al compositor poder expresarse con mínimas limitaciones para poder
llegar a su objetivo. Si bien el sistema de restricciones definido por las reglas que exprese el usuario
no es determinístico en función de lo buscado, si lo será en función de las canciones que mejor se
adapten a éstas.
El compositor puede estar buscando que su composición se encuentre sesgada por ciertos rasgos
que no son comunes a un género o estilo musical, para ello sería ideal poder contar con una
herramienta que con tan solo recibir partituras que posean estos rasgos extraiga su idea principal,
musicalmente hablando, con el fin de plasmarla en la composición final. Como un ejemplo de ello
se podría decir que se está queriendo llegar a componer una canción que sea un HIT, esto no es
propio de ninguna rama de la música. Para poder lograr la solución a este problema se puede
entrenar una red neuronal que procese el tipo de canción que el usuario especifique y obtenga un
modelo con tal de respetar el criterio definido musicalmente. Como contraste a esto, también se
solicitará al compositor que indique las partituras que están alejadas de los objetivos o no cumplan
con la idea musical que se desea encontrar.
5) Estado de la cuestión
5.1) Algoritmos Genéticos
Los AAGG[1], [2] son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y
optimización. Están basados de la teoría de la evolución de Darwin (1859)[5]. La idea básica del
mismo es generar una población inicial que evolucione a través del tiempo (proceso iterativo)
dónde en cada iteración sobreviven los individuos más aptos por sobre los más débiles. La
evolución de dichas soluciones hacia valores óptimos del problema depende en buena medida de
una adecuada codificación de las mismas.
Este tipo de solución algorítmica se emplea en problemas dónde el tiempo computacional en buscar
la resolución óptima es tan elevado que se hace inaceptable dada la naturaleza de la situación. Por lo
que se decide buscar una solución que esté acorde a las necesidades planteadas en un tiempo
significativamente menor. Para ello se busca una cantidad inicial de soluciones válidas que irán
evolucionando hasta llegar al nivel de eficiencia deseado. Este conjunto de individuos cruzará sus
Hoja 10/85
datos generando de esta manera un nuevo espectro de soluciones de las que sobrevivirán los que se
acerquen más a la resolución esperada. También existe un proceso de mutación probabilística que se
lleva a cabo muy rara vez, su objetivo es modificar un dato de un individuo y de esta forma
asegurarse que:

La convergencia del algoritmo no sea muy pronta.

La diversidad de la población interviniente sea lo suficientemente amplia como para
comparar la mayor cantidad de individuos.
5.2) Redes Neuronales
Las RRNN[3], [4] son un paradigma de aprendizaje y procesamiento automático inspirado en la forma
en que funciona el sistema nervioso de los animales. La misma consta en un red de N capas de
neuronas interconectadas, existe un estrato de entrada de datos y uno de salida (en el caso de las
redes de una capa será la misma). Existen varios tipos de RRNN, pero en este trabajo usaremos las
del tipo Backpropagation. Éstas redes se entrenan teniendo un set de datos de entrada y su
correspondiente set de datos de salida (esperados), cuando la red no da el resultado esperado se le
indica y ésta cambia la disposición interna con tal de obtener la salida esperada. De esta manera la
RN adquiere el conocimiento deseado para luego aplicarlo en las situaciones que se le invoquen.
5.3) Composición musical
La composición musical[1],
[6]
es un proceso creativo que pertenece a la naturaleza humana. La
misma expresa situaciones, vivencias, experiencias, sensaciones, sentimientos, etc. que pueden estar
acompañados de una letra que complemente el significado de cada compás, estrofa o parte musical
compuesta. Cada tipo de música distinta (música popular, música folclórica, música contemporánea,
música de cine, etc) trae aparejado un estilo, forma de componer, reglas propias de melodía y
armonía, instrumentos involucrados, etc. conocido, utilizado y estudiado por músicos.
Una arista de la composición musical que ha traído aparejadas muchas historias y peleas entre
compositores es el criterio que establece qué es una canción (musicalmente) nueva y qué es un
plagio a creaciones ya existentes. En este tema no hay un estándar que lo indique a nivel mundial,
pero la legislación de cada país establece sus propios criterios para tal fin.
5.3.1) Criterio de composición musical
El artículo 10 de la ley 11.723 de Propiedad Intelectual de la República Argentina define a lo que en
derecho se conoce como “derecho de cita” de la siguiente manera:
“Cualquiera puede publicar con fines didácticos o científicos, comentarios, críticas o notas referentes a las
Hoja 11/85
obras intelectuales, incluyendo hasta mil palabras de obras literarias o científicas u ocho compases en
las musicales y en todos los casos sólo las partes del texto indispensable a ese efecto.
Quedan comprendidas en esta disposición las obras docentes, de enseñanza, colecciones, antologías y
otras semejantes.
Cuando las inclusiones de obras ajenas sean la parte principal de la nueva obra, podrán los tribunales fijar
equitativamente en juicio sumario la cantidad proporcional que les corresponde a los titulares de los
derechos de las obras incluidas.”
5.4) Trabajos Realizados
Se han desarrollado varios estudios en base al estudio del arte computacional[7], [8], [9], [10], [11], [12], en
particular para este caso aplicaciones de Desarrollo de la soluciones RRNN y AAGG para la
composición musical[3], [4], [13] , [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25],
[26], [27], [28], [29], [30], [31], [32], [33], [34], pero todos de diferentes enfoques, análisis y
conclusiones; incluso hasta se han grabado discos y se ha promocionado este tipo de arte
tecnológico. Los enfoques más importantes son:
Gibson and Byrne[35] hicieron un trabajo basado en la armonización de melodías usando solamente
las notas tónicas subdominantes (la cuarta nota de una escala musical, Ej. en la escala de Do la
subdominante es el Fa) y dominantes (la quinta nota de una escala musical, Ej. en la escala de Do la
dominante es el Sol) de los acordes pertenecientes de las melodías estudiadas.
Jacob[36] presentó su trabajo de composición en el cuál los AAGG son usados para identificar y
diferenciar melodías aceptables para el oído humano, las mismas son tomadas de la salida que
produce un proceso de generación de música estocástico. A partir de esa elección comienza el
proceso de mejora y refinamiento propio del AG. McIntyre[37] realizó estudios de armonización de
4 partes usando una armonía barroca.
Uno de los proyectos más conocidos es GenJam (Biles)[38], [39], [40], [41], [42], un AG que genera solos de
jazz en base a una sucesión de acordes. Establece escalas para la improvisación de acuerdo al
acorde utilizado en el momento. Dada la progresión de los mismos se analiza y se establecen las
notas en base a las escalas musicales. Mientras la aplicación da una muestra en tiempo real de como
quedaría el solo, el usuario aprueba o rechaza la misma dando de esta manera un entrenamiento a
una red neuronal que luego tomará las decisiones por el usuario de forma automática.
Se ha hecho un trabajo similar (George Papadopoulos and Geraint Wiggins)[43] para establecer una
melodía dada la progresión de acordes que se recibe, en este caso se establece una función de
aptitud y no una red neuronal para elegir a los individuos más aptos. Esta investigación se focalizó
en intentar reproducir el comportamiento humano de la composición por lo que se utilizan una
función de aptitud basada en conocimiento psicológico musical. El trabajo abordado por esta tesis
Hoja 12/85
se diferenciará de los dos últimos mencionados ya que se enfocará en la composición musical desde
todos los puntos de vista y maneras de trabajar, no sólo se podrán componer nuevas melodías sino
que también nuevas progresiones de acordes. También se trabajará con distintos tipos de métodos
en la determinación de los individuos más aptos, lo que llevará a un entendimiento con el usuario
para adaptar los AAGG a su gusto. Finalmente se evaluará a la partitura generada aplicando el
criterio explicado en el punto 2.3 que determinará si ésta es realmente una nueva pieza musical de
forma genuina y auténtica o es un plagio de alguna de las partituras originales.
Una característica a destacar es que la forma en la que trabajaremos podremos utilizar como fuentes
de composición melodías o progresiones de acordes que pertenezcan a cualquier ritmo musical lo
que aporta una riqueza en el producto final que no se posee en los trabajos hasta ahora
mencionados.
Se comparará contra el software de composición musical llamado “Easy Music Composer”[45] y el
producido por esta tesis usando el criterio explicado en el punto 2.3.1 con el fin de mostrar el salto
cualitativo que esta produce.
Este software recibe como entrada una secuencia de acordes que luego es armonizada utilizando
armonías pertenecientes a su base de datos, generando de esta manera la composición musical
buscada. Se ha seleccionado este software para la comparación ya que ambos comparten el universo
de la composición automática, pero sabiendo que ambos lo encaran de distintas aproximaciones.
Se pretende demostrar que el método de aproximación a través de AAGG mejora la composición
automática de música en función de los criterios de propiedad intelectual del resultado generado.
6) Desarrollo de la solución
Como se puede apreciar en la sección 2 se ha trabajado arduamente con la música y los algoritmos
genéticos. Lo que no se ha hecho es tratar de componer nuevas melodías o temas musicales usando
este tipo de abstracción. Siempre las melodías estaban dadas y el algoritmo realizaba distintos
trabajos con diversos focos en cada uno de ellos. El objetivo de este trabajo es romper totalmente
con los esquemas de investigación y desarrollo que se han utilizado en el área, intentando
componer, tal como lo hace una persona, nuevas piezas musicales. Para ello se trabajará con una
cantidad inicial de partituras de temas ya existentes o recién compuestos que en los que se quiera
investigar, sobre ellos se considerará a cada compás como un cromosoma del individuo
interviniente y entre ellos se realizará la cruza. Luego de varias iteraciones cada uno de los temas
originales se verán totalmente modificados en estructura, tiempos, ritmos, sonoridades, etc.
generando de esta manera canciones nuevas. De la morfología, estructura y sonoridad de éstas
Hoja 13/85
puede nacer la inspiración que busca el compositor, o, directamente una nueva composición musical
de manera automática. Además, los AAGG, al depender del azar pueden producir muchas
soluciones diferentes, lo que es necesario en los ambientes creativos.
Como función de aptitud (para elegir las mejores canciones de cada iteración) se utilizarán tres
posibilidades distintas:
1. Un archivo de configuración en el cuál se especificarán ciertos parámetros asociados a las
combinaciones musicales buscadas penando las que no se produzcan en ese sentido.
2. El usuario podrá entrenar una red neuronal que permita discernir que melodías son las
buscadas y seguirán en pie dando origen a la población siguiente y que melodías pasarán al
olvido.
Se usado un software open source para utilizar su modelado, abstracción, gráfica, etc. para la
escritura de las partituras musicales a procesar. En el mismo también se diseñan, escriben y guardan
los archivos de datos correspondiente a la entrada de la aplicación a desarrollar. El archivo de salida
será de igual formato que los que ingresan, para ser reproducidos, nuevamente se apelará al editor
de partituras en cuestión. Por estar desarrollado en el lenguaje de programación Java, ser un
software OpenSource, su simpleza en cuanto a la usabilidad, su capacidad de abrir y guardar en los
formatos más conocidos de partituras, se eligió el TuxGuitar como editor de partituras.
En la tesis se tomará el criterio explicado en el punto 2.3.1 como parámetro para determinar si la
composición musical hecha a través de algoritmos genéticos genera canciones nuevas o no, es decir,
si las piezas resultantes contienen hasta 8 compases idénticos, sin importar el orden, a alguna de las
melodías que les dieron origen, se considerará que no a compuesto música, que se está plagiando;
en caso contrario diremos que el resultado es genuinamente original.
Se podrán mezclar cualquier instrumento excepto la batería ya que no sigue las mismas reglas de
escritura musical de una partitura que cualquiera de los otros instrumentos que existen. El formato
para escuchar las canciones resultantes será mediante el protocolo de comunicación MIDI.
Se desarrolló un sistema que en base a una entrada de partituras musicales genera, de acuerdo a la
función de aptitud elegida, una partitura sin violar la ley de propiedad intelectual con respecto a las
originales, que es la que mejor se adapta según lo seleccionado por la función de aptitud.
La aplicación toma la configuración para su funcionamiento a través de un XML. El mismo define
varios parámetros para el uso de AAGG de la siguiente manera:
<?xml version="1.0" encoding="UTF-8"?>
<songComposer>
<configuration evolutions="2000" mutationRate="10000" crossoverRate="0.6">
Hoja 14/85
El encabezado XML, la etiqueta “songComposer”, su hija“configuration” y sus atributos son
obligatorios. Los 3 atributos establecen los siguientes parámetros:
•
evolutions: número de iteraciones o evoluciones que va a tener el algoritmo.
•
mutationRate: número que especifica la probabilidad de que ocurra una mutación por cada
vez que se evalúa si una canción debe mutar, es decir que si el valor es 1000, ocurrirá (de
manera aproximada) una mutación por cada 500 iteraciones si tenemos dos canciones a
evaluar.
•
crossoverRate: número que representa a partir de que punto aproximado se hace el cruce de
partituras entre dos canciones elegidas al Desarrollo de la solucion azar cuando se cruzan
partituras en búsqueda de otras nuevas.
Luego de especificar estos parámetros generales se espera que se especifiquen 2 rutas, la primera
indica la carpeta que contiene los archivos de entrada o partituras iniciales, la segunda establece el
archivo de salida. Se especifican con los tags “inputPath” y “outputFile” como hijos de
“configuration”, un ejemplo sería:
<?xml version="1.0" encoding="UTF-8"?>
<songComposer>
<configuration evolutions="2000" mutationRate="10000" crossoverRate="0.6">
<inputPath>/home/ezequiel/SongComposer/songs/eleccion/</inputPath>
<outputFile>/home/ezequiel/SongComposer/songs/output/prueba.tg</outputFile>
Finalmente debe especificarse el tipo de función de aptitud abriendo la correspondiente etiqueta
llamada “fitnessFunction” e indicándolo en el atributo “type”. Los valores pueden ser “XML” para
usar el sistema de penalizaciones que se va a especificar con los hijos de este tag o “NeuralNet”
para usar RRNN.
El primer caso es un sistema de penalizaciones que se aplica cuando se dan ciertas condiciones.
Todas las canciones empiezan con un puntaje determinado y se le van restando las penalizaciones,
el individuo más apto será el que tenga mayor cantidad de puntos. Vale aclarar que para hacer el
camino inverso al de la penalización, es decir, la premiación de alguna condición o característica
musical presente, se puede penalizar con un valor menor a cero, por lo que la misma se
transformaría en una adición de puntos en lugar de una quita. Esta funcionalidad inversa puede ser
aplicada a cualquier tipo restricción.
Las 3 condiciones que hoy se contemplan son las siguientes:
Hoja 15/85
1. Restricción de notas: penaliza que en un mismo compás se encuentren dos notas
especificadas
(expresadas
en
notación
americana,
DO-RE-MI-FA-SOL-LA-SI
es
equivalente a C-D-E-F-G-A-B), se evalúan para todos los compases de la partitura. La
etiqueta que se debe usar para indicar esta restricción es “noteRestriction” y sus atributos
son:
•
penalty: número entero que indica la penalidad a aplicar.
•
firstNote: primer nota que debe estar presente para aplicar la penalidad.
•
secondNote: segunda nota que debe estar presente para aplicar la penalidad.
Ejemplo de uso:
<noteRestriction penalty="1" firstNote="C" secondNote="C#" />
2. Restricción de tiempos: penaliza que en una misma partitura se encuentren los dos tiempos
especificados (Ejemplo 2/4, 4/4, etc). El tag que especifica la restricción es
“tempoRestriction” y sus atributos son:
•
penalty: número entero que indica la penalidad a aplicar.
•
firstTempo: primer tiempo que debe estar presente para aplicar la penalidad.
•
secondTempo: segundo tiempo que debe estar presente para aplicar la penalidad.
Ejemplo de uso:
<tempoRestriction penalty="4" firstTempo="2/4" secondTempo="2/3" />
3. Restricción de cantidad de notas: penaliza la cantidad de notas, ya sea mínima o máxima,
que se encuentran en un compás a lo largo de toda la partitura. La etiqueta que configura la
restricción es para máximo de notas “maxNotesPerMeasureRestriction” y para mínimo
“minNotesPerMeasureRestriction” y sus atributos son:
•
penalty: número entero que indica la penalidad a aplicar.
•
NotesPerMeasure: cantidad de notas en la cuál se empieza a aplicar la restricción.
Ejemplo de uso:
<minNotesPerMeasureRestriction penalty="100" notesPerMeasure="3" />
Un ejemplo de uso con todas las restricciones es el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<songComposer>
<configuration evolutions="2000" mutationRate="10000" crossoverRate="0.6">
<inputPath>/home/ezequiel/SongComposer/songs/eleccion/</inputPath>
<outputFile>/home/ezequiel/SongComposer/songs/output/prueba.tg</outputFile>
<fitnessFunction type="XML">
<noteRestriction penalty="-1" firstNote="C" secondNote="F" />
Hoja 16/85
<noteRestriction penalty="1" firstNote="D" secondNote="C#" />
<noteRestriction penalty="3" firstNote="F" secondNote="F#" />
<noteRestriction penalty="2" firstNote="G" secondNote="F#" />
<tempoRestriction penalty="4" firstTempo="2/4" secondTempo="2/3" />
<maxNotesPerMeasureRestriction penalty="4" notesPerMeasure="7" />
<minNotesPerMeasureRestriction penalty="100" notesPerMeasure="3" />
</fitnessFunction>
</configuration>
</songComposer>
El segundo tipo de función de aptitud se establece a través de una red neuronal, puede ser una que
ya hallamos entrenado o se puede entrenar una nueva red. La misma es del tipo Backpropagation y
tiene 4 capas, una de entrada, dos ocultas y una de salida. La primer capa tiene la cantidad de
neuronas igual a la menor cantidad de compaces de las canciones con las cuáles se entrenó, la
segunda y la tercer capa se configuran con el XML de configuración, la última sólo tiene una
neurona que indica de 0 a 1 la preferencia de ese tema para continuar en la siguiente iteración del
algoritmo genético.
Para especificar los parámetros de configuración y de aprendizaje de la red neuronal se usa la
etiqueta “learningConfiguration” como hija de “fitnessFunction”. La misma tiene los siguientes
atributos:
•
trainingCicles: número que indica la cantidad de ciclos que va a usar la red para entrenarse
tratando de llegar a los valores esperados
•
neuronsHiddenLayer1: número que indica cuántas neuronas tiene la primera de las capas
ocultas.
•
neuronsHiddenLayer2: número que indica cuántas neuronas tiene la segunda capa oculta.
Ejemplo de uso:
<learningConfiguration trainingCicles="200000" neuronsHiddenLayer1="10"
neuronsHiddenLayer2="10">
Para que la red pueda ser entrenada hay que pasar la dirección a una carpeta que contenga las
partituras que representen los objetivos buscados y otra a una carpeta que contenga las canciones
que poseen propiedades que no nos interesan de un tema. Estos parámetros se especifican con tags
propios que serán hijos de “learningConfiguration”, los mismos son “pathTotrainingFolderGood” y
“pathTotrainingFolderBad” respectivamente. Luego de ser entrenada la red se guarda en disco para
que pueda ser utilizada más adelante, esto se establece con otra etiqueta hermana de las dos
indicadas anteriormente, la misma se llama “pathToSaveNeuralNet”.
Hoja 17/85
Un ejemplo de uso de esta configuración es:
<?xml version="1.0" encoding="UTF-8"?>
<songComposer>
<configuration evolutions="2000" mutationRate="10000" crossoverRate="0.6">
<inputPath>/home/ezequiel/SongComposer/songs/eleccion/</inputPath>
<outputFile>/home/ezequiel/SongComposer/songs/output/prueba.tg</outputFile>
<fitnessFunction type="NeuralNet">
<learningConfiguration trainingCicles="200000" neuronsHiddenLayer1="10"
neuronsHiddenLayer2="10"
<pathTotrainingFolderGood>/home/ezequiel/SongComposer/songs/C</pathTotrainingFol
derGood>
<pathTotrainingFolderBad>/home/ezequiel/SongComposer/songs/D</pathTotrainingFold
erBad>
</learningConfiguration>
</fitnessFunction>
</configuration>
</songComposer>
Para usar una red neuronal ya entrenada se debe especificar la ruta al archivo en disco, la misma se
especifica con el nombre “pathToLoadNeuralNet”. No se deben especificar los datos de
configuración de aprendizaje porque no corresponde al modelo que vamos a utilizar al cargar la red.
Un ejemplo de uso de esta configuración es:
<?xml version="1.0" encoding="UTF-8"?>
<songComposer>
<configuration evolutions="2000" mutationRate="10000" crossoverRate="0.6">
<inputPath>/home/ezequiel/SongComposer/songs/eleccion/</inputPath>
<outputFile>/home/ezequiel/SongComposer/songs/output/prueba.tg</outputFile>
<fitnessFunction type="NeuralNet">
<pathToLoadNeuralNet>/home/ezequiel/SongComposer/NN/red.nnet</pathToLoadNeuralNe
t>
</fitnessFunction>
</configuration>
</songComposer>
Hoja 18/85
La invocación del programa se hace de la siguiente manera, generando la salida mostrada a
continuación:
$ java -jar SongComposer.jar
SongComposer
- Modo de uso para procesar:
java -jar SongComposer.jar pathToConfigurationXMLFile
- Modo de uso para abrir el editor de partituras (TuxGuitar):
java -jar SongComposer.jar -tuxguitar
Esta manera de ejecución sin argumentos nos muestra los usos que la aplicación puede tener. El
primer ejemplo mostrado recibe la ruta al archivo XML de configuración cuya conformación y
variantes se explicó anteriormente. El segundo, se utiliza para abrir el editor de partituras usado
para este proyecto, el TuxGuitar 1.2.
Durante la ejecución de composición se muestran por salida estándar el número de evolución por el
cuál se esta atravesando y, ya sobre el final de la corrida, se muestra cuánto se tardó y qué compaces
son iguales a las canciones originales de las cuáles se partió. La información mencionada se muestra
de la siguiente forma:
Evolucion: 1997
Evolucion: 1998
Evolucion: 1999
Se guardo la mejor cancion
Compas 7 fittest igual compas 7 de Twist And Shout
Compas 20 fittest igual compas 20 de Twist And Shout
Compas 59 fittest igual compas 59 de La Bolsa
Compas 62 fittest igual compas 62 de La Bolsa
Compas 39 fittest igual compas 39 de Avalancha
Compas 40 fittest igual compas 40 de Avalancha
Compas 57 fittest igual compas 57 de El muelle de San Blas
Compas 62 fittest igual compas 62 de Oye Mi Amor
Compas 12 fittest igual compas 12 de Don't Look Back In Anger (Acoustic)
Compas 14 fittest igual compas 14 de Don't Look Back In Anger (Acoustic)
Compas 28 fittest igual compas 28 de Don't Look Back In Anger (Acoustic)
Compas 59 fittest igual compas 59 de Don't Look Back In Anger (Acoustic)
Compas 62 fittest igual compas 62 de Don't Look Back In Anger (Acoustic)
Hoja 19/85
Compas 53 fittest igual compas 53 de Angie
Compas 45 fittest igual compas 45 de Lucky
Compas 50 fittest igual compas 50 de Lucky
Compas 22 fittest igual compas 22 de Amigo
Compas 45 fittest igual compas 45 de Amigo
Compas 61 fittest igual compas 61 de Amigo
Se tardaron: 0hs 0m 11s
Esta información nos permite ver fácilmente si nuestro tema final incurre en la violación a la ley de
propiedad intelectual o no, es decir, que si la salida nos muestra que nuestro tema compuesto tiene
más de 8 compaces iguales a alguno de los temas que le dio origen estamos en infracción.
Una vez finalizada la ejecución se abre el editor de partituras para poder ver, evaluar y escuchar lo
que se ha generado.
6.1) Armado de la Red Neuronal
Para serializar los datos ha que tener en cuenta que en una partitura todos los datos que se pueden
leer se pueden asociar y combinar sin ninguna limitación, desde las notas propiamente dichas (es
“infinito” cuán aguda o grave es una nota, la única limitación aquí es el instrumento, cuántas teclas
tiene el piano, cuántos trastes la guitarra, el largo del violín o el chelo, etc), la cantidad de notas (en
un compás o que suenan en simultáneo), sus tiempos asociados (redonda, blanca, negra, semi
corchea, etc) hasta la cantidad de compaces. Dadas las características de estas variables se diseñó
una manera de serializar los datos que tenga en cuenta todos estos aspectos.
Se tuvieron que plantear ciertas limitaciones para establecer el universo en el cuál la aplicación se
va a manejar. Las mismas son:
•
Se determinó que habrá una relación unívoca entre neuronas de entrada y compaces de las
canciones, al ser un número variable entre todas ellas se fijó que se evaluarán solamente los
compaces de la canción que tenga menor cantidad de ellos, todos los compaces que superen
ese número no serán evaluados.
Ejemplo: Si tenemos 3 canciones: A, B y C que tienen respectivamente 50, 60 y 100
compaces solamente se tomarán en cuenta los primeros 50 generando una red neuronal con
ese número de neuronas en la primer capa.
•
Se fijó la nota más grave y la nota más aguda de acuerdo a un instrumento de referencia, en
este caso, la guitarra. Por lo que por su conformación la nota más grave es un Mi mayor
tocando la sexta cuerda (la más gruesa) sin presionar ningún traste, lo que comúnmente se
llama “al aire”. De la misma forma, por una limitación física del instrumento, se establece la
Hoja 20/85
nota más aguda que se puede producir, que en este caso, se logra tocando la 1 er cuerda (la
más fina) en el último traste, comúnmente, el número 29.
•
Por una cuestión de simplicidad a la hora de abordar el problema se decidió ignorar en la
serialización los efectos que una nota o un conjunto de notas pueda llegar a tener.
•
Dado que una partitura puede tener escrita todos los instrumentos y no es compatible
mezclarlos deliberadamente se toma en cuenta solamente el primer track de la canción, es
decir, que todos los tracks más allá del elegido para ser evaluado serán ignorados.
A partir de estas bases se estableció un número correspondiente a cada nota, para la más grave un 1,
para la siguiente un 2 y así sucesivamente hasta alcanzar el número máximo alcanzable por el
instrumento. En la práctica se observó que la red funcionaba mucho mejor con datos normalizados
por lo que finalmente la nota serializada es: N° nota / N° nota máxima. En cada compás se suman
todas las serializaciones de las notas generando la entrada de datos para la red. Cuando la nota sea
un silencio se tomará el valor cero para el mismo.
Usando esta configuración y forma de manejar los datos se tienen en cuenta la cantidad de notas
que se encuentran en un compás y sus valores intrínsecos. También se valora, de acuerdo a la escala
normal utilizada, las octavas de preferencia de las notas; no es lo mismo un Mi grave que uno
agudo, esto se produce al tener una distinta representación numérica como dato de entrada
serializado para el uso de la red neuronal. Los valores mas agudos tendrán un valor más cercano a
uno dado que se producen a medida que se avanza sobre el traste de la guitarra y los sonidos más
graves serán representados por números cercanos al 0. De forma menos ortodoxa también es tenido
en cuenta el tiempo de cada nota y el del compás en la modelización en cuestión, esto sucede
porque musicalmente cuando se define un tiempo para un compás o serie de compaces se limita el
tamaño del tiempo de las notas, si el tiempo de un compás es definido en 4/4 entran o 4 negras o 2
blancas o 1 redonda y si se lo define en 3/3 se pueden escribir o 3 negras o 1 blanca y una negra
pero no una redonda; entonces al sumar cada nota del compás habrá distintos valores medios por
compás de acuerdo a este tipo de característica.
La elección de la función de transferencia fue un paso importante para este proyecto, de acuerdo
con las variantes que había disponibles se eligieron las que podían resolver mejor este problema y,
empíricamente se hicieron distintas pruebas para determinar la mejor opción de todas. Las
posibilidades más importantes eran:
•
Lineal y = b * x : Es la función de transferencia más simple que existe, se transfiere a la
siguiente capa el valor de entrada aplicándole solamente una transformación lineal. Este tipo
de función se utiliza generalmente para transferir una entrada de datos a dos capas paralelas
Hoja 21/85
de procesamiento, este uso se muestra en el siguiente diagrama:
Figura 1: Diagrama de conexión del Linear Layer.
•
Biased y = x + biasn (biasn es el bias de la enésima neurona): Esta tipo de transferencia es
una extensión de la lineal porque aplica una transformación lineal pero a la vez difiere en
dos aspectos:
1. Al usar biases la transformación se va modificando durante la fase de entrenamiento.
2. No tiene un multiplicador como parte de la función.
•
−x
y=1/(1+ e ) : Aplica una transferencia no lineal con un rango de datos que va
Sigmoid
desde cero a uno, es un buena función para ser utilizada en las capas ocultas de una red
neuronal.
•
TanH
x
−x
x
−x
y=(e −e )/(e + e ) : Es similar a la Sigmoid, sólo que se aplica la tangente
hiperbólica y por lo tanto la salida quedará limitada en un rango comprendido entre menos
uno y uno.
c
•
x
x
SoftMax y=e / ∑ e : Como la Sigmoid tiene una salida que cubre el rango entre cero y
j=1
uno, pero la gran diferencia es que la suma de todas las neuronas de la misma capa suman 1.
Gracias a esta característica la salida de esta función de transferencia puede ser interpretada
como probabilística. Su uso más frecuente es en redes neuronales supervisadas para la
clasificación entre C elementos.
•
Logarítmica
y=log(1+ x)si x≥1
: En este caso el resultado de la función va de cero a
y=log(1−x ) si x <1
infinito. Esta relación nos permite evitar la saturación de procesar muchos elementos entre
cero y uno, dónde la Sigmoid y la TanH tienen una curva de respuesta de muy poca
pendiente.
•
Seno
y=sin ( x) : Este tipo de transferencia suele utilizarse para problemas que poseen
cierta periodicidad en su estructura. El rango de salida es de menos a uno.
La función de transferencia que se utilizó para resolver el aprendizaje sobre la composición musical
buscada fue la Sigmoid.
Hoja 22/85
La estructura interna de la red depende de la cantidad de información que debe aprender, por lo que
para hacerla más flexible se pueden configurar el número de neuronas de las 2 capas ocultas de la
misma. Empíricamente se comprobó que para “memorizar” los 40 primeros compaces de entre 25 y
30 canciones se necesitan 10 neuronas en cada una de las capas.
La conformación de la cantidad de neuronas por capa de la red siempre sigue el siguiente patrón:
1. Capa de entrada de datos: La mínima cantidad de compaces que posean de los temas de
aprendizaje.
2. Primer capa oculta: Se configura mediante el XML.
3. Segunda capa oculta: Se configura mediante el XML.
4. Capa de salida de datos: La última capa se resume a la probabilidad de que ese tema sea el
buscado. Si el número es cercano a uno estamos en presencia de patrones musicales de
agrado para el usuario, para el caso contrario el límite es el cero.
La morfología de la red neuronal depende del entrenamiento que se le dé a la misma (dado que en
ese momento se establecerá la cantidad de neuronas de entrada, es decir, la cantidad de compaces
que se tomarán en cuenta para la evaluación), la configuración que se escriba en el archivo XML
para las capas ocultas y, finalmente, la capa de salida de datos que revelará la probabilidad de que
ese tema contenga la idea musical que se está buscando. Esta flexibilidad que se posee permite al
usuario afrontar problemas de menor y mayor embergadura en cuanto se refiere a la composición
musical buscada solamente cambiando el archivo de configuración que recibe la aplicación. Si se
desea trabajar con estilos de música cuyos temas en general son de duración extendida sólo se debe
agregar más neuronas en las capas ocultas ya que para la capa de entrada se identifica
automáticamente la cantidad de neuronas necesarias para llevar a cabo su procesamiento; en
cambio, si se desea trabajar con un universo de temas musicales cuya característica es tener una
corta duración sólo se debe disminuir el número de neuronas de las capas ocultas.
6.2) Arquitectura del sistema
La aplicación hace uso de tres frameworks, los mismos son:
1. JGAP[46] 3.4.4: Este framework esta íntegramente desarrollado en Java y se utiliza para
modelizar algoritmos genéticos. A través de la implementación de los conceptos de herencia
y sobrecarga de métodos se le indica qué es un individuo, qué es un gen, cuál es la función
de aptitud y cómo se realiza el entrecruzamiento y la mutación de los mismos. Una vez
indicado esto se le establecen los parámetros generales del algoritmo, cómo el número de
evoluciones, la probabilidad de las mutaciones, etc. y, finalmente, se le especifican las
soluciones iniciales. Cuando el algoritmo ha llegado a su fin se puede obtener el resultado
Hoja 23/85
del mismo.
Para la realización de esta tesis no sólo hubo que seguir las indicaciones anteriormente
señaladas sino que también se tuvo que investigar, extender y modificar distintos conceptos
estándar de la configuración convencional del framework.
2. Joone 2.0.0: Esta herramienta de trabajo se utiliza para el diseño, modelización, desarrollo y
uso de redes neuronales de distintos tipos. Para poder dominar todos sus aspectos, el
framework trae un manual de referencia que permite, a través de explicaciones y ejemplos,
entender para qué sirve cada función de transferencia, las conexiones y cómo se deben
programar las distintas funcionalidades de acuerdo a lo que esté buscando el usuario.
Programando el diseño morfológico y funcional de la red se obtiene el primer paso para su
uso, se le debe indicar cuántas capas va a tener, el número de neuronas por capa, el tipo de
conexión entre las neuronas de una capa con la siguiente, la función de transferencia y las
salidas esperadas tanto para los casos positivos como para los negativos.
Con el fin de poder reutilizar una red entrenada bajo ciertos aspectos y conceptos, se debió
implementar una forma de guardar la red en disco y su contraprestación de levantar ese
archivo y restaurar la red sin modificaciones.
3. TuxGuitar 1.2: Esta aplicación es un software autónomo para la escritura de partituras
musicales, no es un framework para ser utilizado como herramienta. Pero al ser de código
abierto y libre, se ha incluido como parte de la aplicación desarrollada utilizando la
modelización de todos los aspectos que tiene una partitura: compaces, notas, tiempos de las
notas, efectos, tiempos de compaces, pistas, etc. Como no se contaba con documentación
sobre cómo se debían utilizar los distintos conceptos del modelo programático se tuvo que
investigar profundamente el código fuente y, además, se tuvo que escribir un correo
electrónico a uno de los desarrolladores con el fin de evacuar algunas dudas que se tenían
sobre la implementación que habían realizado.
Se creó una estructura general de clases con el fin de permitir extenderlo fácilmente para añadir otro
tipo de función de aptitud y agregar más restricciones.
La primer capa de clases que representan la composición musical y el tipo de función de aptitud a
usar,. Existe una clase general SonComposer que implementa todo lo necesario y relativo a la
composición musical usando solamente algoritmos genéticos, luego de ella se extienden las
distintas clases que implementan las modificaciones necesarias para componer una canción en las
distintas posibilidades que hoy se ofrecen. Hay un clase abstracta y general para la utilización de
redes neuronales, luego de esta se derivan dos clases, cada una para un fin distinto. La clase
SongComposerNNTrained se utiliza para modelar todo lo necesario para entrenar una red neuronal
Hoja 24/85
con todos los parámetros que la aplicación deja introducir, posteriormente al entrenamiento se
procede a guardar los datos en la ruta establecida y finalmente se utilizará la red como función de
aptitud del algoritmo. El segundo caso, la clase SongComposerNNSaved, se instancia cuando se
desea utilizar una RRNN ya entrenada y, por lo tanto, la intención es cargar los datos del disco para
usarlos de la misma forma que el caso anterior.
Para obtener las instancias se usa un objeto de configuración al cuál se le pasa el XML de
configuración del software y éste a partir de la lectura e interpretación de los datos genera el objeto
deseado (o un error si hay problemas de configuración) devolviendo el objeto padre sin necesidad
de especificar a la capa de ejecución en qué modelo se correrá. Básicamente se implementó un
patrón de diseño llamado Factory.
La estructura definida anteriormente sin el objeto de configuración (no se muestra porque no tiene
ningún sentido) de se muestra en el siguiente diagrama:
Hoja 25/85
Hoja 26/85
Figura 2: Diagrama de clases de la configuración
Otro tema importante en el diseño del sistema es la capa que se ocupa de la función de aptitud
propiamente dicha. Las clases mostradas arriba ya se encargaron de generar las restricciones o la
red neuronal para ser usados en la etapa de evaluación dentro de cada iteración.
Para el uso de restricciones se provee un sistema fácilmente extensible en el caso de que surja la
necesidad de crear o generar nuevas restricciones de acuerdo a las necesidades del usuario. Existe
una clase abstracta llamada Restriction que sienta las bases para cualquier restricción que se desee
adicionar, posee además de los constructores un único método que aplica las penalizaciones o
premiaciones a una canción dada. Sobre esta clase base heredan otras dos clases que representan a
las restricciones de una y dos variables, ambas clases también abstractas. Las restricciones que
penalizan o premian (de acuerdo a la configuración que se les haya dado) que dos notas se
encuentren dentro de un mismo compás o que dos tiempos se mezclen en una misma partitura son
implementadas a partir de la clase que representa a las restricciones de dos variables, en cambio
para las restricciones que se aplican a una sola variable, como la cantidad mínima de notas que tiene
que poseer un compás o, como contraposición la cantidad máxima permitida heredan de una clase
general y abstracta que posee las características generales de ambas, ya que la lógica es la misma, la
única diferencia se encuentra en si la cantidad de notas que se encuentra en cada compás excede el
límite superior o inferior establecido.
Este sistema de restricciones se genera a través de un XML que se va leyendo y cada nodo de cada
restricción es pasado a cada una de ellas para que se generen. Se usa una clase, otra vez
implementando el patrón Factory, que se le pasa un nodo y devuelve una restricción. Estas se
acumulan en una lista que luego sera aplicada a la partitura.
En el caso de que se use a una red neuronal como función de aptitud se decidió tener un Singleton
con la misma y que el objeto que representa la función de aptitud obtenga la instancia para trabajar
e ir evaluando canción a canción los resultados que devuelve la red previamente entrenada de
acuerdo a los criterios y gustos que se expresan en las canciones que se usaron para tal fin.
La ejecución de la aplicación usando RRNN es mucho más costosa que usando unas simples
restricciones, esto se debe a varios motivos: el tiempo que lleva entrenar la red, que la algoritmia
que se usa para evaluar con una red neuronal es muchísimo más compleja que algunos for anidados
para recorrer toda la estructura de la canción, la serialización y desserealización de los datos para
traducir las canciones a la entrada de la red y vice versa, etc.
El diagrama de clases que muestra lo recientemente explicado se encuentra a continuación.
Hoja 27/85
Figura 3: Diagrama de clases de las funciones de aptitud.
Hoja 28/85
Con el fin de usar el framework de abstracción e implementación de algoritmos genéticos se
necesita especificar y programar los métodos correspondientes a cada uno de los componentes que
posee este tipo de algoritmo. Para este trabajo se usó a las canciones como cromosomas y a cada
compás como gen del cromosoma. También se tuvo que crear la función de aptitud correspondiente
para evaluar cada uno de las composiciones musicales. Se creó una clase que se encarga de rankear
a cada canción cromozoma según la puntuación que este obtenga de la función de aptitud que se
haya definido en el XML de configuración de la aplicación.
Se utilizó una clase llamada NoteNumberConverter con el fin de convertir las notas de cada cuerda
y posición donde se pulsa esa cuerda al cifrado americano, que es el que se utiliza para la restricción
de notas dentro de un mismo compás. Esta clase también se encarga de obtener el número de nota
tomando a la nota más grave que puede producir la guitarra como un 0 y a partir de allí la siguiente
será un 1 y así sucesivamente. Por último, la misma se encargará de normalizar una nota en para
luego ser utilizada como entrada de la red neuronal.
Para poder utilizar correctamente la API de redes neuronales JOONE, se debió extender de la
configuración original y genérica que se provee con el fin de poder aplicar a los requerimientos
específicos de este modelo de RRNN que se aplica a la música.
Se desarrolló un algoritmo en la clase ResultVerifier para la comprobación de una de las premisas
fundamentales de esta tesis: que las canciones compuestas por la aplicación no incurra en una
violación de la propiedad intelectual que decanta de las partituras que le dieron origen.
En el diagrama de clases que se muestra a continuación se muestran las clases y funcionalidades
anteriormente descriptas y algunas clases más como las clases de excepciones que se crearon para
ser lanzadas si ocurre algún error en la interpretación del XML de configuración, el enumerado que
representa cada una de las restricciones existentes, el enumerado que representa los dos métodos de
función de aptitud que se soportan hoy en día, y por último, las dos clases que se encargan de ser las
fábricas de clases especificas que devuelven una clase genérica aplicando de este modo el patrón
Factory a las distintas restricciones que se desarrollaron para este trabajo y la generación de un
compositor musical sin importar de que tipo es (del tipo que utiliza RRNN mezclado con AAGG o
el que es AAGG puro).
Hoja 29/85
Figura 4: Diagrama de clases del modelo de red neuronal, notas y restricciones
Hoja 30/85
Por último se mostrará un diagrama de paquetes que muestra de manera general cómo es la
estructura del programa. Dentro del paquete org se encuentran todas las clases de los 3 frameworks
utilizados para el desarrollo. El paquete principal es el llamado songcomposer y a partir de él
cuelgan las distintas clases y paquetes que hacen al funcionamiento macro y micro de la aplicación
en cuestión.
Figura 5: Diagrama de paquetes general.
Hoja 31/85
7) Validación de la solución
Se han diseñado 2 casos totalmente distintos para probar la solución desarrollada. La idea básica es
probar las distintas aristas a nivel de composición que brinda la herramienta, validando tanto el
método de penalizaciones como el de aprendizaje vía redes neuronales.
En todos los casos se evaluará la existencia o no de violaciones a la ley de propiedad intelectual, ya
que el propio sistema en la salida indica si se ha caído en el plagio.
Se cuenta con una amplia base de datos de partituras de canciones que se deben adaptar a lo que se
está buscando. Dado que siempre se mezcla la primera pista de partituras se debe proceder a editar
la misma y colocar la pista con la que se desea trabajar como track principal. Una vez hecho esto se
puede hacer un pulido más fino eliminando algunos silencios y/o corrigiendo algunos compaces en
función de las tonalidades de las demás partituras o en base a lo que se está buscando.
Cabe aclarar que para utilizar el software y tener respuestas satisfactorias, se deben tener muy en
cuenta las soluciones iniciales que se le brindan al algoritmo genético, ya que a partir de ellas se
delimita el universo de las posibles soluciones, estableciendo de esta forma un espectro de
resultados posibles.
7.1) A través de penalizaciones
Usando el sistema de penalizaciones como función de aptitud se hicieron 50 pruebas distribuidas en
10 casos distintos con 5 repeticiones por caso. La definición de los 10 casos se dieron en base a los
siguientes parámetros:
•
Probabilidad de mutaciones.
•
Cantidad de evoluciones.
•
Factor de cruza.
•
Partituras iniciales.
•
Restricciones de cantidad de notas (tanto máximas como mínimas).
•
Restricciones de tiempos.
•
Restricciones de mezcla de notas especificas por compás.
Los distintos parámetros se eligieron en función de las características musicales de las partituras con
las que se trabajó. Pues no tiene sentido alguno establecer restricciones de tiempos que no existan
en las partituras o penalizar cierta conjunción de notas dentro de un compás cuando dicha
combinación notas tampoco podría producirse.
Lo primero que se puede destacar de las validaciones realizadas es que es raro que las soluciones de
Hoja 32/85
composición musical automática se repitan con frecuencia, sólo ocurrió el 4% de los casos, en otras
palabras, de las 50 canciones generadas únicamente hay 4 que son iguales, lo que representa una
repetición en 2 casos.
Lo segundo para destacares que más allá de las restricciones que se pongan en cuanto a la cantidad
de notas máximas de un compás un factor importante en este aspecto es la probabilidad de
mutaciones con respecto a la cantidad de evoluciones, ya que esta mezcla 2 compases al azar y
genera que se sumen la cantidad de notas que poseen ambos. Entonces, al haber una gran cantidad
de iteraciones sobre el mismo espacio de canciones genera que inevitablemente se den estas
condiciones a pesar de su penalización. Esto se debe a que la penalización pierde su poder
restrictivo en el sentido mas estricto porque todas las canciones habrán tenido muchas notas en un
mismo compás.
Otro factor que merece ser mencionado es que si se superan las 200 evoluciones la probabilidad de
plagio se reduce muchísimo y se coloca en el 2% mientras que por debajo de este nivel es
críticamente alto, llegando al 40% de plagio sobre las partituras originales. Esto se debe a que al
haber más iteraciones sobre el algoritmo genético se generan más cruzas entre canciones y más
mutaciones, por lo que se van mezclando hasta perder su morfología original.
El último tema a discutir es la sonoridad generada en las soluciones que se obtienen. En este sentido
se observar que la misma depende básicamente de la compatibilidad musical entre las partituras
originales es un arma de doble filo, porque en un margen mínimo se obtienen resultados
interesantes si la disonancia de los tonos a mezclar es mínima, pero si cada tema tiene un tono
distinto no quedará nada que se pueda rescatar musicalmente como tal, si podría ser el disparador
para el compositor, pero difícilmente salga algo agradable al oído humano. Existen otros factores
que afectan en menor medida pero le dan forma al resultado final, ellos son todas las condiciones y
características de configuración.
Empíricamente se pudo comprobar que los resultados producidos no pueden llegar a ser en su
totalidad una nueva canción, pero si pueden tomarse distintas fracciones de la partitura, realizar
conjunciones, variaciones sobre la misma, etc. como disparadores para ayudar al compositor en la
ardua tarea de generar música cuando cae en una meseta de inspiración propia.
7.2) A través del aprendizaje de gustos musicales
Para generar partituras a través del uso de RRNN se hicieron 10 pruebas. Se tomaron 5 voluntarios,
dos de ellos con conocimientos musicales en cuanto a composición, partituras, armonía, etc. y se les
propuso hacer 2 pruebas a cada uno. Hay que tener en cuenta que este tipo de pruebas es muy
costosa en cuestión de tiempo ya que hay que entrenar una red neuronal para que aprenda los
Hoja 33/85
criterios de cada voluntario, luego hay que definir los parámetros del algoritmo y finalmente esperar
que se produzcan los resultados; en total, el proceso completo lleva aproximadamente 5 horas ya
que el entrenamiento y ejecución de los conocimientos es una tarea muy costosa en cuanto al
procesamiento.
Si bien los resultados producidos no son muchos, no se han visto casos de plagio con respecto a las
partituras originales. Esto puede deberse ya a que diferencia del caso anterior la función de aptitud
es general, es decir, se toma a la canción como un todo para evaluar los gustos de la persona que la
entrenó y no restricciones estrictas sobre las distintas características de cada uno de los compaces,
lo cuál genera más flexibilidad ante los cambios que pueda llegar a producir el algoritmo sobre las
piezas musicales.
En cuanto a los resultados producidos se puede observar que al igual que en el caso anterior no se
podría tomar la pieza musical resultante como producto terminado ya que hay algunas partes de la
partitura que no son agradables al oído, pero la mayoría de la partitura corresponde con una
composición musical agradable y armónica al oído humano. Sin embargo, los voluntarios aprobaron
las canciones que “compusieron” justificando que respetaba en un amplio margen sus gustos y la
forma de la cuál habían entrenado la red. Cabe destacar que las soluciones iniciales brindadas al
algoritmo genético debían compartir algunas características de las canciones con las que se
entrenaron la red ya que el espectro musical es extremadamente amplio y no tiene sentido, por
ejemplo, entrenar una red con temas característicos de pop y aplicarla a temas de heavy metal. Esta
restricción es en base a cada usuario y se aplica su razonabilidad a la hora de utilizar la herramienta
en cuestión. Si, en cambio, se permite cierto tipo de diversidad musical ya que esto enriquecerá el
producto final, pero debe ser aplicado con valores razonables.
8) Plan de trabajo
1. Investigación sobre software a utilizar para modelar la parte de edición de partituras y
aprendizaje de la utilización del mismo.
Tiempo estimado: 35 días.
2. Investigación y desarrollo del modelado de datos para la utilización del algoritmo genético.
Tiempo estimado: 35 días.
3. Investigación, selección y desarrollo de de los parámetros de la función de aptitud que
establecen por los usuarios.
Tiempo estimado: 80 días.
Hoja 34/85
4. Investigación y desarrollo del modelado de datos para la utilización de la red neuronal como
función de aptitud.
Tiempo estimado: 80 días.
5. Compaginación final de la tesis.
Tiempo estimado: 40 días.
9) Conclusiones
A la primera conclusión que se puede llegar a partir de las pruebas que sean realizado es que el
sistema sirve, como mínimo, de manera de disparador de composición para el músico que se
encuentra en una depresión productiva, que no se encuentra inspirado. Al utilizar esta herramienta y
jugar con ella puede utilizar los compaces más jugosos de a cuerdo a su búsqueda como primer paso
de una canción. Quedará a su criterio completar los baches de poca sonoridad que se pueden
generar o seguir ejecutando la herramienta y realizar una conjunción de todos los resultados
producidos y así llegar a una composición completamente automática en varios pasos.
Un resultado importante que nos arrojan los análisis realizados es que es difícil que se caiga en una
violación a la ley 11.723 de Propiedad Intelectual de la República Argentina, lo cuál es un gran
logro ya que sin esto el fin de la herramienta se vería reducido ampliamente. No tiene sentido usar
una ayuda para componer que plagie las partituras de entrada del sistema, generaría mucho más
trabajo para el compositor ya que debería ocuparse de cambiar la canción generada lo suficiente
como para no incurrir en este delito.
Un aspecto novedoso de esta herramienta es que permite convertir a cualquier persona en un
compositor musical ya que no es necesario que se tenga conocimientos de música, solamente
entender básicamente cómo funciona un algoritmo genético, que ya de por si es una idea básica que
al estar basada en la Teoría de la Evolución la mayoría de las personas conocen. Con indicarle a una
red neuronal cuáles son las canciones que a uno le gustan, las que no le gustan y seleccionar una
cantidad de canciones para que sean la entrada del programa alcanza para que la implementación de
los algoritmos haga el resto y produzca un resultado acorde. De esta manera la herramienta permite
universalizar el proceso de composición y ponerlo al alcance de la mano de cualquier persona. Cabe
destacar que la música que se genere de este modo respetará lo más posible los resultados musicales
buscados por el usuario, dependiendo de lo posible que eso sea de acuerdo al estímulo de entrada
que se le brinde. Por lo que esta herramienta no sólo permite convertir a cualquier persona en
compositor sino que también reflejará la idea musical del mismo.
Hoja 35/85
Una arista fundamental que posee el sistema de composición es, que más allá de los criterios que el
usuario intente tratar de imponer tanto con una red neuronal como con penalizaciones, los
resultados siempre estarán sujetos a las partituras de entrada que se le hayan brindado. No tiene
sentido tratar de imponer un castigo a la cantidad de notas mínimas o máximas cuando en las
canciones que se barajan se violan ambas restricciones, esto provocará que todas las partituras sean
penalizadas de igual forma, por lo que no habrá diferencias entre ellas a la hora de seleccionar las
más aptas para la siguiente evolución. El mismo punto de vista puede ser aplicado para las redes
neuronales, ya que la red intentará memorizar ciertas estructuras, escalas, notas, etc. y si la entrada
al programa no tiene nada que ver con el entrenamiento el comportamiento será completamente
azaroso. La buena elección de criterios y canciones de entrenamiento con respecto a la música con
la cuál se va a trabajar será fundamental para acercarse más y más a las ideas musicales a las que se
desea llegar.
10) Referencias
[1] URL: http://es.wikipedia.org/wiki/Composici%C3%B3n_musical. Página válida al 20/09/2011.
[2] Mitchell, M. (1996) An Introduction to Genetic Algorithms. Cambridge, MA: MIT
Press/Bradford Books.
[3] Ross, P. M. and D. Corne (1995). Applications of Genetic Algorithms. AISB Quarterly 89, 2330.
[4] Braun H., Weisbrod J. Evolving Feedforward Neural Networks. Proc. of the 1993 International
Conference on Artificial Neural Nets and Genetic Algorithms
[5] Griffith N. and Todd P. M, editors. Musical Networks. MIT Press, 1997.
[6] Darwin, C.R. (1859) On the Origin of Species. London: John Murray.
[7]
URL:http://www.jardindegente.com.ar/index.php?nota=prensa_365_1.
Página
válida
al
20/09/2011.
[8] Spector, L., and Alpern A. 1994. Criticism, Culture, and the Automatic Generation of Artworks.
In Proceedings of the Twelfth National Conference on Artificial Intelligence, AAAI-94, pp. 3-8.
Menlo Park, CA and Cambridge, MA: AAAI Press/The MIT Press.
[9] Todd, P. M. & Werner, G. M. (1999). Frankensteinian Methods for Evolutionary Music
Composition. In Griffith and Todd, P. M. (Eds.) Musical networks: Parallel perception and
performance, 313-339.
[10] Todd, P.M. (1988) A sequential network design for musical applications. In D. Touretzky, G.
Hinton, & T. Sejnowski (Eds.), Proceedings of the 1988 Connectionist Models Summer School (pp.
Hoja 36/85
76-84). San Mateo, CA: Morgan Kaufmann.
[11] Todd, P.M. (1989) A connectionist approach to algorithmic composition. Computer Music
Journal, 13(4), 27-43.
[12] Todd S. & Latham, W. (1992) Evolutionary Art and Computers. New York: Academic Press.
[13] Wiggins G., Papadopoulos G., Phon-Amnuaisuk S., and Tuson A.. Evolutionary Methods for
Musical Composition. International Journal of Computing Anticipatory Systems (inpress), 1999.
[14] Bharucha, J.J. & Todd, P.M. (1989) Modeling the perception of tonal structure with neural nets.
Computer Music Journal, 13(4), 44-53. Also in P.M. Todd & D.G. Loy (Eds.), Music and
Connectionism (pp. 128-137). Cambridge, MA: MIT Press.
[15] Burton A.
and Vladimirova T.. A Genetic Algorithm Utilising Neural Network Fitness
Evaluation for Musical Composition. In International Conference on Genetic Algorithms and
Artificial Neural Networks, 1997a.
[16] Burton A. R. & Vladimirova T. (1999). Generation of Musical Sequences with Genetic
Techniques. Computer Music Journal, 23 (4), 59-73.
[17] Burton, A. and Vladimirova, T. (1997). Applications of Genetic Techniques to Musical
Composition.
[18] Feulner J., Hörnel D.. MELONET: Neural Networks that Learn Harmony Based Melodic
Variations. Proc. of the 1994 International Computer Music Conference, ICMA Århus 1994
[19] Feulner J., Neural Networks that Learn and Reproduce Various Styles of Harmonization. Proc.
of the 1993 International Computer Music Conference, ICMA Tokyo 1993
[20] Giomi F. and Ligabue M. Computational Generation and Study of Jazz.
[21] Griffith N. and Todd P.M. (Eds.) (1998). Musical networks: Parallel distributed perception and
performance. Cambridge, MA: MIT Press/Bradford Books.
[22] Hörnel, D., & Ragg, T. (1996) Learning musical structure and style by recognition, prediction
and evolution. In Proceedings of the 1996 International Computer Music Conference (pp. 59-62).
San Francisco: International Computer Music Association.
[23] Horner, A. & Goldberg, D. E. (1991). Genetic algorithms and Computer Assisted Music
Composition. ICMC’91 Proceedings, San Francisco: International Computer Music Association,
479-482.
[24] Horner, A. and Goldberg, D. (1991). Genetic algorithms and computer-assisted composition. In
Proceedings of the Fourth International Conference on Genetic Algorithms.
[25] Horner, A., & Ayers, L. (1995) Harmonization of musical progressions with genetic
algorithms. In Proceedings of the 1995 International Computer Music Conference (pp. 483-484).
San Francisco: International Computer Music Association.
Hoja 37/85
[26] Horner, A., Assad, A., & Packard, N. (1994) Artificial music: The evolution of musical strata.
Leonardo Music Journal, 3, 81.
[27] Horowitz, D. (1994). Generating rhythms with genetic algorithms. In Proceedings of the
International Computer Music Conference.
[28] Koza, J. (1993) Genetic Programming. Cambridge, MA: MIT Press/Bradford Books.
[29] Moore, J.H. (1994) GAMusic: Genetic algorithm to evolve musical melodies.
[30] Moroni A., Manzoulli J., Von Zuben F., Gudwin R., Vox Populi: Evolutionary computation
for music evolution. In P.J. Bentley, D. W. Corne, Creative evolutionary Systems, Morgan
Kaufmann, 2002, pp. 205-221.
[31] Putnam, J.B. (1994) Genetic Programming of Music. Unpublished manuscript. Socorro, NM:
New Mexico Institute of Mining and Technology.
[32] Ralley D. (1995). Genetic algorithms as a tool for melodic development. In Proceedings of the
1995
[33] Ralley D. Genetic algorithms as a tool for melodic development. In Proceedings of the
International Computer Music Conference, 1995.
[34] Thywissen, K. (1996) GeNotator: An environment for investigating the application of genetic
algorithms in computer assisted composition. In Proceedings of the 1996 International Computer
Music Conference. San Francisco: International Computer Music Association.
[35] Towsey, M., Brown, A., Wright, S., & Diederich, J. (2000). Interactive Music Composition
using Genetic Algorithms. Paper presented at the 7thConf. of the International Society for the Study
of European Ideas (ISSEI), 14-18 August, 2000, University of Bergen, Norway.
[36] Gibson, P. and Byrne, J. (1991). Neurogen, musical composition using genetic algorithms and
cooperating neural networks. In Proceedings of the 2nd International Conference in Artificial
Neural Networks.
[37] Jacob, B. (1995). Composing with genetic algorithms. In Proceedings of the International
Computer Music Conference.
[38] McIntyre, R. (1994). Bach in a box: The evolution of four-part baroque harmony using the
genetic algorithm. In Proceedings of the IEEE Conference on Evolutionary Computation.
[39] Biles, J.A. (1994). Genjam: A genetic algorithm for generating jazz solos. In Proceedings of
the International Computer Music Conference.
[40] Biles J.A, Autonomous GenJam: Eliminating the Fitness Bottleneck by Eliminating Fitness,
Workshop on Non-routine Design with Evolutionary Systems, Genetic and Evolutionary
Computation Conference, 2001.
[41] Biles, J., Anderson, P., and Loggi, L. (1996). Neural network fitness functions for a musical
Hoja 38/85
IGA. Technical report, Rochester Institute of Technology.
[42] Biles, J.A. (1995a) The Al Biles Virtual Quintet: GenJam. Compact disc recording DRK-CD144. Rochester, NY: Dynamic Recording Studios.
[43] Biles, J.A. (1995b) GenJam Populi: Training an IGA via audience-mediated performance. In
Proceedings of the 1995 International Computer Music Conference (pp. 347-348). San Francisco:
International Computer Music Association.
[44] Papadopoulos and Wiggins G.. A Genetic Algorithm for the Generation of Jazz Melodies. In
STeP’98, Jyväskylä,Finland, 1998.
[45] URL:http://www5f.biglobe.ne.jp/~mcs/emc.html. Página válida al 20/09/2011.
[46] URL:http://sf.net/projects/jgap. Página válida al 20/09/2011.
[47] URL: http://www.bibliotecalibre.cl/programas/manual/manualTuxGuitar.pdf
[48] URL: http://www.ulp.edu.ar/comunicacion/libros_ulp/musica1/files/libro.pdf
Hoja 39/85
ANEXOS
Hoja 40/85
Anexo I: Manual de Usuario [47]
TuxGuitar
Los Primeros Pasos
Crear un nuevo archivo:
Lo primero que tiene que hacer es asegurarse de que tiene un archivo de nuevo a trabajar. Cuando
inicia TuxGuitar, usted ya debe tener un documento en blanco tablatura listo para editar. Sin
embargo, si usted necesita para empezar de nuevo con otro documento en blanco, todo lo que
tienes que hacer es clic en el botón "Nuevo" (resaltado en rojo abajo).
Ahora que tenemos el documento en blanco, sólo tenemos que crear nuestra primera pista.
Entonces, la verdadera diversión puede comenzar.
Preparación de la primera pista para la reproducción:
En la parte inferior de la pantalla, debería ver una ventana de lista de pistas que se parecerá a la
de abajo.
La lista de pistas es muy útil pero el centro de información compacto que proporciona un acceso
rápido a muchos de los aspectos más importantes de su canción. Hay mucho que decir sobre la
lista de pistas, pero no vamos a excavar demasiado profundo en ello ahora, para que no se debe
confundir los recién llegados. Por ahora, baste decir que la ventana de las pistas nos ayudará a
mantenerse organizado, mientras que editamos nuestro tablatura.
Como usted probablemente ha notado, ya existe una pista lista para que al iniciar un documento
de nueva pestaña. Usted sólo puede pensar en temas como instrumentos. Si usted tiene una
canción con dos guitarras y una línea de bajo que es necesario transcribir, tendrá tres pistas.
Concepto bastante simple. Esto se pone mejor cuando: siempre y cuando usted tiene un banco de
sonidos instalado para su máquina virtual Java, cada pista se reproduce un sonido al reproducir el
Hoja 41/85
archivo en TuxGuitar. Ahora, vamos a entrar a configurarlo, porque como usted puede ver,
nuestra primera pista quiere reproducir sonidos de piano, y ciertamente no estamos usando
TuxGuitar para piano.
Así que: haga doble clic en cualquier lugar de "Track 1" o "Piano" para abrir el diálogo de
propiedades de pista, como se ve a continuación.
Utilizando el diálogo de Propiedades de pista:
El cuadro de diálogo Propiedades es donde vamos a ir a la configuración de cómo queremos que
cada pista a la reproducción. Hay tres secciones principales en el cuadro de Propiedades, y se
establecen de la siguiente manera (cajas rojas añadido para mayor claridad):
# 1: Nombre de la canción:
Lo que se teclea en el cuadro de aquí es lo que aparecerá en la lista de pistas que hemos visto
anteriormente. Como puede ver, hemos llamado a nuestra pista "Guitarra Rítmica," pero usted
puede poseer cualquier nombre que desee. También puede configurar el color de la pista
aparecerá en la lista de pistas.
# 2: Instrumento (es decir, el sonido de la pista se reproducirán):
Este es el sonido que el tema volverá a reproducir de su banco de sonidos de JVM. La mayoría de
soundbanks tienen una plétora de sonidos que van mucho más allá de las guitarras, así que sea tan
creativo como usted desea. No espere que la calidad del sonido es demasiado excelente, sin
embargo. En la mayoría de los casos, estos sonidos por debajo de "realista". Esto es realmente
sólo para fines de referencia. (Es posible que este disparador de otros, sonidos, posiblemente,
mejor a través de la TuxGuitar-alsa plugin, sino que es una lección para otro día, y quizás otro
autor).
También puede consultar "percusión Track" para tener que jugar los sonidos de batería, si se
desea incluir en las fichas.
Una nota al margen en la sección de configuración del instrumento: Si no son capaces de cambiar
Hoja 42/85
esta configuración, es probable que tenga un problema de banco de sonidos. Esta cuestión ha sido
tratada en los foros TuxGuitar, así como en la documentación principal, así que compruebe que
para la ayuda.
# 3: Tuning:
Esta es bastante autoexplicativo. Puede establecer el número de cadenas para su instrumento (es
decir, 4 si eres un bajista, 3, si estás en Los Presidentes de los Estados Unidos de América) y la
afinación del instrumento, en caso de usar afinaciones alternativas. Es importante asegurarse de
que tiene su afinación correcta, o bien el personal de puntuación real de tus pestañas será
inexacta, y nadie quiere eso.
Una vez que tenga todo listo a su gusto, haga clic en Aceptar. Ahora, si nos fijamos en la lista de
pistas de nuevo, verá que los cambios han tenido efecto. Y con eso, usted está listo para iniciar la
edición de partituras con el sonido.
Las barras de herramientas
Por defecto, usted notará bastante pocas barras de herramientas que recubre la parte superior de la
pantalla, te da acceso con un clic a alguna de las opciones más utilizadas en TuxGuitar. Si bien
pueden ser un poco intimidante en su conjunto, son realmente muy simple cuando se rompen
abajo, y le puede ahorrar mucho tiempo con algunas de las tareas más comunes asociadas con la
edición
de la tablatura. Así que echemos un vistazo rápido a cada una de las barras de herramientas.
Preasignados atajos de teclado se indica entre paréntesis, pero tenga en cuenta: antes de accesos
directos asignados pueden ser re-asignados de acuerdo a sus propias preferencias, y opciones más
unanassigned pueden ser asignados a través de Configuración> Configuración de teclas.
Una nota al margen sobre las barras de herramientas-no sólo se puede seleccionar qué barras de
herramientas son visibles, vaya a Configuración> Configurar TuxGuitar> Barras de herramientas,
también puede cambiar el orden de ellos para ajustarse mejor a sus necesidades haciendo clic y
arrastrando sobre el "asa "en el lado izquierdo de cada barra de herramientas individuales.
Una última cosa antes de comenzar: el conocimiento previo de la teoría de la música se asume en
esta página. Hay un par de enlaces en la duración de la «Nota» que puede ayudar si usted no sabe
la teoría mucho todavía, pero para cubrir el verdadero "significado de la música" de todas estas
opciones requeriría un manual completo en sí mismo. Esta página sólo se TuxGuitar explicar la
funcionalidad relacionada con las barras de herramientas en un esfuerzo por evitar largas
discusiones en la teoría de la música de aliento.
Administración de archivos
Usted ha visto y utilizado este menú un millón de veces, así que no pasará mucho tiempo en ella.
Básicamente, la barra de menú Archivo le ofrece las siguientes opciones:
Crear nuevo archivo (Ctrl + N)
Abrir archivo (Ctrl + O)
Guardar archivo (Ctrl + S)
Archivo Guardar como ... (F12)
Imprimir (Ctrl + P)
Vista previa de impresión
Nada demasiado complejo aquí, así que vamos a pasar a lo largo de la derecha.
Hoja 43/85
(Estas opciones y más puede acceder a través del menú "File" desplegable que aparece en la parte
superior de la pantalla.)
Deshacer / Rehacer
Otro grupo muy común de las opciones que más o menos explicarse. El icono de la izquierda va a
deshacer la última acción (Ctrl + Z), y el icono de la derecha rehacer lo que ha deshecho (Ctrl +
Y).
(Estas opciones y más puede acceder a través del menú "Edición" desplegable que aparece en la
parte superior de la pantalla.)
El modo de edición (Se aplica sólo a la edición)
Ahora estamos consiguiendo un poco más interesante. Este menú se establecen algunas opciones
para quienes prefieren editar a través de la puntuación personal en lugar de utilizar tablatura.
Tenga en cuenta que estos ajustes sólo afectan al personal de puntuación (el conjunto superior de
las líneas con la notación musical estándar en ellos). Si sólo editar a través del personal de
tablatura, you pretty puede ignorar estas configuraciones, porque no hará ninguna diferencia en su
flujo de trabajo.
(Si su puntuación de personal no es visible, desplácese hacia abajo en esta página y ver el
"layout" del menú.)
Selección del modo
Al hacer clic en el icono de la primera con la llave en la que le pondrá en la selección de modo.
En este modo, puede pulsar el ratón en cualquier parte del personal de puntuación, y es
simplemente mover el cursor de reproducción a esa ubicación, sin realizar ningún cambio en la
partitura. Bueno para moverse rápidamente en la puntuación sin tener que preocuparse
accidentalmente alterar las notas.
Puntuación Modo Edición
Al hacer clic en el icono del medio con el lápiz sobre ella te pondrá en Modo Puntuación Edition.
En este modo, puede escribir notas en el personal de puntuación haciendo clic donde desee que la
nota de ir. Usted puede insertar notas en las líneas o los espacios, y que tendrá la duración que ha
seleccionado actualmente en la barra de duración de la nota (que se detallan más abajo). Una
nota: esta opción solo sólo insertar notas de tono natural (es decir, sin pisos o punzantes). Si desea
insertar objetos punzantes / pisos o pre-cambio de notas existentes para objetos punzantes / pisos,
tendrá que entrar Sharp / Flat Mode.
Sharp / Flat Mode
Al hacer clic en el icono con el símbolo de Sharp / apartamento en que le llevará a Sharp /
Flat Mode. Como se indicó anteriormente, Sharp / Flat Mode es simplemente una subopción de Modo Puntuación Edition. Usted tiene que usar Sharp / Flat Mode si desea
introducir notas agudas o planas o pre-cambio de las notas existentes para agudos o plana.
(Estas opciones y más puede acceder a través del menú "Edición" desplegable que aparece
en la parte superior de la pantalla.)
Hoja 44/85
Propiedades de Canción
Si bien la barra de herramientas de propiedades de sólo tiene realmente un icono, es de particular
importancia si usted planea imprimir o exportar las pestañas en cualquier momento. Al hacer clic
sobre este icono abrirá sus propiedades canción ficha, en la que se pueden establecer las
siguientes opciones:
• Nombre (de la canción)
• Artista (intérprete)
• Autor (propietario de los derechos de autor)
• Album
La razón de esta configuración es de tal importancia es que cualquier cosa que escriba en los
cuadros Nombre y Autor aparecerá en la primera página de sus partituras al imprimir o exportar,
y si los dejas en blanco, simplemente se recibe un gran grasa "Sin título" por "Anónimo" en su
lugar. Así que asegúrese de que establece que si usted planea ver estas fichas fuera de TuxGuitar!
La diferencia puede verse a continuación.
(Estas opciones y más puede acceder a través de la composición del "menú desplegable en la
parte superior de la pantalla.)
Hoja 45/85
Añadir / Eliminar pista
Llega un momento en casi cualquier canción cuando una guitarra no es suficiente. Cuando esté
listo para comenzar a introducir pistas de otro instrumento, simplemente haga clic en el icono con
el signo "+" en el mismo para añadir una nueva pista.
Si usted decide que no necesita una pista, haga clic en el icono con el signo "-" para quitarlo. En
el botón Quitar pista eliminar la pista que está seleccionado actualmente pista (actualmente
seleccionado aparecerá resaltado gris en la lista de pistas en la parte inferior de la pantalla).
(Estas opciones y más (incluido un práctico "Clone Track" opción) se puede acceder desde el
menú "Track" desplegable que aparece en la parte superior de la pantalla.)
Duración de la Nota
Este es otro bastante simples barra de herramientas. Los primeros siete iconos simplemente
cambiar la nota (s) en la posición actual del cursor a lo que usted seleccione, que van desde toda
la nota a sesenta y demás-la nota. Esto es útil si usted necesita hacer un cambio que es más que un
incremento de la nota (es decir, cuarto de nota a nota XVI). Alternativamente puede usar la teclas
+/ - en un teclado numérico estándar para mover un incremento a la vez.
Una nota al margen sobre la teclas + / -: desde la versión .9, la mayoría de los teclados de
portátiles no admiten el uso de la = / + tecla para disminuir la duración de la nota. Los
desarrolladores son conscientes de este error, y están trabajando fuera. La tecla "-" en los teclados
de computadora portátil debe funcionar, pero no la = / + tecla.
Los últimos tres iconos cambiar el valor de una nota de de puntos, doble de puntos, y una gran
variedad de "tupla" valores.
Nota
Este menú te ofrece dos opciones con respecto a la edición de la nota.
Al hacer clic en el icono de la primera "atar" la nota seleccionada a la anterior. Esta función,
básicamente, tiene el valor de dos notas y los combina en una sola. El uso más común para esta
función es cuando usted tiene una nota que comienza en una de las medidas y termina en el
siguiente. La vinculación observa es en realidad una forma de mantener el puntaje limpio y
organizado. Si necesita más información, puede que desee a la investigación notación musical a
través de los enlaces de arriba.
Al hacer clic sobre el icono en segundo lugar con la A7 "," hará que aparezca el editor de acordes.
El editor de cuerda es un tiempo útil herramienta de ahorro de utilizar para buscar, crear, e
insertar formaciones acorde a su tablatura. Mientras que el editor de acordes merece mayor
análisis, es un tema es mejor dejar para otra página y otro día.
(Estas opciones y más puede acceder a través de la "Nota" del menú desplegable que aparece en
la parte superior de la pantalla.)
Composición
Composición de la barra de herramientas te da algunas opciones para el establecimiento de la
Hoja 46/85
estructura y la métrica de la canción. Una vez más, para una explicación más profunda de lo que
cada uno de estos medios y la forma de utilizar plenamente ellos, se refieren a los vínculos de la
teoría de la música en la duración de la "Nota" sección.
Al hacer clic en el primer icono con el signo de interrogación le permitirá ajustar el tempo de la
canción. Las nuevas canciones en su defecto TuxGuitar a 100 latidos / min, pero usted puede fijar
su propio ritmo a cualquier cosa entre 30-320 latidos / min. TuxGuitar también apoya los cambios
de tempo durante toda la canción, y la creación de ellos es tan fácil como colocar el cursor de
reproducción en la medida en que desea que el ritmo a los cambios, y haciendo clic en el icono.
Cualquier tempo establecido en la primera medida de la canción será el ritmo predeterminado ya
sea en toda la canción, o hasta que se establezca otro tempo en cualquiera de las siguientes
medidas.
Al hacer clic en el icono junto con el 4 / 4 gráfico abrirá el cuadro de diálogo de compás, que es
bastante sencilla. Usted tiene un menú desplegable para cada mitad de la firma del tiempo, así
como un "hasta el final" casilla de verificación. TuxGuitar apoya la firma de múltiples cambios
durante toda la canción, y muy similar a los cambios de tempo, son tan fáciles de crear que hacer
clic en el icono y el establecimiento de una firma nueva hora en la medida en la que desea que
cambie. Marcando "Hasta el final" le causa a su vez la firma recién seleccionados para continuar
o bien al final de la canción, o hasta que se cambie manualmente el tiempo de la firma en
cualquiera de las siguientes medidas. Si desactiva la "Hasta el final" le causa a la firma nueva
hora para atravesar sólo la medida se agrega a, tras lo cual se reajustará automáticamente a la
firma del tiempo utilizado por la medida anterior.
(Estas opciones y más puede acceder a través de la composición del "menú desplegable en la
parte superior de la pantalla.)
Próximos tres iconos se utilizan para repetir el control. Toda persona familiarizada con la
notación de la música debe estar familiarizado con estas - usted puede abrir y cerrar la sección de
repetición. Al cerrar, obtendrá un cuadro de diálogo para especificar repeatings cuántos va a
producir. El último icono es utilizado para marcar los finales alternativos en la repetición. Un
diálogo especial también se producirá, lo que le permite elegir en qué ciclo de este final se jugará.
Transporte
Estos son los controles de reproducción de la canción. Los botones son para reproducir / pausar,
detener la reproducción, la medida anterior, la medida siguiente, a partir de la canción y al final
de la pista.
Marcadores
Es muy útil para añadir un marcador en una canción, para marcar alguna parte de la canción
(verso, coro, solista, etc)
Marcador de los controles de la barra de herramientas le permiten crear un marcador, la lista de
marcadores y navegar por ellos (anterior, siguiente, primero, último).
Diseño
Existen varios tipos de diseño en TuxGuitar. Todos ellos cambiar la vista de tablatura y las
puntuaciones en la ventana del editor principal.
Hoja 47/85
El primer botón de la izquierda es de diseño de página. Es alternativa es el segundo botón: diseño
lineal. Diseño de página muestra la tablatura y resultados como en las hojas de papel, con los
saltos de línea. En el otro lado, las opiniones de la visión lineal instrumento en una sola línea,
ampliando a la derecha.
El tercer botón permite vista multipista. Cuando se activa, todas las pistas se mostrarán en la
ventana principal. Dependiendo de la elección anterior (página o la disposición lineal) podrás ver
punto de vista diferente. En la experiencia personal, buenas combinaciones son lineales +
multipista, y diseño de página sin multipista (para ver solo instrumento).
El cuarto botón es el botón Mostrar resultados. Es simplemente la opinión de la puntuación
(notación) por encima de la línea de la ficha.
El quinto botón es la opinión de Compact. ¿Le gustaría a fin de que si tenemos en cuenta su punto
de vista demasiado amplio.
Ver
Estos tres botones muestran varias ventanas.
El primer botón de muestra el diapasón en la parte inferior de la ventana principal. Fretboard es
útil para ver los puntos exactos donde debe poner sus dedos en cada momento. Usted incluso
puede hacer clic en el diapasón para editar su ficha. Ver Fretboard está disponible tanto para
diestros y zurdos guitarras.
El segundo botón muestra Mixer. Mezclador de canales MIDI de diálogo es muy importante - no
se puede cambiar el volumen de los instrumentos en su ficha, mudo / solo único instrumento, el
cambio de la panorámica y asignar. Lea más acerca de diálogo Mixer.
El último botón le muestra la ventana controlador de jugadores, donde se puede controlar la
reproducción de la canción.
Efectos
Estos efectos se aplican con el cursor de edición situado en la nota existente en la ficha. Efecto
seleccionado se aplica luego a la nota.
Lea más acerca de los efectos nota.
Dinámica
Al seleccionar el icono diferente a la actual, cambiar la dinámica de la nota que se está editando.
Poco a poco escala de Piano Pianissimo que es el más silencioso, a la Fortissimo Forte que es
más fuerte.
Hoja 48/85
Anexo II: Ejemplos de Cruza y Mutación
Cruza
El algoritmo genético agrupa de a dos canciones al azar entre todas las posibles, generando muchas
duplas de melodías a cruzar. Luego se recorren todos los compases de la partitura que contenga la
menor cantidad de ellos, para cada compás hay un 50% de posibilidades de ser cruzado con el del
mismo número de la otra partitura. Esto generará dos canciones nuevas que se incluirán en las
posibles soluciones a ser evaluadas por la función de aptitud.
Ejemplo:
Supongamos que tenemos las siguientes dos partituras que deseamos que sean la entrada de nuestra
aplicación:
Para este caso ambas partituras contienen la misma cantidad de compases por lo que recorreremos
la primera, elijamos para tener un ejemplo sencillo que se cruzan los números impares de compases.
Por lo tanto, luego de la primera evaluación las partituras nuevas quedarían:
Hoja 49/85
Para el segundo compás no habría modificaciones, pero para el tercero la cruza nos arrojaría las
siguientes canciones:
Sucede lo mismo con el siguiente compás, al ser un número par, el cuatro, no se realizarían
modificaciones, pero si sucederían para el quinto:
Y esos serían los resultados finales de la cruza que, a la hora de evaluar qué pentagrama es el más
apto para las reglas que se hayan establecido se tendrán en cuenta los dos originales y estos dos que
hemos generado recién.
Acabamos de mostrar cómo se realiza una sola iteración, esto sucederá la cantidad de veces que se
haya especificado en el XML de configuración.
Mutación
Se establece mediante el archivo de configuración un número que representa la probabilidad de 1
en N (el número a especificar) de que ocurra una mutación. La misma se ha implementado como
la fusión de dos compases, ambos se determinan con el azar, ya que el primero sale de la
probabilidad de mutación de una canción y luego se elije al azar uno de los compases a ser
mutado, el segundo se determina al azar entre todo el universo de compases disponibles de todos
Hoja 50/85
los pentagramas con los que la aplicación está trabajando. Si tomamos el ejemplo anterior y
fusionamos quinto compás de la siguiente partitura:
Con el segundo de esta otra:
El resultado sería el siguiente:
De esta manera se genera la mutación de los compases que dan la riqueza y la variación necesarias
para que las canciones generadas a través de este software no sean monótonas ni plagios de las ya
existentes.
Hoja 51/85
Anexo III: Conceptos Musicales [48]
Lectura Musical
Usamos el pentagrama para escribir la música
Escribimos las figuras musicales sobre las líneas y los espacios del pentagrama:
Dependiendo de su posición sobre el pentagrama podemos conocer la nota musical que
representan.
La palabra pentagrama es de origen griego: penta significa cinco y grama escrito.
Las claves
En todo pentagrama lo primero que encontraremos es una clave.
Existen varias claves. Las más utilizadas son la clave de sol (vista en ella figura anterior) y la clave
de fa:
La clave de sol es utilizada por instrumentos agudos como el violín, la flauta, la trompeta y por
otros no tan agudos como la guitarra. La clave de fa es utilizada por instrumentos graves como
el contrabajo, el violonchelo, el fagot y el trombón.
Es importante saber la clave utilizada al momento de leer la música para poder conocer el nombre de las
notas.
Hoja 52/85
Nombre de las notas
Antes de ver como escribimos las notas musicales en el pentagrama, repasemos el nombre y
orden de ellas.
Nuestro sistema musical tiene siete notas. El orden de las notas es do, re, mi, fa, sol, la y si. Estas
notas corresponden a las teclas blancas del piano:
La clave de sol
A continuación pueden ver la nota musical representada por cada una de las líneas y espacios
de un pentagrama con clave de sol. Noten que la primera línea (la línea inferior) corresponde a
la nota mi y el primer espacio a fa. En otras palabras la notas musicales siguen sobre el
pentagrama (línea-espacio-línea) el orden natural (do, re, mi, fa, sol, la y si). Fíjese que podemos
escribir debajo de la primera línea (línea inferior) y sobre la quinta línea (superior):
Las líneas adicionales
Además de escribir sobre los espacios y líneas del pentagrama, podemos también añadir líneas
adicionales para escribir notas más agudas o graves:
El do sobre la primera línea adicional inferior equivale al do central del piano.
La clave de fa
A continuación pueden ver la nota musical representada por cada una de las líneas y espacios
de un pentagrama con clave de fa. Hemos incluido las líneas adicionales.
Hoja 53/85
El do más agudo que aparece sobre la primera línea adicional superior es el do central.
Memorización de notas
Para poder leer la música es imprescindible saber de forma rápida la nota que corresponde a
cada espacio y línea del pentagrama. Esto se logra con mucha práctica y paciencia.
No obstante en un principio puede ayudar memorizar el orden de las notas en los espacio y
líneas. Por ejemplo en la clave de sol, las notas sobre las líneas son mi, sol, si, re y fa. Sobre los
espacios son fa, la, do y mi:
En clave de fa:
Uso combinado de clave de sol y fa
Combinando un pentagrama con clave de sol y otro con clave de fa podemos escribir cualquier
nota, desde la más grave hasta la más aguda:
El último do de clave de fa (el más agudo) y el primero de clave de sol son la misma nota. El do
Hoja 54/85
central.
La música para piano se escribe normalmente usando un pentagrama en clave de sol y otro en
clave de fa.
La notación rítmica
Ya sabemos como se especifica la nota que se debe tocar, pero ¿cómo especificamos su
duración?
Para entender esto debemos conocer las figuras musicales y las indicaciones de compás.
Las figuras musicales
Las figuras musicales nos permiten especificar la duración de un sonido. A continuación pueden
ver las figuras, sus nombres y valores:
Como podrán notar, cada figura dura el doble de tiempo que la siguiente y la mitad del tiempo
que la anterior. Por ejemplo, en este corto fragmento musical vemos dos patrones rítmicos
diferentes. El más agudo está formado por cuatro negras (sonido de piano), el más grave por dos
blancas (sonido percusivo). Como una negra tiene una duración que es la mitadde una blanca,
escuchamos dos negras por cada blanca:
Hoja 55/85
Pero antes de poder leer correctamente, tenemos que entender el concepto de compás.
Cuando escribimos corcheas, semicorcheas, fusas y semifusas acostumbramos a agrupar el
corchete de todas las que queden dentro de un tiempo para facilitar la lectura. A continuación
algunos ejemplos:
El compás
Muchas veces podemos encontrar
patrones rítmicos en la música que escuchamos.
Generalmente podemos agrupar los tiempos o pulsaciones en grupos de 2, 3 ó 4.
Por ejemplo, cuando escuchamos un vals, sentimos un patrón rítmico de tres tiempos. Durante
todo el transcurso podemos sentir que los patrones rítmicos están basados en este 1,2, 3.
Existen compases de 2, 3 y 4 tiempos. Incluso, aunque menos comunes, encontramos compases
de 5 ó 7 tiempos. Para indicar el compás usamos dos cosas: la indicación de compás y las líneas
divisorias.
La indicación de compás
El compás se indica al principio de una obra musical usando dos cifras:
La cifra superior indica el número de tiempos que tiene el compás, 3 en este caso.
La cifra inferior nos indica la figura que ocupa cada tiempo. En la tabla a continuación pueden
ver la relación entre figuras y cifras:
Hoja 56/85
Por lo tanto la indicación
indica que el compás tiene 3 tiempos y que cada tiempo es ocupado por una negra. Note que el
4 simboliza la negra porque la negra es 1/4 parte de la redonda.
Las líneas divisorias
Para facilitar la lectura, separamos con líneas verticales a las que damos el nombre de líneas
divisorias los compases:
En este ejemplo vemos un compás de dos tiempos donde cada tiempo es ocupado por una
negra.
El puntillo
Si añadimos un puntillo a una figura, su duración aumentará de la mitad de su valor:
Hoja 57/85
La ligadura
Podemos añadir el valor de una figura a otra uniéndolas por una ligadura:
El segundo compás es equivalente al primero.
Unidad de tiempo y compás
Llamamos unidad de tiempo a la figura que ocupa un tiempo y unidad de compás a la que
ocupa un compás entero. A continuación pueden ver algunos ejemplos de compases comunes:
Hoja 58/85
Los silencios
Cada figura musical tiene un símbolo correspondiente que se usa para representar un silencio de
la misma duración. Llamamos a estos símbolos silencios.
Hoja 59/85
Compases simples y compuestos
Los compases que hemos visto hasta ahora se llaman compases simples. En los compases
simples la unidad de tiempo se subdivide en mitades (una negra se subdivide en dos corcheas).
En los compases compuestos por el contrario la unidad de tiempo se subdivide en tres partes.
Algunos puntos importantes que debemos considerar en relación a estos compases:
1. Reconocemos los compases compuestos porque sus numeradores (cifra superior en
la indicación de compás) son 6, 9 ó 12.
2. Obtenemos el número de tiempos en el compás dividiendo el numerador entre 3.
Por ejemplo un compás de 6/8 tiene 2 tiempos (6 dividido por 3).
3. Las unidades de tiempo de los compases compuestos llevan un puntillo.
4. El denominador (número inferior) indica la figura que ocupa un tercio del tiempo.
Por ejemplo en el compás de 6/8 la corchea ocupa un tercio del tiempo ya que un
tiempo se forma por 3 corcheas ó 1 negra con puntillo.
La siguiente tabla resume estos puntos:
Hoja 60/85
Un ejemplo:
Las alteraciones
Cualquiera de las siete notas se puede alterar de forma ascendente o descendente por medio de
las alteraciones (vea Las alteraciones para información detallada).
En la escritura musical una alteración afecta cualquier nota del mismo nombre y en la misma
octava dentro de un compás. En el siguiente ejemplo el último sol es sostenido (necesitaríamos
añadir un becuadro si lo quisiéramos natural):
Vea Tonos y semitonos para más información sobre las notas alteradas y su relación con el
teclado del piano.
Las armaduras de clave
Para reducir el número de alteraciones al momento de escribir la música recurrimos al uso de
armaduras de clave. Estas alteraciones, escritas entre la clave y la indicación de compás afectan
Hoja 61/85
a todas las notas de ese nombre a través de la pieza incluyendo aquellas en otras octavas.
En el siguiente ejemplo todos los fa y los do son sostenidos. El sol del primer compás es
sostenido y el do del segundo compás es natural debido al becuadro. El último sol no necesita el
becuadro ya que el sostenido estaba en el compás anterior, pero a veces se escribe por
seguridad:
Las claves de do
Además de las claves de sol y fa existen claves de do en 1ra (la 1ra línea equivale a do), do en
2da, do en 3ra y do en 4ta. De éstas, las que usamos comúnmente son las de do en 3ra (para la
viola) y la de do en 4ta (violonchelo, fagot, entre otros para notas agudas).
A continuación las notas en clave de do en 3ra:
El do de la línea central es el do central
Intervalos
El intervalo mide la distancia entre dos sonidos. Para identificar un intervalo debemos averiguar
su nombre y su especie o calificación.
Aristójenes, filósofo griego discípulo de Aristóteles, es autor de los más viejos tratados sobre la
música. En su obra Elementos Armónicos (350 AC) define Intervalo como el espacio
comprendido entre dos sonidos de diferentes tensiones.
Contando el número de grados entre las notas obtenemos el nombre del intervalo. Al contar los
grados debemos incluir tanto la primera como la última nota. Por ejemplo de do a mi, decimos
que hay una tercera (do-1, re-2, mi-3). En la siguiente ilustración, pueden ver la correspondencia
entre número de grados y nombre de los intervalos:
Hoja 62/85
Sin embargo, no todos los intervalos del mismo nombre tienen el mismo tamaño. Por esto es
necesario especificar la especie o calificación de los intervalos determinando con exactitud el
número de tonos y semitonos que tiene.
Tonos y semitonos
El sistema de afinación temperada divide equitativamente la octava en doce sonidos. La
distancia o diferencia en frecuencia sonora entre cada uno de estos sonidos se conoce por el
nombre de semitono. En el teclado del piano hay la distancia de un semitono entre teclas
contiguas:
Un tono equivale a 2 semitonos. Todas las teclas blancas del piano separadas por una tecla
negra, están a la distancia de un tono. Las que no tienen tecla negra ente ellas están a un
semitono de distancia:
Los sonidos correspondientes a las teclas blancas del piano, reciben los nombres de do, re, mi,
fa, sol, la y si. Estas notas se consideran naturales. Podemos alterarlas un semitono cromático
ascendente con un sostenido (#) o descendente con un bemol (b). Una tecla negra del piano,
como por ejemplo la que está entre do y re puede considerarse un do alterado
ascendentemente con un sostenido o un re alterado descendentemente con un bemol:
Hoja 63/85
Calificación o especie de un intervalo
Tomando como ejemplo el teclado del piano, podemos ver que no todos los intervalos de un
mismo nombre tienen el mismo número de tonos y semitonos. Por ejemplo, la segunda entre
do y re tiene un tono, mientras que entre mi y fa hay un semitono:
Lo mismo sucede con los demás intervalos, por ejemplo la tercera re-fa tiene 1½ tonos o 3
semitonos, mientras que do-mi tiene 2 tonos o 4 semitonos:
Debido a estas diferencias es necesario especificar la especie o calificación de los intervalos.
Refiérase a cada tipo de intervalo para más información sobre como determinar su especie o
calificación.
Hoja 64/85
Las segundas
Las segundas pueden ser mayores, menores, aumentadas o disminuidas. A continuación
pueden ver el número de semitonos de cada una de las especies de segundas: Segunda
disminuida, 0 semitonos
Segunda menor, 1 semitono
Segunda mayor, 2 semitonos ó 1 tono
Segunda aumentada, 3 semitonos ó 1½ tonos
Identificación de segundas
Las segundas son los intervalos más fáciles de identificar. Sin embargo no deja de ser
importante dominar esta destreza ya que será necesaria en la identificación de otros intervalos.
Para poder determinar la especie de una segunda debemos saber:
• El número de semitonos de cada tipo de segunda.
• El orden de las notas (do, do#-reb, re, etc.), recordando que todas las notas naturales,
con excepción de mi-fa y si-do, están a un tono de distancia y que entre ellas existe una
nota alterada (una tecla negra en el piano).
Hoja 65/85
Con esto en mente, podemos contar los semitonos para identificar la especie con pocas
posibilidades de equivocarnos:
Las terceras
Las terceras pueden ser mayores, menores, aumentadas o disminuidas. A continuación pueden
ver el número de semitonos de cada una de las especies de terceras:
Hoja 66/85
Identificación de terceras
Para poder determinar la especie de una tercera debemos: dominar la identificación de
segundas
Cualquier tercera puede descomponerse en dos segundas. Por ejemplo la tercera do-mi se
descompone en las segundas do-re y re-mi. Una vez hecho esto, identificamos las segundas que
resultan y utilizando la siguiente tabla podemos determinar el tipo de tercera:
Si las segundas son:
menor - menor
mayor - menor
mayor - mayor
aumentada - mayor
la tercera es:
disminuida
menor
mayor
aumentada
Siguiendo este método vemos que la tercera do-mi es una tercera mayor ya que ambas
segundas (do-re, re-mi) son mayores.
En el caso de notas alteradas es útil el método explicado para las segundas que consiste en
quitar momentáneamente las alteraciones, identificar la tercera y luego ver en que forma las
alteraciones afectan al intervalo.
Hoja 67/85
Ejemplo: lab-dob:
Quitamos las alteraciones e identificamos el intervalo. De la-si hay una 2da. Mayor, de si-do hay
una 2da. menor, de manera que la 3ra. la-do es una 3ra. Menor.
Añadimos el bemol a la nota la, la 3ra. se convierte en mayor.
Añadimos el bemol a la nota do, la 3ra. se convierte en menor.
Las cuartas
Las cuartas pueden ser justas (o perfectas), aumentadas o disminuidas. A continuación pueden
ver el número de semitonos de cada una de las especies de cuartas.
Identificación de cuartas
Para poder determinar la especie de una cuarta debemos saber que:
• Todas las cuartas naturales son justas excepto fa-si. De haber notas alteradas, se
recomienda analizar el intervalo sin las alteraciones y luego ver en que forma las
alteraciones afectan al intervalo.
Ejemplo: sol-do#:
Hoja 68/85
Identificar cuartas contando tonos y semitonos es lento y peligroso.
Las quintas
Las quintas pueden ser justas (o perfectas), aumentadas o disminuidas. A continuación:
pueden ver el número de semitonos de cada una de las especies de quintas.
Identificación de quintas
Para poder determinar la especie de una quinta debemos saber que:
• Todas las quintas naturales son justas excepto si-fa. De haber notas alteradas, se
recomienda analizar el intervalo sin las alteraciones y luego ver en que forma las
alteraciones afectan al intervalo.
Ejemplo: re-la#:
Hoja 69/85
Identificar quintas contando tonos y semitonos es lento y peligroso.
Las sextas
Las sextas pueden ser mayores, menores, aumentadas o disminuidas. En la tabla a continuación
pueden ver el número de semitonos de cada una de las especies de sextas.
Identificación de sextas
La forma más segura de identificar las sextas es invirtiendo el intervalo e identificando la tercera
que resulta. Por ejemplo, para identificar la sexta do#-la#:
• Invertimos el intervalo. Identificamos la 3ra. que resulta. Como es una 3ra. menor, la 6ta.
es mayor.
Hoja 70/85
Una 6ta. mayor invierte en una 3ra. Menor
Las séptimas
Las séptimas pueden ser mayores, menores, aumentadas o disminuidas. A continuación pueden
ver el número de semitonos de cada una de las especies de séptimas.
Identificación de séptimas
La forma más segura de identificar las séptimas es invirtiendo el intervalo e identificando la
segunda que resulta. Por ejemplo, para identificar la séptima do-si:
• Invertimos el intervalo.
• Identificamos la 2da. que resulta.
• Como es una 2da. menor, la 7ma. es mayor
Hoja 71/85
Las octavas
Las octavas pueden ser justas (o perfectas), aumentadas o disminuidas. A continuación pueden
ver el número de semitonos de cada una de las especies de octavas.
Alteraciones
La altura o frecuencia sonora de las notas
descendentemente por medio de las alteraciones:
Hoja 72/85
puede
ser modificada
ascendente o
Consonancias y disonancias
Los intervalos son clasificados como consonantes o disonantes de acuerdo a la complejidad de
la relación matemática de la frecuencia sonora de las notas que lo componen.
A pesar de que a través de la historia el concepto de consonancia y disonancia ha variado e
incluso hoy día los teóricos no siempre concuerdan, podemos ofrecer la siguiente clasificación:
Consonantes
Unísono
Terceras mayores y menores
Cuartas justas
(se considera una disonancia en la armonía y el
contrapunto)
Quintas justas
Sextas mayores y menores
Octavas justas
Disonantes
Segundas
Séptimas
Cuarta aumentada
Quinta disminuida
Enarmonía
Se llama notas enarmónicas a dos notas de nombre diferente pero de misma frecuencia
sonora. Por ejemplo sol#-lab son notas enarmónicas.
Intervalos ascendentes y descendentes
Cuando la segunda nota de un intervalo es más aguda que la primera, decimos que es un
Hoja 73/85
intervalo ascendente. En el caso contrario decimos que el intervalo es descendente.
Intervalos compuestos y simples
Intervalos simples son aquellos que no son mayores a una octava. Intervalos compuestos
son aquellos que sobrepasan la octava.
La novena, décima, undécima y decimotercera son ejemplos de intervalos compuestos.
En ocasiones simplificamos los intervalos compuestos y nos referimos a ellos por el nombre del intervalo
simple correspondiente:
Intervalos melódicos y armónicos
Un intervalo armónico es aquel en que las notas se tocan simultáneamente. En los intervalos
melódicos las notas se tocan en forma sucesiva:
Semitonos cromáticos y diatónicos
Se dice que un semitono es cromático cuando se produce entre dos notas del mismo nombre,
por ejemplo la-la#. Un semitono diatónico se produce entre notas de nombre diferente como
la-sib:
Hoja 74/85
Relación matemática de los intervalos
El la sobre el do central tiene normalmente una frecuencia de 440 ciclos por segundo o Hertz.
Esto quiere decir que vibra 440 veces cada segundo. Un la una octava más agudo vibra a 880 Hz.
teniendo exactamente el doble de vibraciones por segundo. Esta relación se expresa
matemáticamente como 880:440 ó 2:1. A continuación ofrecemos una tabla de las relaciones
matemáticas de algunos intervalos organizados de consonantes a disonantes:
Relación
2:1
3:2
4:3
5:4
6:5
9:8
16:15
Intervalo
Octava
Quinta
Cuarta
Tercera mayor
Tercera menor
Segunda mayor
Segunda menor
Acordes
Tres o más notas, tocadas simultáneamente forman un acorde. Tradicionalmente, los acordes se
han construido sobreponiendo dos o más terceras. Por ejemplo, las notas do-mi-sol forman un
acorde o triada mayor. La nota que sirve de base para construir el acorde, recibe el nombre de
fundamental. Las otras notas reciben el nombre del intervalo que forman con relación a la
fundamental:
Las inversiones
Decimos que un acorde está en posición fundamental si su fundamental es la nota más grave.
En un acorde de tres sonidos o triada, podemos además disponer el acorde en primera o
segunda inversión. Un acorde está en primera inversión cuando su tercera es la nota más
grave. Está en segunda inversión cuando su quinta es la nota más grave. A continuación pueden
ver la triada de do mayor en posición fundamental, primera y segunda inversión:
Hoja 75/85
Mientras más notas tenga un acorde, más inversiones puede tener. A continuación presentamos
el acorde de sol séptima de dominante en sus cuatro posiciones:
Las triadas
Las triadas son acordes de tres sonidos. Las triadas pueden ser mayores, menores,
aumentadas o disminuidas. A continuación pueden ver la estructura de cada uno de
estos acordes:
Hoja 76/85
Las triadas mayores y menores se consideran perfectas por tener siempre una quinta justa o
perfecta. Las triadas disminuidas y aumentadas reciben su nombre por el tipo de quinta que
tienen.
Formación de triadas en las escalas mayores
A continuación pueden ver las triadas que podemos construir utilizando las notas de una escala
mayor:
En todas las escalas mayores, las triadas que se forman sobre los grados I, IV y V son mayores. Las que se
forman sobre los grados II, III y VI son menores y disminuida la que se forma sobre el grado VII.
Hoja 77/85
Formación de triadas en las escalas menores
Debido a los tres tipos de escalas menores, natural, armónica y melódica, tenemos una mayor
variedad de triadas en estas escalas:
Triadas en la escala menor natural:
Triadas en la escala menor melódica:
Triadas y grados de las escalas
En la siguiente tabla podemos ver los grados de las escalas en que encontramos cada tipo de
triada:
Triada
Mayor
Menor
Escala
mayor
I, IV, V
II, III, VI
Escala
menor
natural
III, VI, VII
I, IV, V
Hoja 78/85
Escala
menor
armónica
V, VI
I, IV
Escala
menor
melódica
IV, V
I, II
Disminuida
Aumentada
VII
-
II
-
II, VII
III
VI, VII
III
Conocer la especie o tipo de triada que se forma sobre cada grado puede ayudar a identificarlas.
Identificación de triadas
La rapidez y seguridad en la identificación de triadas es un requisito indispensable para poder
analizar y entender la música que interpretamos y escuchamos. Conviene por lo tanto
desarrollar esta habilidad. Para ello es necesario dominar la identificación de intervalos,
especialmente las terceras y quintas.
Usando nuestro conocimiento de los intervalos podemos rápidamente identificar las triadas.
Una forma de hacerlo es identificando la tercera y luego la quinta En la tabla a continuación
pueden ver la combinación de intervalos propia a cada tipo de triada:
Hoja 79/85
Podemos también identificar las dos terceras que forman el acorde. En la tabla a continuación pueden ver
la combinación de intervalos propia a cada tipo de triada:
Otra forma de identificar las triadas
Si conocemos bien el tipo de triada que se forma sobre cada grado de las escalas, podemos usar
este conocimiento para identificar rápidamente las triadas.
Algunos ejemplos:
Hoja 80/85
Re mayor. La tonalidad de este ejemplo es sol mayor. El acorde está construido sobre el V grado
de la escala. Sobre el V grado de las escalas mayores se produce una triada mayor.
Do menor. La tonalidad es la de sib mayor. El acorde está construido sobre el II grado. Sobre el
II grado de las escalas mayores encontramos siempre una triada menor.
Do# mayor. En este caso tenemos dos formas para averiguar el tipo de triada.
1. Podemos pensar que la tonalidad es la de la mayor. Sobre el III grado de las escalas
mayores encontramos una triada menor, sin embargo en este caso la 3ra. del acorde se
ha convertido en una 3ra. mayor al estar alterada ascendentemente. Por lo tanto la triada
es mayor.
2. Podemos también pensar que la tonalidad es la de fa# menor. El mi# es propio de escala
menor armónica y melódica. En ambos casos el acorde que se forma sobre el V grado es
mayor.
Los acordes de séptima
Si añadimos una tercera a cualquier triada obtendremos un acorde de séptima. Damos este
nombre debido al intervalo de séptima que se forma con relación a la fundamental. Podemos
formar acordes de séptima sobre cada uno de los grados de las escalas mayores y menores. Para
identificarlos, analizamos la triada y el intervalo de séptima que forman el acorde.
A continuación pueden ver la estructura y ejemplos de los acordes de séptima más comunes:
Hoja 81/85
Acordes de novena
Si añadimos una novena a un acorde de séptima, obtenemos un acorde de novena.
Los acordes de novena más comunes son los que se forman sobre el grado de la dominante,
tanto en tonalidades mayores como menores. Debido a que la novena que se forma es mayor en
las tonalidades mayores y menor en las tonalidades menores, acostumbramos llamar a estos
acordes novena dominante mayor y novena dominante menor:
Hoja 82/85
Escalas
El sistema de afinación temperada divide equitativamente la octava en doce sonidos. Una escala
es un conjunto de notas escogidas de entre estas doce notas.
Damos el nombre de grados a cada una de sus notas. Cada grado tiene su nombre, aunque
también acostumbramos identificarlos usando números romanos:
Las dos características que distinguen una escala de otra son:
• El número de notas que tiene
• La distancia entre sus grados
Por ejemplo, con las siete notas naturales, podemos construir por lo menos 7 escalas diferentes.
Dos ejemplos:
Cada una de estas escalas tiene un orden de tonos y semitonos que la caracteriza. La primera de
ellas recibe el nombre de escala mayor, la segunda es el III modo gregoriano o modo frigio.
Estos nombres identifican la estructura específica de cada escala.
Podemos construir una escala comenzando en cualquier nota usando alteraciones para
Hoja 83/85
mantener el orden de tonos y semitonos. Por ejemplo, para construir una escala mayor sobre la
nota re, debemos alterar las notas fa y do:
Decimos que esta escala es la escala de re mayor. Mayor por su estructura, re por ser la nota
sobre la que se construye.
Existe una infinidad de escalas. Inclusive, podemos inventar escalas al momento de componer.
Compositores como Claude Debussy, Olivier Messiaen y Bela Bartok, entre otros, lo han hecho
en el pasado reciente.
La escala menor
Al igual que la escala mayor, la escala menor tiene 7 notas. Sin embargo existen tres variedades:
menor natural, menor armónica y menor melódica. La diferencia entre estos tres tipos de escala
es la alteración de los grados VI y VII.
En la escala menor natural, todas las notas aparecen con las mismas alteraciones de su relativo
mayor. De ahí el nombre de natural:
En la escala menor natural los semitonos se encuentran entre los grados II-III y V-VI.
Es muy común encontrar el VII grado de una escala menor alterado ascendentemente. Esta
escala la conocemos por el nombre de escala menor armónica. El nombre se debe a que una de
las razones para la alteración del VII grado es de índole armónica. Alterar esta nota permite la
formación del acorde de dominante o 7ma. de dominante sobre el V grado de la escala:
Además de alterar el VII grado, podemos también alterar el VI grado. Esta escala recibe el
nombre de escala menor melódica. El propósito principal de esta alteración es facilitar el
Hoja 84/85
movimiento melódico del VI al VII grado, evitando la 2da. aumentada que se forma en la escala
menor armónica. Por esta razón se le da el nombre de melódica:
Escalas relativas
Las escalas de do mayor y la menor natural tienen las mismas notas. Decimos que son escalas
relativas. Do es relativo mayor de la y la es relativo menor de do:
Para averiguar el relativo menor de una escala mayor basta con buscar su VI grado. Por ejemplo,
el relativo menor de fa mayor es su VI grado re.
En el caso de los relativos mayores, buscamos el III grado. Por ejemplo, el relativo mayor de do
menor es su III grado mib.
La tonalidad
El concepto de tonalidad va tomando forma durante el Renacimiento y se establece desde el
período Barroco. Está relacionado al uso de las escalas mayores y menores.
Cuando construimos una obra usando una escala mayor o menor, la tónica de esta escala se
convierte en el centro tonal. La pieza encuentra su reposo o descanso en esta nota. Decimos
entonces, que estamos en la tonalidad relacionada a esta escala. Por ejemplo, si la escala fuera
la de re mayor decimos que estamos en la tonalidad de re mayor.
En las obras musicales escritas en los períodos Barroco, Clásico y Romántico cuando hablamos
de la tonalidad de una obra, queremos decir que ésta es la tonalidad principal.
Sin embargo, se producen innumerables modulaciones (cambios momentáneos de tonalidad) a
través de la obra.
Los acordes, muy especialmente los de séptima de dominante, y la armonía participan en la
definición de la tonalidad y en los procesos de modulación.
Hoja 85/85