Les presento el primer artículo que me publicaron. Apareció en diciembre de 1993 en la gaceta La Nota Musical, editada por la empresa Pianos y Órganos S.A. de C.V. Aunque los programas descritos aquí hace mucho que dejaron de existir, creo que puede ser valiosa esta información para comprender y apreciar el camino recorrido en el campo de la tecnología musical.
El término «composición algorítmica» lo he visto aparecer de manera cada vez más frecuente en las revistas de programas (software) musicales. El uso de la palabra algoritmo nos remonta inmediatamente hacia los dominios de las Matemáticas, disciplina que, tal vez a muchos de nosotros, inspira un poco de temor. Sin embargo, la idea que hay detrás de estos programas de composición algorítmica es muy sencilla, lo cual espero demostrar en este trabajo, al mismo tiempo que dar un panorama general de cómo pueden ayudar estos programas al compositor: para algunos de ellos estos programas no podrán servir de nada, para otros más podrán ser interesantes, y para unos terceros pueden ser una buena vía para obtener ideas musicales originales.
Esbozo Histórico
Usar la computadora como compositora o generadora de ideas musicales es algo que se ha venido haciendo desde hace algunos años; curiosamente, las ideas básicas o generadoras bajo las cuales opera una computadora que «compone» música son prácticamente las mismas, lo que ha cambiado son las formas externas de esas ideas.
He reunido varias referencias de lo que podrían ser antecedentes de los actuales programas de composición algorítmica.
a) Hay un manual de William Geiss de 1751 titulado “El arte de componer música por un método exclusivamente nuevo, beneficioso para los talentos más empobres.” (sic) 1 Este manual pedía como instrumento principal de trabajo un cepillo duro, el cual debía de remojarse en tinta y salpicar con él sobre el papel pautado; las gotas de tinta representarían así las notas y únicamente restaría poner la clave, armadura, las duraciones de las notas, etc., para terminar la «composición». Evidentemente éste era un manual escrito totalmente en broma, pero esta forma de trabajar la podremos ver en algunos de los programas que describiremos más adelante.
b) Kirnberger, “Manual para la composición de polonesas y minués con los dados” (1757). Este, a diferencia del primero, era totalmente serio. Cito aquí textualmente, debido a la claridad de la explicación, la descripción de su manejo:
El autor creó hasta una tabla especial -–un plan musical–. Consistía en seis columnas numeradas y ocho líneas. Junto a cada columna había un número que correspondía a uno de los números en las caras del dado, mientras que a cada línea correspondía un compás de composición. En la casilla de la tabla el autor escribía cualquier combinación de notas, el lanzamiento del dado daba un número casual, desde el 1 al 6. Supongamos que cayera el número 4. Entonces en la casilla de intersección de la columna con el número 4 y la primera línea (del primer compás) se encontraba una combinación de notas que se consideraba el primer compás del minué. Después los dados se lanzaban una y otra vez hasta el último compás, el octavo. Entonces se consideraba que el minué estaba terminado. 2
c) Tenemos un método de Mozart publicado en 1793, llamado “Manual para componer valses con ayuda de dos dados sin tener la más mínima idea de la música y la composición”. 3 Este también consiste de una tabla con compases los cuales se van escogiendo según lo determinen los dados.
Existen también algunos dispositivos que se han fabricado con este fin:
d) El «Arca Musaríthmica» (Athanasius Kircher, 1660). Era una máquina para componer «consistente en una caja con correderas en las que están escritos tonos, compases y ritmos. El procedimiento para ‘componer’ es tan simple como sacar a una altura al azar con cualquier corredera, e ir anotando lo que aparece en el lugar que se escogió detenerla». 4
e) «Kaleidacusticon» (1822-23). Este es una variante más de los tres anteriores, pero aquí se utilizaba un grupo de cartas, que al combinarlas formaban la composición; el número de valses que se podían formar por las distintas combinaciones era de 214 millones. 5
f) El «Electronium» de Raymond Scoott (1965). Su inventor la llamaba una máquina de composición. Uno le sugería un tema y la máquina trabajaba con él, guiándola por medio de un interruptor y una serie de perillas. Este fue uno de los primeros usos de la inteligencia artificial en la música electrónica. 6
Tenemos algunas composiciones hechas por computadoras:
g) Suite Illiac, para cuarteto de cuerdas, por la computadora Illiac de la Universidad de Illinois 7. Esta suite se produjo en el año de 1956. La computadora fue programada para generar notas al azar, las secuencias formadas así eran analizadas por el programa para ver si cumplían con determinadas reglas (del contrapunto en primera especie), si la secuencia las cumplía, era aceptada, si no, se rechazaba; lo mismo se hacía con los patrones rítmicos, las dinámicas y las instrucciones de la ejecución
h) Melodías de los Urales, computadora Ural, URSS 8. Este trabajo lo desarrolló el científico soviético R. J. Zaripov, quien programó la computadora y le dió a esta reglas y patrones para producir melodías. Por ejemplo, si la máquina generaba cinco notas sucesivas en movimiento ascendente la sexta nota iría obligatoriamente hacia abajo; o también, el intervalo entre dos notas consecutivas no debe ser más grande de la octava.
Conceptos Teóricos
Aunque actualmente las computadoras son para nosotros unos aparatos cada vez más familiares y palabras como software, hardware, memoria R.A.M., etc, forman parte frecuentemente de pláticas coloquiales, creo que es preciso aclarar una serie de conceptos (que incluso yo mismo he usado más arriba en este trabajo), para pisar sobre terreno firme y evitar confusiones.
La computadora es una máquina que para realizar la operación más pequeña necesita que ésta le sea explicada con todo detalle y, por supuesto, en su propio lenguaje; ésto es, si, por ejemplo, uno quiere que la computadora dibuje un círculo en su pantalla, ésta va a necesitar cada uno de los pasos, todas las instrucciones necesarias para realizar esa operación; si quiero que me calcule un promedio de 300 cantidades que le he proporcionado, para llevar a cabo esto la computadora tendrá que tener almacenada toda la serie de instrucciones que le permitirán alcanzar el resultado deseado. Esta serie de instrucciones ordenadas que le dicen a la máquina como realizar un determinado trabajo, es lo que se llama PROGRAMA y es precisamente el PROGRAMADOR quien va a poner todas estas instrucciones en orden y en un lenguaje accesible para la computadora. De esta manera, tendremos un programa para dibujar un círculo, otro programa para calcular promedios, otro programa que me permita escribir una carta, otro programa diferente de composición algorítmica para generar ideas musicales, etc.
Ahora bien, la tarea del programador no es cosa fácil, ya que, por ejemplo, si quiere hacer un programa que calcule promedios, debe conocer las reglas que le permiten solucionar este tipo de problema o, como se dice en las Matemáticas, conocer el ALGORITMO.
El algoritmo para encontrar la superficie de un triángulo sería:
(b x h) / 2
Donde «b» es la base del triángulo y «h» es la altura.
El algoritmo para conocer el volumen de un cubo sería:
L x L x L
Donde «L» representa la medida de uno de los lados del cubo.
Tenemos a continuación el algoritmo para encontrar el promedio de 4 cantidades:
(a + b + c + d) / 4
Donde «a», «b», «c» y «d» son las cuatro cantidades.
De esta manera, dentro de todas las instrucciones que formen nuestro programa, deben estar contenidas las instrucciones que resuelvan en sí el problema, es decir, el programa debe de contener el algoritmo.
La explicación detallada de por qué éstos programas se llaman de «composición algorítmica» la dejaremos para más adelante, ya que considero necesario dar una revisión general a dos programas de este tipo, y una vez que hayamos visto como trabajan, podremos aclarar muchos conceptos.
Descripción de los Programas «M” y «Tunesmith»
Programa «M The Interactive Composing and Performing System” 9
El trabajo en este programa se realiza en tres etapas:
1) Uno le da a la computadora un material básico, consistente en notas aisladas o incluyendo algunos acordes.10 El programa va a captar solamente que notas tocamos, sin importarle el ritmo, ni la duración de estas. Por ejemplo, tocamos una serie ascendente: do, re, mi, fa, sol.
2) A continuación uno determina las maneras en que este material básico va a ser transformado. A nuestra serie de cinco notas, le asignamos un patrón de cinco duraciones, le asignamos un volumen general y un patrón de acentuación que podría ser una nota fuerte y cuatro débiles.
3) La máquina toca nuestra secuencia una vez ya transformada. Aún siendo «interpretada» esta secuencia, nosotros podemos seguir modificándola mientras esto ocurre. Nuestra serie de cinco notas va a ser tocada en un ciclo sin fin, con el volumen, y los patrones de duración y acentuación que le dimos. También mientras es tocada esta secuencia, podemos transportarla a cualquier intervalo deseado, hacer que se toque con un timbre distinto de nuestro teclado, aumentar o disminuir el tempo con el que es tocada, duplicar o dividir la duración de cada una de las notas, imponerle algún patrón de articulación, etc. Esto se vuelve más interesante si nuestro patrón de acentuación (o de duración) es de una longitud distinta al número de notas que introducimos, que en este ejemplo es igual a cinco; si escogemos, por ejemplo, un patrón de una nota acentuada y dos débiles, como nuestra serie se repite una y otra vez, tendremos lo siguiente:
do re mi fa sol do re mi fa sol do re mi fa sol do
Donde las notas escritas en negritas serían las acentuadas y las notas escritas en letra normal serían las débiles. Estos patrones de articulación, de duración, o de acentuación puede uno formarlos o escogerlos de entre una serie de ellos que ya están preestablecidos, lo que se asemeja a la forma de «componer» por medio de los dados (véanse los incisos «b», «c», «d» y «e» más arriba), donde ya tenemos pequeñas células rítmico-melódicas preestablecidas o prefabricadas que vamos combinando, con la diferencia de que en el programa «M» éstas células pueden ser de distintos aspectos de la música como la acentuación, la duración o la articulación.
Otro tipo de transformaciones incluyen el cambiar la dirección de las notas, especificando la probabilidad de que esas notas sean tocadas en dirección inversa; se puede hacer también que el orden de nuestra serie de notas cambie al azar, lo que sería una versión moderna del método de Geiss del cepillo remojado en tinta (ver inciso «a»).
Programa «Tunesmith» 11
Tunesmith es un programa para generar temas musicales y variaciones. Los temas pueden ser creados usando una escala de un repertorio de cientos de ellas, y tiene un generador de acompañamiento que permite la creación de un infinito número de líneas de acompañamiento basadas en estos temas.
El programa va a generar temas que cumplirán una serie de requisitos que el usuario le va a proporcionar; ésta serie de requisitos, que en el programa se les llama parámetros van a determinar la naturaleza del tema creado.
A continuación tenemos algunos de los parámetros listados (el número total de éstos es igual a dieciséis):
Microbeat: Determina la unidad rítmica más pequeña que puede ser utilizada, octavo, dieciseisavo, etc.
Theme Length: Longitud del tema.
Rest Probability: Es la probabilidad de que se incluya algún silencio en el tema.
Rhythm Algorithm: Uno de seis diferentes algoritmos puede ser usado para generar el ritmo del tema.
Maximum Step Size: El más grande intervalo que puede existir entre dos notas consecutivas.
High Note y Low Note: Los límites superior e inferior para la selección de las alturas.
Rhythm Var Algorithm: Selecciona uno de cinco algoritmos para ser usado en la variación del tema.
Pitch Var Algorithm: Selecciona uno de cuatro algoritmos para ser usado en la variación de las notas del tema.
Como puede observarse, el método para la creación de éstas melodías es extremadamente parecido al usado por las computadoras Illiac y Ural (citadas en los incisos «g» y «h»): se tiene un conjunto de reglas que la serie de notas creada deberá de cumplir, si no, la computadora modificará esta serie o creará otra secuencia.
Análisis de las Características Generales
Una vez revisados dos programas de «composición algorítmica», creo que ya podemos saber el porqué de este nombre: para cada una de las operaciones que le van a llevar al programa a construir un tema o una composición, usará un algoritmo o fórmula, es decir el programa no podrá «decir» nunca: «coloco ésta nota aquí para crear más tensión», sino que «la coloco aquí porque la regla me indica que está dentro de las notas límite superior e inferior».
Si recordamos el ejemplo del programa «M», cada una de las transformaciones que iban a ser aplicadas a nuestro material musical, siguen cada una un algoritmo que fue incluído por el programador.
Por último, mencionaremos las características que pertenecen por igual a estos programas de composición algorítmica:
1) El usuario va a proporcionar el material base que va a ser trabajado por el programa, el cual puede ser una simple melodía, una serie de acordes, una combinación de las dos anteriores o un patrón rítmico, o también una serie de reglas o parámetros que deberán de cumplir las secuencias creadas.
2) El programa dispone de una serie de algoritmos que le van a permitir modificar el material dado. Estas transformaciones, que se aplicarán según lo desee o no el usuario, son muy diversas; entre ellas tenemos: Modificación de la acentuación, de la articulación, cambio de escala o de modo, transporte, supresión aleatoria de algunas notas de la secuencia.
3) Muchas de estas transformaciones las realiza el programa de manera aleatoria y a una velocidad increíblemente rápida.
4) El material que ha sido modificado es presentado al usuario, quien determinará si este puede tener alguna utilidad musical.
5) Por lo anterior: son programas interactivos, esto es que hay una constante comunicación entre el usuario y la computadora.
Conclusiones
A través de la realización de este trabajo me he dado cuenta de que en realidad no han surgido ideas nuevas al componer por medio de las computadoras, sino que ideas que datan de tiempo atrás han sido vueltas a tomar, pero adecuándolas a los recursos nuevos, usando ideas viejas pero con tecnología moderna.
Desde mi particular punto de vista, para obtener algunos resultados musicales de este tipo de programas, habría que trabajar bastante tiempo con ellos, ya que el número de combinaciones de todos los parámetros del programa es increíblemente grande. Y, como mencioné al principio de este trabajo, la utilidad que un compositor pueda obtener de estos programas variará según los gustos y la tendencia de cada uno.
Notas
1. Victor Pékelis, Pequeña enciclopedia de la gran cibernética
(Moscú: Editorial Mir, 1977) p. 247.
2. Ibidem, p. 248.
3. Ibidem, p. 249.
4. Raúl Pavón Sarrelangue, La Electrónica en la Música y en el Arte
(México: INBA-SEP Publicaciones Cenidim, 1981) p. 50.
5. Ibidem, p. 53.
6. Freff, «Raymond Scott’s Electronium. (1965)», Keyboard,
February 1989, Vol. 15, No. 154, p. 50.
7. Pavón Sarrelangue, pp. 54 y 205.
8. R. J. Zaripov, «Sobre la descripción algorítmica del proceso de
composición de la música.», Informes de la Academia de Ciencias de la URSS. Citado por Pékelis, p. 249.
9. Intelligent Music. Box 8748. Albany, NY 12208, U.S.A. (518) 434-4110
10. Cómo es posible darle este material musical a la computadora es un tema que nos llevaría todo un trabajo aparte. Diremos solamente que por medio de un teclado electrónico conectado a la computadora con una interfaz, es posible que al tocar en este teclado cualquier fragmento musical la computadora pueda identificar las teclas pulsadas; y viceversa: podemos a través de la computadora mandarle información al teclado para que suene las notas que queramos.
11. Dr. T’s Music Software. 220 Bolyston Street, Chestnut Hill, MA 02167.

