1. INTRODUCCIÓN A LA
MÚSICA POR COMPUTADORA
La Música es un arte que ha evolucionado de manera sorprendente, al extremo de que ya se puede plantear la posibilidad de “enseñarles” a las computadoras a componer música, para lo cual, por medio de la Informática, que es la ciencia que se encarga de estudiar la información, se puede buscar la manera de modelar los fenómenos musicales en términos de información.
Ahora bien, para esto es muy importante tener una clara imagen de la información que se está manejando y como hablar de música es hablar de sonido, es bueno empezar a platicar del mundo sonoro: algunos ruidos y algunos procesos matemáticos con los que se pueden describir a estos ruidos.
Uno de los sentidos con los que estamos dotados,
es el oído. Gracias a él, podemos formar una imagen de lo que es el mundo
sonoro. El oído percibe lo que llamamos sonido, que es la energía de movimiento
vibratorio y estímulo adecuado para el oír. Los sonidos se clasifican en tonos
y ruidos. Los tonos son vibraciones periódicas regulares que al ser oídas
pueden descomponerse en sus armónicas. Los ruidos son vibraciones irregulares,
al azar, que al ser oídas no se pueden descomponer[1]. Cuando se habla de
música, no existe un límite en el que se pueda distinguir claramente la
diferencia entre un ruido y un tono, pues, en algunos casos, esta diferencia es
un tanto cuanto subjetiva y prueba de ello es que existen diferentes tipos de
música que para ciertas personas son, sin duda alguna tonos y para otras no son
más que ruidos, es el caso de la música oriental, que para ciertos occidentales
es sólo ruido, otro ejemplo, es el rock, que para muchas personas es sólo
gritos y tamborazos.
El sonido es de relevante importancia en las
relaciones humanas, ya que permite llevar cabo la conversación. Los sonidos que
producimos al hablar, se generan por medio de un sistema muy ingenioso. Las
cuerdas vocales se hacen vibrar, produciendo ciertos tonos que se pueden variar
al modificar la tensión de las cuerdas, dichos tonos se amplifican en la boca y
en las cavidades nasales, permitiendo que se escuchen, no tonos puros como los que genera un diapasón, pero lo
suficientemente claros como para permitir la conversación. De hecho, hay
personas que a través de la práctica han ido “educando la voz” y tienen tanto
control sobre los sonidos que producen, que realmente se les considera como
instrumentos musicales dentro de una orquesta[1].
Por otro lado,
cuando se habla de ruido, es importante comentar que existen diferentes tipos
de ruidos: Ruido 1/f, ruido de fotón o de radiación, ruido de temperatura,
ruido de amplificador, ruido térmico, ruido atmosférico, ruido cósmico, etc.
Modelar algunos de ellos resulta un excelente ejercicio como introducción a la
música por computadora.
Por lo que a
continuación y a partir de los conceptos de sistema
y correlación se verán algunos tipos
de ruidos y se mostrará como generarlos.
Un sistema, es un conjunto de elementos interrelacionados. Esto quiere decir, que prácticamente todo lo que conocemos es o pertenece a un sistema.
Es tal la
cantidad de sistemas que se pueden encontrar en el Universo, que nos hace
pensar que la Naturaleza tiene por gusto crear sistemas, un caso particular es
nuestro propio planeta Tierra, que forma parte de lo que denominamos sistema
solar, que está formado por una estrella llamada Sol y sus planetas. Este
sistema forma parte de un conjunto que contiene miles de millones de estrellas,
que muy probablemente tienen sistemas planetarios propios. Este conjunto,
llamado Vía Láctea, es una galaxia en espiral, de dimensiones fuera de los
limites de la comprensión humana, su diámetro es de aproximadamente 100,000
años luz. Ésta pertenece a un cúmulo de aproximadamente 20 galaxias y existe
una gran cantidad de estos sistemas formando parte de este Universo
esplendoroso.
Sin embargo, no sólo los cuerpos macroscópicos forman sistemas y subsistemas, pues de hecho, los grandes sistemas están compuestos por otros. Esto se ve en el caso de nuestra casa, la Tierra, en donde habitamos infinidad de seres animados e inanimados, todos formados por sistemas y subsistemas con propósitos específicos: por ejemplo el circulatorio, el respiratorio, el óseo, etc; tales sistemas y subsistemas contienen elementos que escalonadamente llegan a ser formados por células que son a su vez de gran variedad y funcionamiento: como las neuronas del cerebro humano, por medio de las cuales se transmite información, que a su vez están formadas por moléculas y átomos, al igual que los seres inanimados. Las moléculas están constituidas por átomos con neutrones, electrones, protones, y una amplia gama de subpartículas.
Como existe tal cantidad de sistemas y la realidad que viven esos sistemas va cambiando a través del tiempo, también la forma de visualizar la realidad, así como la manera de representar los distintos fenómenos que suceden día con día van evolucionando.
Por tal motivo si se quiere hacer que un sistema “artificial” se comporte como algún sistema real, decimos que estamos modelando y siempre que se hace un modelo es bueno saber de que tipo de sistema se trata, por tal motivo comenzaremos por describir algunos tipos de sistemas con la finalidad de introducirnos a la música informática.
Se denominan sistemas determinísticos a todos aquellos en donde se pueden encontrar ecuaciones que describen de manera general al sistema, con la característica de que siempre que las variables del sistema adquieran valores similares, se obtendrán resultados similares.
Por ejemplo: supóngase que se trata de saber la distancia que recorre un vehículo que viaja a velocidad constante de 3 m/seg en 2 segundos, hacer un modelo de este sistema es, prácticamente, directo.
d = (v)( t) (distancia igual a velocidad por tiempo)
si v=3 m/seg. y t=2 seg d = (3m/seg) (2 seg) = 6 m
supongamos que hubiera una pequeña variación en la velocidad y que en lugar de 3 m/seg. ahora recorra 4 m/seg. entonces
d = (4m/seg) (2 seg) = 8 m.
que es un resultado que cambia de manera directamente proporcional a la variación de velocidad.
Una característica de los sistemas determinísticos es que son bastante ordenados, lo que facilita su comprensión, el problema real es que no todos los sucesos de la naturaleza se pueden representar fácilmente en forma determinística. ¿Cómo modelar el crecimiento de un árbol, el comportamiento de las olas del mar, la formación de galaxias o el tránsito de una avenida? Por lo que como siguiente paso, veremos sistemas en los cuales los fenómenos analizados tienen un comportamiento probabilístico.
Cuando se habla
de sistemas probabilísticos, se está
hablando de sistemas que están formados por eventos que tienen mayor o menor
posibilidad de ocurrir. En general, siempre que se habla de probabilidades se
piensa en los ejemplos clásicos de los juegos de azar, pero las probabilidades
se pueden aplicar a diferentes áreas.
Por ejemplo, las personas que se dedican al estudio del clima, se encuentran, frecuentemente, en medio de procesos probabilísticos. Cuando se espera la formación de un huracán, es muy importante saber que probabilidad existe de que esto ocurra, ya que muchas veces las vidas de personas dependen de ello. Por otro lado, debido al carácter caótico del desplazamiento de los huracanes, se tiene que recurrir a los procesos probabilísticos para encontrar una posible ruta de desplazamiento del huracán. De esta forma, se intenta predecir si puede tocar tierra o no y si lo hace, que pueblos evacuar. De una buena información, obtenida a partir de un modelo probabilístico, se puede tomar una certera decisión de evacuar o no un pueblo, en caso de que el huracán se comporte según las predicciones permite que se salven las vidas de las personas, de lo contrario, se ponen en riesgo pueblos enteros o en el más benigno de los casos se evacuan pueblos que no lo necesitan, acción que cuesta mucho dinero.
Así como este ejemplo, podemos encontrar miles de aplicaciones de los procesos probabilísticos. En ciertos sistemas probabilísticos, los elementos se relacionan de tal forma, que la probabilidad de que el sistema se encuentre en cierto estado, depende de los estados o situaciones previas, el grado de relación o el grado de dependecia que guarden los estados entre sí, se mide basándose en la correlación.
Por definición, correlación es la analogía o relación recíproca entre dos o más casos. Desde luego podemos encontrar valores autocorrelacionados, en cuyo caso, significa que depende de sí mismo.

