viernes, 26 de marzo de 2010

Tecnología obsoleta


A diferencia de lo habitual, REQUIEM está siendo desarrollado usando un ordenador arcaico con unas prestaciones ridículas en cuanto a velocidad y potencia. Esto garantiza que el código pueda “volar” en las máquinas de última generación. Aunque REQUIEM no ataca directamente a la CPU del ordenador, sí recarga el rendimiento del motor MIDI y audio de Logic con la consecuente carga en el driver ASIO del ordenador. Si a mi me funciona significa que funcionará en cualquier ordenador moderno.

Este principio tan “bello y noble” tiene una consecuencia negativa: estoy haciendo malabarismos para lograr tener a REQUIEM en reproducción mientras se graba el audio generado se envía simultáneamente al driver multimedia de Windows para que la aplicación de grabación de video en pantalla pueda capturar tanto la imagen como el sonido. Mi pobre PC está sufriendo… (Debo decir que aunque es una máquina muy antigua está configurada para arrancar con el 97% de recursos libres) Este es el motivo por el que hasta ahora no he publicado un vídeo con sonido.

En cuanto a REQUIEM, el motor de la sección “Drums Device” ha sido modificado con los buffers de copia de pista y copia de todo el patrón entero (“Phrase” en el argot de REQUIEM, esto es, copiar las 8 pistas simultáneamente). Además he añadido una función muy simple pero altamente útil: “Copy to next”. Esta función realiza una operación “Copy” del instrumento de percusión seleccionado (pista seleccionada en el “Drums Device”) en la “Phrase” seleccionada y pega el contenido copiado en la siguiente “Phrase” en el mismo instrumento seleccionado. Esto permite transferir pistas al patrón siguiente al actual, pudiendo crear variaciones del patrón en grabación con una sencilla operación.

Pero además estoy implementado esta misma operación a escala “Phrase”, es decir, copiando los 8 instrumentos simultáneamente a la “Phrase” siguiente a la actual. Así, al tener tu ritmo programado, podrás copiarlo al siguiente patrón y realizar modificaciones en el mismo. Luego podrás encadenarlos formando un ritmo más complejo con más compases de duración.

También he modificado el aspecto gráfico del interface de usuario. Ahora es más compacto provocando una menor confusión gráfica al mostrar tantos controles en pantalla.


Modo grabación en el "Drums Device"

Espero poder ofrecer un vídeo con sonido en breve...

domingo, 14 de marzo de 2010

Sentido del ritmo I


Fue ayer cuando di con la solución. No estaba frente al ordenador, estaba conduciendo. La solución me encontró a mi, y no yo a ella.

No he mostrado nada acerca de la caja de ritmos de REQUIEM porque sufría un curioso bug. El interface de usuario del “Drums Device” muestra las notas de cada instrumento seleccionado. Si seleccionamos “SD 1” mostrar los acentos de la pista de la caja 1. Si luego pulsamos “BD 2” mostrará los acentos del segundo bombo, dependiendo del patrón seleccionado. Pero esto no ocurría hasta ahora. A veces se mostraba el contenido correcto pero sonaban patrones distintos. Habiendo repasado el código cientos de veces, decidí hace semanas avanzar por otros caminos programando otras áreas de REQUIEM. Y el código no estaba mal, estaba bien escrito, lo que fallaba era la ruta de ejecución.

Esquema del código. Parte musical, sin síntesis de sonidos.

Código E-Code del dispositivo de ritmos. Parte musical, sin síntesis de sonidos.
Cada instrumento de la caja de ritmos tiene su propio botón tipo On / Off para poder apagarlo si es necesario. Técnicamente, “apagar” significa que el procesado de los objetos deja de funcionar (se corta) pero que el contenido se sigue viendo. El “corte” era lo que estaba mal, pues al deshabilitar parte del proceso del instrumento apagado, éste no podía actualizarse una vez se ponía de nuevo en marcha. Y como consecuencia sonaba el contenido antiguo, el existente antes de pulsar el botón “Off”. De modo que una vez arreglado, me complace presentarte la caja de ritmos de REQUIEM:

 
¡Hasta la próxima!