Sincronia e Interacción Audiovisual

Anuncio
Sincronia e Interacción Audiovisual
Santiago Vilanova Ángeles
0. Presentación
El monográfico sobre interacción y sincronía audiovisual está orientado a creadores audiovisuales con unos
conocimientos mínimos de los entornos digitales afines a esta práctica (AbletonLive, Resoulme, Vjamm,
Fruityloops, Cubase, etc…).
El curso pretende dotar al alumno de conceptos muy básicos de comunicación audio-vídeo y de
programación visual que pueden ser útiles a la hora de proyectar y realizar obras que incorporan un alto
componente de interacción física (enfrente de la tradicional interacción informática), y obras audiovisuales
que buscan una coherencia formal entre los elementos visuales y sonoros.
Estos conceptos servirán, como veremos a lo largo del curso, para hacer posible, por ejemplo, una
interacción directa entre ballarin@s y el vj; entre el público de una video-instalación y sus contenidos; para
expandir las propias herramientas de control de software del vj o el músico, usando la voz en lugar del
mouse o el movimiento de las manos en lugra del teclado; ampliando el campo de actuación del músico y el
videocreador más allá de los soportes tradicionales que le son afines. Se trata, en definitiva, de facilitar a los
alumnos la expresión de ideas contemporáneas con un lenguaje también contemporáneo.
Contextualización teórica.
El campo de la interacción, y sobre todo su aplicación en el campo de las artes (desde la "pintura" a la
danza o la arquitectura) ha experimentado un desarrollo muy importante los últimos 5 o 10 años. Un factor
determinante ha sido el creciente poder de computación de los ordenadores personales, que desde los
procesadores Pentium 3 (o mac G3) ofrecen unas posibilidades multimedia a tiempo real que antes eran
impensables. Softwares de vídeo y audio a tiempo real, protocolos de comunicación por red ultrarrápidos,
entornos de programación visual asequibles a los no programadores, etc, han "democratizado" campos de
la creación que antes estaban limitados a una élite adinerada, con suficiente poder adquisitivo como para
hacerse con carísimos equipos de edición de video lineal, estudios de grabación de audio, sintetizadores
analógicos, o licenciaturas en telecomunicaciones. El desarrollo paralelo de la microelectrónica, y el
aumento de la producción en sistemas de vigilancia (debido a la paranoia panóptica por el pánico al
terrorismo internacional) curiosamente ha acabado beneficiando el mundo del arte con aplicaciones en las
que, al fin, el espectador de la obra creativa no cumple sólo el papel de contemplador pasivo sino que
contribuye activamente a la finalización y comprensión de la obra final. Hoy en día, cualquier artista que use
el ordenador como herramienta de creación se puede mover cómodamente en el campo del vídeo, el arte
sonoro o la pintura generativa. Para muchos, se trata de una revolución similar a la que supuso la aparición
de la pintura al fresco al renacimiento: la aparición de un conjunto de nuevas técnicas que permiten al arte
expandirse a "espacios" que antes no le eran propios.
Muchas universidades han empezado a ofrecer postgrados o licenciaturas en este campo de los "new
media": desde los pioneros del MIT, el Royal College ofoff Arte de Londres, la UPF en Barcelona, Genova,
Ivrea, Steim... el mundo académico se ha dado por aludido y empieza a formar a una nueva generación de
creadores que han recibido una educación híbrida, a medio camino entre el ingeniero electrónico, el
programador de software y el pintor/escultor/arquitecto clásico.
Festivales internacionales como el Ars Electronica, la Transmediale, el ArtFutura, el Sónar, etc, han dado a
conocer al gran público obras de este tipo y son un escaparate fidedigno de lo que está pasando
actualmente en el mundo del arte electrónico.
Quizás el e torno de aplicación más inmediato de estas técnicas y que más veces habremos experimentado
es la video-instalación. Imaginamos un espacio con videoproyecciones dónde nuestros movimientos,
nuestra posición, datos estadísticos sobre nuestro recorrido o el timbre de nuestra voz modifican el
contenido de audio-vídeo del espacio. Para realizar este "sistema nervioso" sólo necesitaríamos una
videocámara y un micrófono enchufados a un ordenador que ejecute una aplicación de visión y oído
artificial. Estas técnicas se denominan “tracking de vídeo” y "tracking de audio”, y como muchas de las
tecnologías domésticas actuales (desde internet a las galletas), tienen su origen en las investigaciones
militares, sobre todo gracias (o desgracias) a las investigaciones en el campo de la cibernética y la
computación de Norbert Wiener, Alan Turing y Von Neumann..
Es muy recomendable la obra de Golan Levin y Zachery Lieberman en este campo de la visión/escucha
artificial.
Otro campo dónde se ha extendido el uso de estas técnicas es la danza contemporánea. Compañías como
Troika Ranch (creadores del software Isadora) son pioneros en este campo, aunque destaca el trabajo de
Klaus Obermaier dentro del terreno de la danza interactiva. Softwares como Eyesweb estan orientados casi
exclusivamente para aplicaciones de reconocimiento gestual (posición, trayectorias, posturas, velocidad...)
y ofrecen muchísimas posibilidades a la hora de generar discursos audiovisuales en función de la
coreografía de los bailarines/inas.
La música electrónica también se ha beneficiado de estos adelantos, y artistas como Eboman o Nice-Noise
han incorporado el uso de sensores a sus composiciones musicales, por no hablar de la hibridación entre
instrumentos tradicionales y las tecnologías digitales, dando lugar a lo que se ha denominado
"metainstrumentos": pianos que generan gráficos, violines que mueven robots... un ejemplo mainstream
serian las piezas de improvisación audiovisual de John Maeda y Ryuichi Sakamoto. El software
Max/Msp/Jitter (o su versión Open Source, Pure Data / Gem), así como Processing o OpenFrameworks
son ideales para este tipo de aplicaciones.
Otro campo dónde se está investigando mucho actualmente es el del cine interactivo. Sería la versión
cinematográfica de las novelas "elige tú propia aventura" que leíamos cuando éramos pequeños.
Realmente es una revolución en la manera de concebir la obra cinematográfica, y supone un salto de la
narrativa lineal a la narrativa arborescente: los espectadores deciden, con sus acciones, como evoluciona el
flujo de acontecimientos de la película.
Una de las disciplinas dónde más se ha innovado y dónde más se han aplicado las nuevas herramientas
de interacción ha sido la arquitectura y la domótica. La idea del espacio inteligente que se adapta al usuario
supone un reto hoy en día para las nuevas generaciones de arquitectos. Termostatos que regulan la
temperatura del espacio en función de las condiciones meteorológicas, fotosensores que cambian la
iluminación según la cantidad de luz solar, puertas que se obran cuando detectan nuestra presencia... Se
ha innovado muchísimo en la hibridación y confección de nuevos materiales constructivos con propiedades
interactivas (transmateriales): pintura reactiva que cambia de color en función de la temperatura, cristales
que se oscurecen según la cantidad de luz que reciben...
Un terreno que todavía está algo inexplorado es el de la escenografía, los efectos especiales y la
iluminación para teatro, aun cuando las posibilidades son muy tentadoras: desde electrodomésticos
automatizados (teles, radios, etc) hasta luces sincrónicas, decorados móviles o participación activa del
público, el teatro todavía puede beneficiarse mucho. La Fura dels Baus han sido pioneros en este nuevo
teatro participativo.
Otro catalán y antiguo miembro de la Fura, Marcelí Antúnez, ha sido pionero en la aplicación de estas
nuevas técnicas a su obra. Rodeandose de la élite de programadores e ingenieros barceloneses (Sergi
Jordà, Roland Olbeter, Allain Wergifosse) ha aplicado técnicas de oído artificial (Joan el hombre de Carne),
robótica (Epizoo), visión artificial (tantal) y ha creado un universo propio y una obra que ha sido reconocida a
nivel internacional. El de Marcel·lí Antúnez, pero, es un caso poco frecuente, o que queda muy lejos de
nuestras posibilidades: la mayoría de creadores no tenemos subvenciones millonarias ni estamos
suficientemente establecidos como para poder pagar ingenieros y programadores que se encargan de la
parte técnica de nuestra obra mientras nosotros nos limitamos a pensar y dirigir... habremos de buscar la
autosuficiencia técnica, al menos por el momento...
Afortunadamente, Internet esta llena de webs con proyectos DIY (Don It Yourself) que nos explican como
reciclar sensores de juguetes rotos, motores DC de lectores de CD-Rom, como programar
microcontroladores para diseñar nuestro propio controlador Midi, nos ofrecen bibliotecas y softwares
gratuitos para visión/oído artificial (PD, Eyesweb, Processing) e infinidad de recursos que, con algo de
ingenio, podemos reciclar para hacer cosas raras.
Nos encontramos, pero, en un momento de eclosión de estas técnicas y corremos el peligro que nuestra
obra acabe eclipsada por un uso desproporcionado de la tecnología y una carencia de contenidos y de
solidez narrativa. Hemos de intentar que nuestras obras sean claras y sencillas y que tengan un contenido
bien definido, aunque sea sólo formal. La Capilla Sixtina de Miquel Angel no es una gran obra de la pintura
por ser un fresco sino por la calidad del dibujo, el color, la composición y la narrativa pictórica y por como
el artista supo hacer un conjunto homogéneo de las nuevas técnicas pictóricas con su lenguaje personal.
Tenemos que intentar no pintar pinceles.
1A. MIDI
Normalmente cuando trabajamos con proyectos interactivos o con sincronías lo que estamos haciendo es
transformar un tipo de datos en otro (p.e., si convertimos la cantidad de píxeles rojos en un vídeo en el
volumen de un sampler). Este proceso se denomina "transducción" y tiene su analogo en los circuitos
electronicos, que transforman la energía electrica en energía mecánica, en calor.... Para llevar a término
esta transducción (de datos) existen distintos softwares y lenguajes de programación específicos que nos
ayudarán a realizar esta tarea.
La mayoría de softwares multimedia-tiempo-real (Resolume, Modul8, AbletonLive, PureData...) que existen
en el mercado incorporan el lenguaje MIDI como protocolo de control, por lo tanto será muy útil si hacemos
una pequeña descripción de las "reglas" que articulan este protocolo:
MIDI. Siglas para Musical Instruments Digital Interface. El Midi es un
lenguaje de control y comunicación entre instrumentos musicales
digitales. Se creó los años 80, en plena eclosión de la microelectrónica
digital, para centralizar y secuenciar varios aparatos generadores de
sonidos en un controlador principal. Si queremos secuenciar una canción
que consta de 8 instrumentos diferentes, necesitamos un secuenciador
que se entienda con los 8 instrumentos mediante un lenguaje estandar.
Esto era el MIDI originariamente
Actualmente la mayoría de sistemas de informática musical incorporan
puertos MIDI (con conectores din de 5 pins) para la comunicación con
sintetizadores externos o el control mediante controladores. Actualmente hay muchos aparatos que no son
estrictamente musicales y que permiten el control MIDI: mesas de luces, controladores de servomotores,
robots, etc.
Midi no transmite datos de audio, sólo datos de control, organizados de la siguiente manera:
Notas: es la información que se genera cuando presionamos una tecla del piano. El tipo de mensaje puede
ser Note on o Note off, y el valor de estas notas varía en función de la nota que tocamos. Por ejemplo,
C5 (do de la quinta octava) es la nota 60, C#5 = 61, D5 = 62, D#5 = 63... hay 128 notas diferentes (0-127)
Controladores Continuos (CC): es la información que se genera cuando movemos un potenciómetro o un
fader. A diferencia de los datos de nota, que son binarios (puesto en marcha / apagado) estos datos son
continuos y trabajan en un rango de 0 a 127. Esto quiere decir que si tenemos el potenciómetro al mínimo
enviará un valor 0, si lo tenemos a la mitad enviará un valor 64 y si lo tenemos al máximo enviará un valor
127.
Además de estos tipos de mensaje existen unos cuántos más (Sysex, Program change, NRPN, Pitch
bend) con unas propiedades diferentes y que por el momento no serán útiles para nosotros...
Todos estos datos corren por un canal MIDI (1-16). Esto es así porque muchos sintetizadores son
multitímbricos y pueden emitir diferentes sonidos a la vez. Por ejemplo, en un sintetizador Acces Virus
podemos hacer que por el channel 1 viajen las melodías y parámetros correspondientes al sonido "Piano" y
por el channel 2 viajen las melodías y parámetros correspondientes al sonido "Bajo" simultáneamente.
Además, estos canales corren por un puerto MIDI determinado (0-255). Esto es así porque podemos tener
varios sintetizadores sonando a la vez. Por el puerto 1 enviaré la información que llegará al sampler, por el
puerto 2 la que llegará a la caja de ritmos y por el puerto 3 la que llegará al bajo Roland, por ejemplo.
Interface MIDI. Pieza de Hardware que actúa de "medium“ entre un
sistema de secuenciación MIDI (normalmente un PC) y los instrumentos
secuenciados, o entre un controlador y los sintetizadores, samplers, etc.
Normalmente dispone de varías entradas y salidas.
Controladores MIDI. Aparatos para el control de máquinas MIDI.
Nosotros los usaremos con los ordenadores y los programas de
vídeo que soportan entradas MIDI. Hay teclados, cajas de ritmo,
pedaleras que tienen funciones de control MIDI. La mayoría de
programas para vj actuales soportan el control midi (Resolume,
Vjamm, Modul8, VDMX...)
Drivers MIDI Virtuales. "Tubos" de comunicación interna dentro de un mismo ordenador. Son útiles para
comunicar dos programas midi, configurando uno como maestro y el otro como esclavo. Por ejemplo,
usando el fruityloops para generar ritmos de vídeo en Resolume.
La compañía MIDI OX desarrolla drivers virtuales (MIDI YOKE) y gestores (MIDI OX) que permiten
comunicación interna y múltiples transformaciones en los datos de control.
MIDI por Ethernet. Hasta hace bien poco la manera de transmitir datos midi era por cable MIDI. Con la
llegada de las aplicaciones de MIDI por Ethernet (udp>tcp>udp) se han abierto un montón de posibilidades
que hasta ahora eran impensables. Podemos enviar datos de control MIDI en tiempo real a otra parte del
mundo de manera casi instantánea, y crear una matriz de ordenadores conectados entre ellos sin
necesidad de los caros interfaces midi. Todo por cable de red y routers. Además, los datos tcp viajan
mucho más rápido que los datos midi, con lo que se recortan drásticamente las latencias (inferiores a 1ms).
La compañía MusicLab comercializa el driver MIDIOverLAN, que es el que usaremos en las clases.
1B. OSC
Open Sound Control es un protocolo de comunicaciones que permite comunicar instrumentos de música,
computadoras y otros dispositivos multimedia (por ejemplo móviles o PDA's equipados con bluetooth)
pensado para compartir información musical en tiempo real sobre una red.
Aparece como reemplazo del MIDI, siendo muy superior en características y capacidades, aun cuando
muchas aplicaciones audio / vídeo todavía no lo soportan.
Características principales del protocolo:
//Ampliable, dinámico.
//Esquema de nombres simbólicos tipos URL
//Datos numéricos simbólicos y de alta resolución
//Lenguaje de coincidencia de patrones (pattern matching) para especificar multiples receptores de un
único mensaje
//Marcas de tiempos (staff tags) de alta resolución.
//Mensajes “empaquetados” para aquellos acontecimientos que han de ocurrir simultáneamente
//Sistema de interrogación para encontrar dinámicamente las capacidades de un servidor OSC y obtener
documentación.
Puede ser transportado por varios protocolos, pero comúnmente se usa UDP.
Algunos proyectos conocidos que tienen su implementación: ChucK, CSound, Eyesweb, Max/MSP, Pure
Data, Processing, Reaktor, SuperCollider, Squeak, VVVV.
2A. Sinestesia: Sincronía y Sintonía
“Dentro de los trastornos de la percepción se distingue entre los que afectan a la intensidad (aumento de
la percepción de un objeto -hiperestesias- o disminución de la misma -hipostesias-), a la fidelidad
(deformación de un objeto real –ilusión-, deformación que aparece sin estímulo exterior –alucinación-) o a
la integridad (distorsión del objeto percibido -dismorfopsia-, transformación del objeto -metamorfopsia-).
Entre los trastornos sensoperceptivos que afectan a la integridad de la percepción se encuentran
aquellos en los cuales en lugar de distorsionar el objeto percibido, perdiendo algún o algunos de sus
componentes, las percepciones se aglutinan: son las sinestesias, un trastorno infrecuente de la
percepción en el cual el estímulo a través de uno de los sentidos provoca simultáneamente la sensación
en otro.
Las sinestesias más frecuentes aunan percepciones visuales y auditivas, de forma que los sonidos, las
palabras o la música evocan simultáneamente la visión de colores. A la exploración de estos sujetos el
más habitual es que al enseñarlos números y letras evoquen un color determinado, o determinados sonidos
se acompañen también de visión de colores. Otras sinestesias más raras incluyen sensaciones táctiles al
escuchar sonidos, percepción de sabores al ver determinados objetos, o percepción de olores en relación
con el tacto”.
El fenómeno sinestésico es relativamente común
en el mundo del arte, la musica y el cine. Desde
las composiciones (sinfonías) cromáticas de
Kandinski (y su imprescindible tratado al
respecto: ”sobre lo espiritual en el arte”) hasta las
modernas teorías psicológicas sobre la
audiovisión (que define la combinación de los
sentidos vista y oído como un nuevo sentido
distinto a la suma de los dos anteriores), el
mundo de la imagen y la música ha buscado
históricamente la correlación entre ambos tipo de
percepción. No esextraño pues que típicamente
escuchamos expresiones como “sonido oscuro” o
colores “chillones”.
Cuando tratamos de traducir la musica en imágenes (o viceversa) nos fijamos en toda una serie de
parámetros objetivos y subjetivos que nos hacen pensar o nos provocan determinadas respuestas
perceptivas y emotivas. Por ejemplo, a grandes rasgos, normalmente una música tocada a un tempo alto
nos hará pensar en movimientos rápidos, stress, complejidad; una musica ejecutada en tonalidades
menores nos evocará melancolía, tristeza o quietud; sonoridades graves (como las de un contrabajo, o una
tuba) nos harán imaginar objetos redondeados, pesados o submarinos; sonidos agudos y metalicos, como
una guitarra distorsionada, nos traerán a la cabeza figuras rugosas de tonalidades amarillentas y ácidas; los
sonidos sostenidos de cuerdas y vientos pueden evocarnos paisajes, o las guitarras con wah-wah aquella
especie de burbujeo psicodélico...
El ejercicio de la sinestesia puede ser puramente intelectual, no hace falta estar “enfermo” para llevarlo a
cabo, y es interesante que busquemos estas interrelaciones perceptivas antes de empezar a trabajar en
proyectos de sincronía audiovisual.
Con tal de acotar el terreno sobre el que vamos a trabajar, haremos una división (que he de admitir que es
puramente subjetiva y arbitraria) entre los tipos de sincronía y sintonía con los que podemos trabajar.
Entenderemos por sincronía aquellas composiciones en las que la interrelación perceptiva audiovisual está
basada en el ritmo.
Entenderemos por sintonía aquellas composiciones en las que la interrelación perceptiva audiovisual está
basada en la melodía, la textura y la emotividad.
Normalmente, cuando trabajamos con ritmos buscaremos una diferenciación acusada entre los distintos
sonidos que componen un ritmo. Es interesante el ejercicio de asignar distintas imágenes a los distintos
sonidos componentes del ritmo (bombo, caja, plato...) y jugar hasta obtener un resultado sencillo pero claro.
La manera de trabajar con sincronías basadas en ritmo es una elección puramente personal, pero me
atrevería a afirmar que cuánto más sencillo mejor.... un excesivo feedback visual puede suponer un caos
no-digerible y no percibido como sincrónico. También es muy importante el uso de no-imágenes: así como
la música se 50% sonido y 50% silencio, también está bien que la imagen siga esta máxima y sea 50%
luz y 50% oscuridad.
Si trabajamos con imagen real, un método efectivo es el cambio de plano a cada golpe de ritmo.
Otro método interesante es el del salto temporal, que consiste en adelantar y retroceder el mismo plano a
distintos puntos del tiempo para cada golpe del ritmo; este es un método que, manteniendo una relativa
simplicidad, ofrece resultados muy vistosos.
Si trabajamos con geometría, movimiento y color, habremos de fijarnos en las percepciones que nos
provocan cada una de las sonoridades con las que vamos a trabajar, y emplearemos formas y colores
adecuados a cada uno de estos sonidos. Es también muy interesante el trabajo de geometría, color y
movimiento junto con melodía, textura y cadencia musical.
DMX
Otro elemento que es interesante introducir en nuestros trabajos de sincronía es
el uso de la iluminación, sobre todo si nos dedicamos al mundo del audiovisual
en directo. Mediante pequeños interfases DMX podemos acceder al control de
los sistemas de iluminación espectacular (dimmers, mesas de control lumínico).
DMX es un protocolo estandarizado, como MIDI, pero orientado a la iluminación;
no obstante, existen aplicaciones de software como Abuelites que pueden ser
controladas por MIDI y que al mismo tiempo envían DMX a los dimmers. Con
algo de ingenio seremos capaces de generar piezas sincrónicas audio-vídeoluz.
Electrónica
Estos experimentos sinestésicos pueden extenderse mucho más
allá de los sentidos de la vista y el oído si introducís nuevos
elementos capaces de estimular las percepciones táctiles y
olfativas de los espectadores. Mediante el uso de interfases
electrónicos como por ejemplo Arduino o Miditron podéis controlar
la velocidad de ventiladores, o válvulas neumáticas
dispensadores de fragancias.... aquí ya se trata del ingenio y la
creatividad de cada uno. Desde escenografías sincrónicas
(televisores, radios...) hasta títeres autómatas que responden a la
música, podemos crear todo un complejo universo reactivo.
2B. Sinestesia a la práctica: Secuenciación y Comunicación.
Drivers MIDI Virtuales. MIDIYOKE.
Una vez familiarizados con el protocolo MIDI es la hora de ponerse manos a la obra y empezar a enredar
con los diferentes softwares y aparatos que tenemos a nuestro alcance. Lo primero que haremos será
establecer comunicación entre distintos programas dentro el mismo computador usando el driver MIDI
Virtual Midiyoke.
Ponemos en marcha el secuenciador Audio-MIDI (Fruity Loops, Ableton Live, Cubase, Reason...) y en las
preferencias seleccionamos uno de los drivers que nos ofrece MidiYoke (p.e. MidiYoke NT 2) como driver
MIDI OUT, y le asignamos un puerto (0-255).
Nos aseguramos de tener habilitada la opción de Midi Output e insertamos un canal Midi Out. A este nuevo
canal Midi Out debemos asignarle el mismo numero de puerto que habíamos seleccionado antes para el
Midiyoke.
En principio esta es toda la configuración que debemos hacer con el secuenciador de audio
Ahora ponemos en marcha el software de VJ. En las preferencias del programa nos aseguramos que
tenemos como driver MIDI IN el mismo que le hemos asignado al secuenciador de audio como MIDI OUT y
entramos a editar el mapa de notas. Picamos sobre la primera casilla, pasamos con alt+tab al secuenciador
y pulsamos, en el teclado del canal midi out, sobre la nota que queremos que dispare aquel video.
Volvemos a pasar con alt+tab al programa de vídeo, picamos sobre la siguiente casilla, y repetimos el
proceso hasta que lo tengamos todo bien mapeado.
También podemos mapear controladores (CC), para modificar opacidades o efectos de los vídeos.
Configuramos los potenciómetros para que envíen el numero de controlador que queramos, y mapeamos
en el software de vídeo
Una vez lo tenemos todo mapeado, podemos empezar a componer diferentes patrones rítmicos.
MIDI Remoto a través de Hardware.
La solución clásica y más fiable para establecer comunicación MIDI entre dos aparatos es mediante una
interfase MIDI. Si lo que queremos es trabajar una sincronía audio / vídeo tendremos que disponer de
puertos MIDI físicos en los dos ordenadores y un cable para unirlos. En la mayoría de casos será el audio
quien “esclavice” el vídeo, por lo tanto el ordenador "audio" conectará el cable MIDI a un puerto OUT y el
ordenador “vídeo” a un puerto IN. Tendremos que seleccionar los drivers adecuados en las preferencias de
nuestros softwares, e iniciar el proceso de mapeado.
Drivers MIDI Ethernet. MIDIOVERLAN.
Si hemos sido capaces de establecer comunicación interna, y comunicación externa mediante interface
MIDI, también podremos usar una conexión ethernet para comunicar dos ordenadores y que uno haga de
secuenciador y el otro de disparador de vídeos..
La instalación de MidiOverLan es algo pesada, y os puede costar un poco si no estáis familiarizados con
las configuraciones de redes.
1.Estableciendo y configurando la red ethernet
Antes que nada tendremos que crear una red
entre dos o mas ordenadores, usando cable
LAN.
Podemos usar routers o switches si los
necesitamos. Tendremos que asignarnos IP's
coherentes entre los ordenadores de la red, así
como la misma “máscara de subred”. Las ip's
podrían ser parecidas a esto:
192.168.0.12
192.168.0.43
192.168.0.25
Esto es suficiente para crear una red a través de la que compartir datos Midi.
Podemos comprobar si la red esta funcionando usando un par de comandos MS-DOS.
Vais a INICIO>EJECUTAR. Escribís CMD y pitgeu Entero. Aparecerá una consola de mandos MS-DOS.
Escribís PING + numero de IP (“ping 192.168.0.42”)
Si recibís una respuesta significa que estáis en red con aquel ordenador, repetís la operación con todas las
IPs para aseguraros que tenéis comunicación.
Si todo esto sale bien, ya tenemos la red hecha.
2. Instalando MidiOverlan
Una vez finalizado el proceso de instalación nos aparecerá una ventana de configuración. Aquí debemos
seleccionar por qué puertos queremos recibir/enviar de/hacia cada ordenador, introduciendo en los puertos
de entrada y de salida las ip's de cada una de las máquinas en red. Tendremos que pactar con los otros
usuarios de la red qué puertos usamos y como organizamos la comunicación, esto nos llevará un rato...
3. Configurando las aplicaciones multimedia
Para empezar a compartir datos por red, debemos configurar los puertos de entrada/salida MIDI de vuestros
softwares de vídeo/audio.
Ahora ya podemos enviar datos desde un secuenciador o un controlador MIDI de una máquina a otra con
un software de vídeo; generar feedbacks de datos, o diseñar una matriz de comunicación y control de
parámetros suficientemente compleja como para crear un organismo audiovisual que presente un
comportamiento impredecible, pero antes tendremos que hacer un mapeo de las asignaciones audio/video.
Es decir, habremos de configurar los sistemas para que cuando enviamos una nota MIDI desde el
secuenciador de audio, C4 por ejemplo, se dispare un video al software de VJ.
El mapeo es un proceso lento y meticuloso, que requiere cierta dosis de paciencia, pero es un momento
importante, puesto que viene a ser nuestro campo de pruebas para la sincronía audiovisual.
3. Escucha Artificial.
Tal y como sabemos, existen sistemas de visión artificial que permiten separar los productos defectuosos en
una cadena de montaje. Sensores táctiles que determinan con qué presión estamos pulsando un objeto
(una báscula, por ejemplo) o qué temperatura hace. Sensores químicos que hacen el papel de nariz artificial
y dan el grito de alarma cuando detectan humo o componentes nocivos en la atmósfera.
El sensor que se usa para "escuchar" el sonido es el clásico micrófono. Seguro que algunos de vosotros
habéis jugado alguna vez con los programas de reconocimiento de voz que se pusieron de moda a
mediados de los 90 en los sistemas windows, y que permitían accionar programas con la voz, o seguro que
habéis visto alguna vez por la tele aquello que hacen los americanos de poner en marcha la luz con dos
palmadas... Pues bien, todo esto son sistemas de escucha artificial.
Nosotros trabajaremos la escucha artificial para extraer datos de interpretaciones musicales que estén
ejecutándose en directo para generar vídeos sinestésicos.
El campo del reconocimiento de patrones musicales es todavía algo primitivo, y es necesario decir que
algunas de las innovaciones más importantes que están haciéndose actualmente salen del Instituto
Universitario del Audiovisual de la UPF en Barcelona. La investigación a la cual se está dedicando más
esfuerzos es el reconocimiento y análisis de secuencias musicales polifónicas, es decir, piezas musicales o
instrumentos dónde suenan varías notas a la vez (acordes). Es uno de los retos de la computación
multimedia actual, y es posible que en un tiempo breve podamos separar en pistas los diferentes
instrumentos que componen una canción de un CD comercial cualquiera. Por el momento esto no se puede
hacer.
Nosotros nos centraremos en el análisis de audio monofónico. Por ejemplo un violín, una trompeta o la voz
humana.
Será nuestra primera práctica en un entorno de programación modular, pero lo haremos bien sencillo...
Sólo necesitaremos un pequeño micrófono conectado a la tarjeta de audio del ordenador.
extraeremos dos tipos de datos: Volumen y Tono; o dicho de otro modo: Amplitud y Frecuencia.
Tanto el volumen como el tono que analizamos los convertiremos en números (este proceso se llama
transducción: transformación de un tipo de energía en otro) que podremos transformar a voluntad. Nuestro
objetivo será convertir estos parámetros musicales en comandos MIDI, con el fin de activar vídeos con la
voz, subir la opacidad con el volumen o aumentar la velocidad con el tono. Todo esto es útil para hacer de
VJ's de un instrumentista, para instalaciones interactivas, o para hacer un aplausómetro. :-P
Haremos cálculos estadísticos y algo de álgebra booleana, así que tendremos que sacarle el polvo a
nuestras matemáticas de secundaria.
Con la escucha artificial entramos de pleno en la creación de estructuras cibernéticas. Lo que estamos
haciendo cuando programamos un estructura de este tipo es imitar un proceso de pensamiento natural.
Tenemos unos estímulos externos (en este caso el sonido captado por el micrófono) que analizamos
mentalmente y nos hacen pensar en cuál debe ser nuestra reacción (en este caso la manipulación de los
datos y la conversión a midi), y finalmente actuamos en consecuencia (empieza la secuencia de vídeo).
Los informáticos y electrónicos lo resumen en la serie INPUT > PROCESO > OUTPUT. Estas
estructuras son exactamente iguales que los circuitos electrónicos. Una radio, por ejemplo, recibe ondas
Hertzianas (Input), y mediante la transducción eléctrica (Proceso) las convierte en ondas sonoras (Output).
El sistema lógico que nosotros crearemos es relativamente sencillo. Una vez recibimos el input del
micrófono conectaremos dos módulos: uno, que extrae el tono y nos devuelve números entre 0 y 600 (hz)
aproximadamente; el otro, que extrae el tono, y nos devuelve valores (reales) entre 0 y 1. Con estos
números podemos hacer tantas transformaciones como queramos, pero básicamente lo que haremos será
reescalarlos con una sencilla "regla de tres" para que entren dentro del estàndar de valores midi CC, que
tiene un rango de 0 a 127. Es decir, que para el tono, cuando recibimos el valor máximo, 600 habremos de
transformarlo para que dé 127, cuando recibimos 300 nos dé 64, etc. Con el otro parámetro igual... cuando
recibimos un 1 lo debemos convertir a 127, cuando recibimos un 0.5 lo debemos convertir a 64, etc.
También podemos trabajar con condicionales (>, <, =, =!) y álgebra booleana (AND, OR, XOR, NOT). por
ejemplo:
SI el volumen es mayor que 0.5 dispara NOTE ON 60.
SI volumen > 0.5 AND tono > 300 dispara NOTE ON 70.
Si volumen > 0.5 OR tono > 400 dispara NOTE ON 80.
Esta manera de estructurar los datos puede ser muy útil a la hora de generar un discurso audiovisual
complejo. Nos permite crear diferentes transformaciones para el vídeo según el tipo de expresión de la
interpretación musical, o del humor de la voz de nuestro espectador. Me explico:
Si el violinista toca bajito (volumen) AND en tonos graves -----> dispara vídeo x y modifica opacidad
Si el violinista toca fuerte AND en tonos agudos ----> dispara vídeo y y modifica velocidad
Si el violinista toca fuerte AND en tonos graves ---> dispara vídeo z y modifica efecto x
Estos remapeados de datos se pueden complicar tanto cómo queráis, aunque la mayoría de veces es
mejor optar por una interacción sencilla y clara. Sea cómo sea está bien que os familiarizéis un poquito con
la lógica booleana.
4. Visión Artificial.
La visión artificial es uno de los campos de la computación física más desarrollados, debido en gran parte
a la extensísima aplicación que se hace en cadenas de montaje y en sistemas industriales. Muchísimos
robots industriales incorporan sistemas de visión que les permiten discernir componentes defectuosos,
coger objetos, etc. Hay muchísimas técnicas diferentes de visión artificial. Nosotros haremos un repaso a
unas pocas:
Tracking de Movimiento: Detección de objetos móviles sobre un fondo estático. La ventaja de este
sistema se que consume pocos recursos. El defecto es que si se cruzan varios objetos pueden llegar a
intercambiarse los tracks.
Tracking de color: Detección de objetos según su color. La ventaja es la independencia de cada color y
la imposibilidad de confusión de tracks para la máquina. El defecto es que consume más recursos y que
necesita unas condiciones de iluminación muy estables.
Tracking de patrones: Detección de objetos según la forma. La ventaja es la independencia de cada
forma y la imposibilidad de confusión de tracks para la máquina. El defecto es estar limitado a formas
estáticas.
Tracking anatómico: Detección según un patrón anatómico. La ventaja es que se trackean muchos puntos
a la vez (manos, pies cabeza...). El defecto es que es bidimensional.
Estos trackings son muy útiles para aplicaciones en danza, videoinstalaciones o performance musicales.
Lo que estamos haciendo con el tracking es extraer las coordenadas XY del baricentro del área que se
mueve, y también el tamaño de la mancha trackeada. Para obtener una imagen definida del área que está
en movimiento normalmente transformaremos la imagen proveniente de la cámara en una imagen a 1 bit
(blanco y negro) y efectuaremos un proceso de sustracción del fondo (a no ser que el fondo sea un croma o
una superficie lisa; en este caso no sería necesario extraer el fondo!). Más o menos lo que pasa es lo
siguiente:
Una vez tenemos estos datos numéricos (coordenadas xy), podemos establecer muchísimas relaciones
matemáticas entre los objetos trackeados. Por ejemplo:
Distancia: Distancia entre dos objetos. Cálculo vectorial.
Contacto: Contacto entre dos o más objetos. Cálculo vectorial + Álgebra booleana
Baricentro: Centro aritmético de varios objetos. Cálculo vectorial
Ángulo: Ángulo entre la recta que forman los centros de dos objetos y el eje de coordenadas u
ordenadas. Trigonometría.
Alineaciones: Alineación de varios objetos. Cálculo vectorial + Lógica difusa
Velocidad: Velocidad de un objeto. Incrementos.
Todos estos parámetros pueden convertirse en datos de control MIDI y, por ejemplo disparar un vídeo al
contacto entre dos actores o mover las varillas de un reloj del mismo modo que dos personas se mueven
alrededor de una maleta... Las posibilidades son tantas como se quiera imaginar, y abre las puertas a los
juegos de participación colectiva, la interacción corporal con la música, y la creación de nuevas interfaces
persona-máquina.
5. Geometría
A continuación tenéis toda una serie de fórmulas y procesos matemáticos que os pueden ser muy útiles si
queréis trabajar a fondo con la visión artificial. Es un compendio de datos utiles que he ido encontrando a lo
largo del tiempo y del que podéis sacar mucho provecho.
1.Distancia entre dos puntos y contacto:
Queremos que cuando dos objetos trackeados choquen se dispare un vídeo concreto.
Dados un objeto A y un objeto B:
A = ( x1, y1)
B = ( x 2, x 2)
Seguramente los valores x de A y B estarán entre 0 y 320 y los valores y entre 0 y 240, puesto que
trabajaremos en captura de vídeo a una resolución de 320x240 píxeles.
Lo primero que debemos hacer ahora es averiguar cual es la distancia entre los puntos A y B. Googleamos
"distancia entre dos puntos" y nos salen un montón de páginas que nos dan las formulas necesarias para
hacer este cálculo. Encontramos lo siguiente:
d=
x 2 − x1
2
+
y 2 − y1
2
d es la distancia en pixels de un objeto al otro.
Ya podemos usar este dato como parámetro de interacción.
Para añadir un nuevo paremetro de interacción, haremos calcular al software cuando los objetos están
tocándose. Se trata de verificar una pequeña condición: Si la distancia entre A y B es menor a 5 pixels
significa que A y B están en contacto:
dAB ≤
5→
envia Midi Note On
Ya está! cuando los objetos chocan se dispara un video!
Este ejemplo lo hemos hecho para dos objetos móviles, pero evidentemente lo podemos hacer también para
uno móvil y otro estático usando la misma fórmula. Imaginad una persona ante una videoproyección que
puede interactuar con los elementos proyectados. Cuando su silueta toca un dibujo en la pantalla se dispara
una acción (un sonido o una nueva animación).
2.Punto medio de un segmento:
A = ( x1, y1)
B = ( x 2, y 2)
( x1, y1)
A
C
C=
B
( x2, y 2)
 x1 + x 2 y1 + y 2 
,


2 
 2
3.Punto medio de un triangulo y contacto de 3 puntos:
( x1, y1)
A = ( x1, y1)
B = ( x 2, y 2)
C = ( x3, y 3)
A
( x2, y 2)
B
D
( x3, 3)
D=
 x1 + x 2 + x 3 y1 + y 2 + y 3 
,


3
3


C
Si queremos definir el parametro de choque entre tres objetos: calculamos las distancias por parejas,
añadimos los condicionales de choque (distancia menor a 5 píxeles) y introducimos los conectors
booleanos and:
ABC = ( dAB ≤ 5) ∧ ( dAC ≤ 5) ∧ ( dBC ≤ 5)
Debemos tener en cuenta que si previamente hemos definido los choques por parejas estos los
tendremos que invalidar mediante el conector xor para que cuando ocurra ABC no ocurran AB, AC y BC.
4.Angulo de dos objetos respecto al eje x:
( x1, y1)
A
 y 2 − y1 
atg 

 x 2 − x1 
α =
π /2
B
( x2, y 2)
α
α es un valor en radianes, entre -1 y 1. Si dividimos una circunferència en 4 cuadrantes, nos daremos
cuenta de que los ángulos del primer cuadrante son positivos, los del segundo negativos, los del tercero
positivos y los del cuarto negativos. Observamos pues que tenemos un pequeño problema, puesto que
estamos obteniendo valores identicos en dos mitades de la circunferencia, como si sólo pudiéramos medir
180 de los 360 grados de la circunferencia completa. Re-escalamos estos valores obtenidos en radianes
(entre -1 y 1) a a valores en grados (entre 0 y 180), y para solucionar este pequeño inconveniente
podemos hacer un pequeño truco que consiste en lo siguiente:
x 2 > x1 ⇒
α + 180
cuando la posición x de B es mayor que la posición x de A, sumamos 180 al valor de alfa; así obtenemos
los ángulos completos entre 0 y 360 grados.
5.Velocidad de un objeto:
Para calcular la velocidad con que se mueve un objeto usaremos algo de cálculo diferencial.
Sea esta sucesión de posiciones x del objeto A en el tiempo:
v = xn − xn − 1
x1, x 2, x 3.... xn
Es decir, que si restamos la posición x de A a la posición x de A en el instante anterior obtenemos la
distancia que ha recorrido A (en x) en este espacio de tiempo. Este valor es un indicador fiable de la
velocidad con que se mueve un objeto.
Todavía encontraríamos métodos más efectivos usando cálculos estadísticos con muestras más grandes
que dos valores. Sumatorios, medianas aritméticas o desviaciones estandar pueden ser muy útiles para
calcular velocidades, y cálculo diferencial (derivadas)para calcular aceleraciones.
6.Dirección del movimiento:
Si queremos conocer el sentido del movimiento de un objeto podemos usar una combinación de cálculo
diferencial y algebra booleana.
1 2 3 4 5 6 7....
1
2
3
4
5
6
7
.
.
.
( x2, y 2)
A'
( x1, y1)
A
( x2 −
( x2 −
( x2 −
( x2 −
( x2 −
( x2 −
( x2 −
x1 < 0) ∧ ( y 2 − y1 > 0) →
x1 < 0) ∧ ( y 2 − y1 < 0) →
x1 > 0) ∧ ( y 2 − y1 < 0) →
x1 ≅ 0) ∧ ( y 2 − y1 < 0) →
x1 ≅ 0) ∧ ( y 2 − y1 > 0) →
x1 > 0) ∧ ( y 2 − y1 ≅ 0) →
x1 < 0) ∧ ( y 2 − y1 ≅ 0) →
direcció [
direcció ^
direcció [
direcció ↑
direcció ↓
direcció →
direcció ←
Debemos tener en cuenta que en el caso de los movimientos exclusivamente horizontales o
exclusivamente verticales la igualdad no es exacta, sino borrosa. Casi nunca encontraremos movimientos
horizontales o verticales perfectas (sin variación en x para los verticales, o sin variación en y para los
horizontales), normalmente encontraremos pequeñas variaciones en las trayectorias. Tendremos que usar
métodos de fuzzy “logic” (lógica difusa).
Si investigamos un poco podemos encontrar operaciones matemáticas como estas que nos pueden ayudar
a definir muchísimas interacciones a partir de la geometría del espacio. Por ejemplo, dividiendo un espacio
en una cuadrícula para diseñar un parchís interactivo o un teclado de piano virtual; para definir la alineación
(borrosa) de tres o más objetos en una recta, o para calcular el numero de revoluciones (vueltas) que un
objeto ha hecho alrededor de un punto concreto... Una gran cantidad de estas sencillas operaciones
podemos encontrarlas a internet a través de cualquier motor de busqueda o de wikipèdia, sólo es cuestión
de buscarlas!
6. Anexo. Recursos
Colectivos, instituciones y artistas:
www.dorkbot.org (gente que hace cosas raras con la electricidad)
www.hangar.org (centro de producción de artes visuales. Talleres y conferencias sobre nuevos lenguajes
audiovisuales y de interacción)
www.flong.com (web personal de Golan Levin. Impresionante lo que hace este hombre.)
www.troikaranch.org (danza interactiva)
www.stelarc.va.com (performance robóticas)
www.ekac.org (arte transgénico)
www.marceliantunez.com (el carnicero de Moià)
www.telenoika.net (col·lectivo de artistas audiovisuales de Barcelona)
Noticias:
www.pixelsumo.com (blog dedicado al arte electrónico)
www.we-make-money-not-arte.com (blog dedicado al arte electrónico)
www.interactivearchitecture.org (blog dedicado a la arquitectura interactiva)
http://www.kvraudio.com/ (portal sobre noticias del mundo del audio digital)
http://www.mediateletipos.net/ (portal sobre el mundo del arte sonoro)
Empresas:
www.setpixel.com (empresa dedicada a la aplicación comercial de las técnicas de interacción)
www.ydreams.com (empresa dedicada a la aplicación comercial de las técnicas de interacción)
www.emotique.com (empresa dedicada a la aplicación comercial de las técnicas de interacción)
Software:
http://www.midiplugins.com/ (plugins vst de processado midi)
http://www.processing.org/
http://www.cycling74.com/products/maxmsp (Max/msp/jitter)
http://vvvv.org/tiki-index.php (vvvv)
http://puredata.info/ (pure data)
http://musart.dist.unige.it/EywMain.html (eyesweb)
http://www.midiox.com/ (MidiOX. Gestor de datos MIDI; permite el remapeo y filtrado del stream de datos)
Hardware:
http://www.arduino.cc/
http://www.eroktronix.com/
http://www.doepfer.de
http://www.superrobotica.com/
Educativos:
http://tigoe.net/ (web personal de Tom Igoe, profesor de computación física en la Universidad de NY.
Impresionante la de recursos y conocimientos que llega a compartir este hombre. Su libro "physical
computing" es imprescindible si queréis profundizar en la materia)
http://www.makezine.com/
http://lowtech.propositions.org.uk/
Descargar