Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Redes neuronales que componen música como Bach

Uno de los más prolíficos músicos de toda la historia es sin duda Johann Sebastian Bach, quien escribió un total de 1,128 obras. Wolfang Schmieder...

Uno de los más prolíficos músicos de toda la historia es sin duda Johann Sebastian Bach, quien escribió un total de 1,128 obras. Wolfang Schmieder elaboró en 1950 un registro que se conoce por las siglas BWV (que significa “Catálogo de la obras de Bach”) y es un sistema de numeración para identificar las obras del compositor alemán.

La producción musical de Bach comprende cantatas (BWV 1-224), obras corales a gran escala (BWV 225-249), pasiones (BWV 250-524), oratorios y corales, y otras obras sacras. Hay música instrumental (BWV 525-1127), que incluye obras para órgano (BWV 525-748), otras obras para teclado (BWV 772-994), música para laúd (BWV 995-1000), música de cámara (BWV 1001-40), música orquestal (BWV 1041-71), y cánones y fugas (BWV 1072-1126), además de otro tipo de música instrumental como conciertos (varios para un único solista y otros con hasta cuatro solistas), sonatas, suites, oberturas, preludios, fantasías, ricercares, variaciones y pasacalles.

Para quien guste de la música del prodigio alemán que fue Bach, le será claro que su estilo era muy fácil de reconocer. De alguna manera llevan la marca de Bach y en algún sentido es el estilo del propio compositor que se nota en sus producciones de la música barroca.

Y tal vez pensando en ello, podemos mencionar una forma de música en la que Bach era extraordinario, que es un tipo de himno polifónico conocido como cantata coral. Esto se basa en los textos luteranos y se cantan en cuatro voces. El compositor entonces empieza con una melodía muy conocida, cantada por la soprano y entonces se componen tres armonías cantadas por las voces alta, tenor y baja. Bach escribió unas 300 obras de este tipo.

Estas composiciones han atraído a los científicos de cómputo porque el proceso de producirlas pudiese definirse como un algoritmo. Hacer esto tampoco es simple, porque hay una intrincada relación entre la armonía y la melodía. Y esto llevó a la pregunta: ¿Podría crearse un programa que escribiese corales al mejor estilo de Bach?

Gaetan Hadjeres y Francois Pachet, en el Laboratorio de Ciencias de la Computación de Sony, en París, decidieron tratar de responder esta pregunta y para ello desarrollaron una red neuronal que puede aprender a escribir cantatas corales en el estilo de Bach. Han llamado a su máquina DeepBach.

“Después de entrenar las armonizaciones corales de Bach, nuestro modelo fue capaz de generar corales altamente convincentes en el estilo de Bach”, dicen los investigadores. De hecho, la mitad de las veces este tipo de composiciones engañó a expertos humano pensando que estas obras habían sido escritas por el propio Bach.

El entrenamiento de esta máquina que aprende es así: Hadjeres y Pachet empezaron creando un conjunto de datos para entrenar a su red neuronal. Empezaron con 352 corales compuestos por Bach y entonces traspusieron estas con otras que tenían un rango vocal predefinido, que le dio un total de 2503 corales. Usaron el 80% de estos para entrenar y hacer que la red neuronal reconociera las armonías de Bach. El resto se usó para validar los datos. La máquina entonces produce armonías al estilo de Bach. El equipo probó al mecanismo dando una melodía, la cual se usa para producir las armonías de las otras tres voces como ya mencionamos.

Hay otros algoritmos que también pueden hacer cosas parecidas a lo que se ha hecho en esta investigación, pero la pregunta importante es qué tanto se compara con el trabajo de Bach. Para hallar esto, l equipo le preguntó a unas 1,600 personas que escucharan dos diferentes armonías de la misma melodía. Más de 400 de ellos fueron músicos profesionales o estudiantes de música. Cada uno determinó cual de las dos armonías sonaba más como Bach. El equipo incluyó armonías producidas por otros algoritmos en estas pruebas.

Los resultados son interesantes: cuando se les dio una armonía generada por DeepBach, alrededor de la mitad de los votantes juzgaron que se trataba de una obra compuesta por Bach. Esto es significativamente más alto que usando otros algoritmos para generar este tipo de música. “Consideramos esto una buena puntuación conociendo la complejidad de las composiciones de Bach”, indicaron los investigadores. Cabe señalar que cuando se les confrontó con música compuesta por Bach, los participantes acertaron a decir que era obra del músico alemán en un 75% de las veces.

Este es un trabajo que tiene implicaciones fascinantes. Si es posible hacer una máquina de aprendizaje profundo que produzca corales como Bach, ¿por qué no hacer esto con otros compositores y tal vez, con otro estilo de música?

Esto podría ser una manera nueva e interesante para analizar las composiciones y estudiar la naturaleza de la creatividad. “Este método no es sólo aplicable a los corales de Bach, sino que puede ser usado para un amplio rango de música coral polifónica”, indicaron Hadjeres y Pachet. Sin embargo, una cosa es hacer suposiciones y otras realizar el trabajo respectivo. Los corales de Bach son muy estructurados y siguen reglas específicas en su construcción pero no siempre es el caso. Otras formas de música no son tan organizadas.

Finalmente, a quien le interese escuchar muchas de las obras de Bach (como archivos MIDI), puede descargar una pequeña app que escribí hace años al respecto. La pueden descargar de este enlace.

Referencias: Technology ReviewDeepBach: A Steerable Model for Bach Chorales Generation 

Comentarios