martes, 29 de junio de 2010

Programación de la interfaz

Para que el performer pueda generar el ambiente sonoro, se desarrolló un software de captura de movimiento. Se utilizó vvvv, lenguaje de programación visual. Este programa analiza el video obtenido de la cámara y convierte el movimiento o posición del personaje en un mensaje MIDI. Luego, un sintetizador, obtiene el mensaje mediante un puerto virtual, y genera una nota musical.
vvvv provee diferentes módulos, utilizando estos módulos se puede obtener el resultado buscado. Cada módulo tiene parámetros de entrada y de salida. Los valores que se asignan a los parámetros pueden ser estáticos (no cambian a lo largo del tiempo) o dinámicos (obtienen diferentes valores en diferentes momentos).
Por lo tanto, la programación en vvvv consiste en “conectar” la salida de un módulo con la entrada de otro (parámetros dinámicos). Por otro lado, los parámetros de entrada estáticos se fijan en un valor determinado. Por ejemplo, la salida del módulo “video in” es dinámico, porque captura el video de la cámara; el puerto virtual que se utiliza para enviar el mensaje MIDI es estático, porque no debe cambiar a lo largo del tiempo (se utilizó un único instrumento).
Según la necesidad dramática y coreografica de la escena, utilizamos diferentes técnicas de captura de movimiento. Para ello, utilizamos dos módulos diferentes de vvvv, “Color Traker” y “Traunter”.
En las siguientes imágenes se puede ver la programación a la izquierda, en la parte superior derecha, la salida del video, luego de ser procesada por el módulo de captura de movimiento, y en la parte inferior se ve una porción de la ventana de Tassman, el sintetizador utilizado para generar sonidos.



El módulo “Color Traker” analiza la entrada de video y “sigue” cuatro colores. Como se puede ver en la imagen, se pueden modificar parámetros de entrada de éste módulo para que solamente “vea” un color (para que la captura sea más exacta, elegimos el verde). “Color traker” genera un rectángulo, que cubre el área del color*. Se pueden obtener diferentes valores del rectángulo: ubicación del centro, ancho, alto, diagonal, ángulo de la diagonal. En nuestro trabajo, utilizamos la ubicación del centro; por lo tanto, según el personaje se mueve en escena, el centro del rectángulo va tomando diferentes valores. Luego, ese valor se convierte en un mensaje MIDI, que al ser recibidos por un sintetizador, ejecuta la nota. También utilizamos el valor del ancho de rectángulo; de este modo, según el área que cubre el performer es la nota que genera.



El otro módulo que se utilizó fue “Traunter”. Éste indica la cantidad de pixeles* que se modificaron entre dos frames** consecutivos. De este modo, según el tipo de movimiento del personaje, generaba diferentes sonidos: a distintos tipos de calidad de movimiento (lento, rápido, fluido, cortado, etc) distintas notas musicales.
La integración entre el software de captura de movimiento desarrollado en vvvv y el sintetizador, se realizó utilizando el módulo “Midi Short Output”. Este módulo es el encargado de enviar mensajes MIDI a través de un puerto virtual MIDI. El sintetizador se configura para que escuche en el mismo puerto. Es así que recibe los mensajes y ejecuta las diferentes notas.


*Pixel es la menor unidad homogénea en color que forma parte de una imagen digital, ya sea esta una fotografía, un fotograma de vídeo o un gráfico.
**Frame es un fotograma o cuadro, una imagen particular dentro de una sucesión de imágenes que componen una animación o video.

Si deseas obtener más información sobre la programación o te interesa obtener alguno de los parches vvvv, comunícate con Diego. Estamos a favor de compartir información. Queremos que nuestro trabajo inspire otros trabajos.

No hay comentarios:

Publicar un comentario

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