Por ejemplo, tomemos un tablero de ajedrez y un Rey, recuérdese que el Rey sólo
puede avanzar un cuadro en cualquier dirección, esto implica que su posición
depende, en gran medida, de su posición anterior, lo cual quiere decir que su
posición es altamente autocorrelacionada. Supongamos que el Rey se encuentra en
una esquina, en el siguiente movimiento se pueden escoger sólo 3 posibles casillas,
así es que podemos predecir que después de la siguiente tirada, el Rey estará
en cualquiera de estas 3 casillas.
Ahora utilicemos a la Reina en lugar del Rey y ubiquémosla en la misma esquina, la Reina se puede mover en cualquier dirección y el número de cuadros que quiera dentro del tablero. Predecir la posición de la Reina en el siguiente movimiento no es tan fácil, ya que pude escoger entre 7 cuadros en dirección vertical, 7 en dirección horizontal y otros 7 cuadros diagonalmente, por lo tanto la posición de la Reina es menos autocorrelacionada que la del Rey, pues aunque la posición de la Reina también depende de su posición anterior, esta dependencia o autocorrelación es mucho menor que en el caso del Rey.

De esta manera, los sistemas
que tienen mayor correlación, son más determinísticos o por decirlo de otra
forma, son más ordenados y aquellos en los que el grado de correlación es
menor, tienden más al desorden.
Como ejemplo de un proceso probabilístico altamente correlacionado tenemos lo que se conoce como ruido browniano.
1.2.1.3
Ruido Browniano o Pardo
El botánico escocés Robert Brown (1773-1858) descubrió lo que ahora conocemos como movimiento browniano de las partículas, que es el movimiento oscilatorio de éstas, en suspensión en un líquido. Dicho movimiento, prueba la existencia de actividad al nivel molecular. El movimiento browniano, tiene la característica de ser altamente correlacionado.
El llamado ruido browniano, al igual que el movimiento con mismo nombre, presenta un comportamiento similar, también es altamente correlacionado. Hacer un modelo de este tipo de ruido es muy sencillo y se puede utilizar, por ejemplo, para generar música browniana o parda.
Una composición parda se puede generar de diferentes maneras, una sugerida por R. F. Voss [2] es la siguiente: Se escoge la primer nota al azar, supongamos la nota La (6, sobre el eje de las ordenadas en la gráfica de la fig. 1); a partir de esta nota se suman o se restan aleatoriamente 0, 1 ó 2 números: ejemplo (6 + 2) y se obtiene Do, ya se tiene la segunda nota de la melodía, la nota Do; se repite el procedimiento de la suma o resta de un número aleatorio entre 0, 1 y 2. A partir de Do se encuentra la tercer nota: ejemplo, (8 + 1) = 9 = Re y así sucesivamente, ejemplo, (9 - 2) = 7 = Si, es la cuarta nota, hasta obtener una melodía de la duración que se quiera.
|
|
La figura 1, muestra una gráfica donde se ve el inicio de una melodía
parda, el valor de las ordenadas se obtiene al sumar o restar de manera
aleatoria 0,1,ó 2 unidades (notas). El tiempo en este ejemplo se puede
considerar constante.
|
|
Escuchar la música compuesta de esta forma es bastante agradable, en algunos fragmentos es muy parecida a la la música del vuelo del abejorro de Nikolai Rimsky Korsakov (1844-1908). Enseguida se presenta el pseudocódigo que desarrollamos basándonos en la teoría sugerida por R.F. Voss para generar música parda.
La figura 2, muestra la gráfica tomada de la
pantalla de la computadora que se genera al ejecutar este algoritmo: En donde
la longitud y ángulo de las líneas se
determina dependiendo de la nota.
|
|
Otra manera de producir música parda o browniana, es mediante el siguiente algoritmo:
Tomemos siete dados de juego y lancémoslos. Súmense los valores de cada una de las caras superiores de los dados. Como se ve a continuación.
|
|
El valor que resulte de dicha suma representa el número de la primer Nota de la melodía. Para saber que Nota es, basta con echar un vistazo al siguiente teclado.