martes, 13 de julio de 2010

Prioridades...


Hace mucho tiempo que no pasaba por estos lares… pero tengo una explicación muy razonable: un nuevo proyecto profesional. Desde hace un mes dispongo de un tiempo limitado, y lo que es más importante, me resulta imposible lograr el nivel de concentración que requiere este proyecto.

Es algo parecido a la inspiración, para que las notas lleguen y fluyan desde ese medio que no controlamos y al que sólo podemos contactar en estados de gracia, necesitamos estar rodeados de cierta paz y armonía (con lo que sea) Lo mismo ocurre en la programación de este Environment.

Así que os pido disculpas a todos los que estáis pendientes, ya sea uno, diez o cien. Mi objetivo es acabarlo, así que no renuncio a ello. Lo que haya programado hasta la fecha ya es todo un logro, falta un tercio de la aplicación. Me gusta la palabra “aplazamiento”, posiblemente sea la más adecuada.

Hasta pronto, espero.

lunes, 17 de mayo de 2010

Control remoto


Antes de exponer las novedades del proyecto debo confesar que este blog ha batido un record muy especial: el de no tener ningún comentario acerca de lo que se expone. Como autor desconozco si se comprende el contenido expuesto, si interesa o incluso si puedo ayudar a mejorar la comprensión. Esto certifica la realidad: REQUIEM es una curiosidad de un loco que ha perdido el tiempo convirtiendo los objetos del Environment en un lenguaje de programación. Pues sí, este es el caso.

Hace días contacté con una de las eminencias del Environment a nivel internacional. El interés fue tanto como larga puede ser una frase de menos de veinte palabras. El Environment ya no interesa. Es una ventana más del poderoso engranaje de Logic, pero no una prestación estelar. Lejos quedan los días en los que uno se diseñaba el entorno virtual de su estudio. Posiblemente esto sea debido a que masivamente se usan los plug-ins de sintetizadores virtuales, y éstos ya cuentan con excelentes interfaces gráficos de usuario. El Environment tenía sentido en un mundo rodeado de hardware externo con pequeñas pantallas LCD. Todos los otros usos que podamos darle son mínimos: procesos musicales para música experimental, módulos para “humanizar” pasajes, secuenciadores… REQUIEM

Pero desde el primer día dejé claro que este proyecto se hacía realidad para demostrar la potencia REAL del Environment, así que mi única misión es que diseñarlo, acabarlo, crear su documentación y dejarlo ahí en el océano de la red: crear un producto acabado.


Remote Editor

Volvamos a las novedades de los últimos días en la programación de REQUIEM: el módulo de control remoto. Mientras se resuelven varios problemas surgidos acerca del diseño del modo Song, he decidido avanzar por otro nuevo flanco: que el usuario pueda controlar parámetros de REQUIEM con los controles físicos de su teclado de control MIDI (sliders y codificadores). De esta forma se podrán abrir y cerrar filtros, controlar panoramas y volúmenes, y en definitiva todos los parámetros de síntesis de los dispositivos de REQUIEM.

La ventana “Remote Editor” muestra 8 faders virtuales que actúan como control remoto. El usuario puede asignar cualquier controlador MIDI (del 0 a 127) para controlar remotamente estos faders que a su vez pueden estar asignados a sus respectivos destinos. Por ejemplo se podría asignar el primer fader para controlar el “Cutoff” del sintetizador 1 de REQUIEM, con un ancho de banda de 0 a 127 (o por ejemplo de 80 a 100 para un efecto más suave).


Cada uno de los 8 faders virtuales puede controlar remotamente 2 destinos: uno para los sintetizadores y otro para la caja de ritmos. Además he añadido la posibilidad de seleccionar el modo de operación. En el caso de tener un destino que ya está siendo modulado (por ejemplo por un LFO), podremos elegir sustituir esa modulación o controlar su ancho de banda. Esto se hace desde la casilla “Mode”, seleccionando “Override” o “Replace”.


Así pues cada fader cuenta con estos parámetros:

  • Source: Qué controlador MIDI (0 a 127) controlará remotamente el fader desde la entrada MIDI.
  • Range-Low: Valor mínimo al que responderá el fader.
  • Range-High: Valor máximo al que responderá el fader.
  • Synths: Qué parámetro de los sintetizadores controlará.
  • Drums: Qué parámetro de la caja de ritmos controlará.
  • Mode: Sustituye o modula la modulación existente.

He creado un banco con 128 memorias almacenables por el usuario de forma que cada fader virtual pueda cargar una de las 128 memorias. A eso le he dado del nombre de “Definitions” (Definiciones) Las definiciones pueden ser copiadas, pegadas y eliminadas.


Además hay otra función muy útil: “Learn”. Al pulsar este botón REQUIEM escuchará” la información de control recibida y automáticamente establecerá el parámetro “Source”. Así el usuario no tiene que reconfigurar nada en su teclado de control, simplemente pulsar el botón y mover el control. Al recibir esos datos REQUIEM usará el controlador recibido. Como la función “Learn” abre la puerta MIDI para poder “escuchar” la informaron entrante, he incluido un tiempo de operación de forma que si no se recibe nada el modo “Learn” se deshabilite. Esto evita que un usuario abandone esa ventana dejando la función “Learn” habilitada.

Por otro lado también es posible habilitar o deshabilitar la recepción de controles de volumen y panorama para cada dispositivo (sintetizadores y caja de ritmos) además de habilitar o deshabitar la recepción desde los faders virtuales. Estas opciones no son memorizables, no forman parte de las “Definitions”.

Ya está todo funcionando, tan sólo falta enlazar los destinos y la entrada MIDI real. Espero poder avanzar con el  Modo "Song", que es mi verdadero quebradero de cabeza.

 Esquema del flujo de la señal MIDI entrante a REQUIEM