lunes, 21 de noviembre de 2011

La idea

disco / 1979 / Let The Music Play


youtube: Arpeggio - Love and Desire // Link
youtube: Arpeggio - Love and Desire [edited] // Link

Las primeras veces que escuche esta canción [increíble de estreno en la disco], me gustó tanto que me pregunté ¿cómo puedo replicarla en software y controlar el ritmo a mi gusto? Me refiero a los segundos iniciales, por supuesto. Era cerca de 1980, programaba exclusivamente en ensamblador, la memoria era mínima y para complicar más las cosas, el hardware no tenía ninguna relación con generar sonidos. Pero la curiosidad era válida, entonces, why not?

Lo intenté hasta un par de años después (ca. 1982). El lenguaje era el mismo, el hardware solo con más memoria; y algo rudimentario a mi favor: improvisar. Previamente descubrí que si el circuito integrado del hardware se colocaba cerca de la antena de ferrita de una radio AM, al funcionar el circuito inducía una distorsión que se escuchaba con claridad en la bocina del radio. Ciertas funciones, tenían diferentes tonos y algunos se parecían a los de la canción. Entonces, se le puede hacer “hablar” a este cacharro "mudo". Ahora lo siguiente era diseñar el sistema de control.

De manera abstracta, la canción la imaginaba como una secuencia dinámica de direcciones de memoria, cuyo contenido era numérico: cada número, una nota; cada secuencia, un ritmo. La secuencias (como los hilos actuales) serían administradas por una subrutina maestra, que las unía o separaba en cualquier punto, mediante indirecciones de memoria (ahora llamados punteros), todo dirigido por una secuencia maestra de control, y por teclado en tiempo real.

Tenía la idea y el concepto prometía. Diseñar el software no fue ningún problema. Cada dirección de memoria llamaba como indirección a una función hardware específica, que al activarse emulaba --en teoría- a una nota musical cerca de la radio. Lo que la subrutina maestra realmente administraba eran offsets de memoria. Aquí empezaron los problemas insalvables.

Al hacer el inventario de funciones hardware útiles, encontré solo dos con tono y duración correcta. Las demás eran mezcla de tonos con diferentes duraciones en su ejecución. Con lo anterior no se puede generar ningún ritmo útil, puro galimatías. Y aquí terminó el experimento. Tuve que esperar al BASICA en una 8088 para tener a mi disposición funciones musicales. Pero ya no era de mi interés.

Lo intenté más tarde --con otro ritmo- en una 80286, con llamadas a macros --PLAY- de Quick BASIC, pero hice un reverendo carampiñado, que era más un teclado musical que un secuenciador algorítmico de tonos. Nunca más regresé a este asunto, hasta hoy recordando.


Actualización (5 diciembre 2011): A algo así me refiero, pero 100 años antes...
youtube: Floppy music DUO - Imperial march // Link

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.