Logo Studenta

sistemas_interactivos en el arte

¡Este material tiene más páginas!

Vista previa del material en texto

Sistemas 
interactivos en el arte
Emiliano Causa, Diego Alberti
Índice Introducción Íconos
Unidad 1 Unidad 2 Unidad 3 Unidad 4
 
2
Causa, Emiliano
Sistemas interactivos en el arte / Emiliano Causa y Diego Javier Alberti. - 1a ed. - 
Bernal: Universidad Virtual de Quilmes, 2014. 
E-Book.
ISBN 978-987-3706-08-0 
1. Arte. I. Alberti, Diego Javier II. Título
CDD 708
Diseño instruccional y procesamiento didáctico: Bruno De Angelis 
Diseño, diagramación y desarrollo web: Alejandro Jobad
Programación: Marisol Martín
Primera edición: mayo de 2014
ISBN: 978-987-3706-08-0
© Universidad Virtual de Quilmes, 2014
Roque Sáenz Peña 352, (B1876BXD) Bernal, Buenos Aires
Teléfono: (5411) 4365 7100 http://www.virtual.unq.edu.ar
La Universidad Virtual de Quilmes de la Universidad Nacional de Quilmes se reserva la facultad de disponer de esta 
obra, publicarla, traducirla, adaptarla o autorizar su traducción y reproducción en cualquier forma, total o parcial-
mente, por medios electrónicos o mecánicos, incluyendo fotocopias, grabación magnetofónica y cualquier sistema 
de almacenamiento de información. Por consiguiente, nadie tiene facultad de ejercitar los derechos precitados sin 
permiso escrito del editor.
Queda hecho el depósito que establece la ley 11723
3
Íconos
Leer con atención 
Son afirmaciones, conceptos o definiciones 
destacadas y sustanciales que aportan cla-
ves para la comprensión del tema que se 
desarrolla. 
Para reflexionar
Propone un diálogo con el material a tra-
vés de preguntas, planteamiento de pro-
blemas, confrontaciones del tema con la 
realidad, ejemplos o cuestionamientos que 
alienten la autorreflexión.
Texto aparte
Contiene citas de autor, pasajes que contex-
tualicen el desarrollo temático, estudio de 
casos, notas periodísticas, comentarios para 
formular aclaraciones o profundizaciones.
Pastilla
Incorpora informaciones breves, comple-
mentarias o aclaratorias de algún término o 
frase del texto principal. El subrayado indica 
los términos a propósito de los cuales se in-
cluye esa información asociada en el margen.
Cita
Se diferencia de la palabra del autor de la 
Carpeta a través de la inserción de comi-
llas, para indicar claramente que se trata de 
otra voz que ingresa al texto.
Ejemplo
Se utiliza para ilustrar una definición o una 
afirmación del texto principal, con el objetivo 
de que se puedan fijar mejor los conceptos.
Código
Incorpora al material un determminado 
lenguaje de programación.
Para ampliar
Extiende la explicación a distintos casos o 
textos como podrían ser los periodísticos o 
de otras fuentes.
Actividades
Son ejercicios, investigaciones, encuestas, 
elaboración de cuadros, gráficos, resolu-
ción de guías de estudio, etcétera.
Audio
Fragmentos de discursos, entrevistas, re-
gistro oral del profesor explicando algún 
tema, etcétera.
Audiovisual
Videos, documentales, conferencias, frag-
mentos de películas, entrevistas, grabacio-
nes, etcétera.
Recurso web
Links a sitios o páginas web que resulten 
una referencia dentro del campo discipli-
nario.
Lectura obligatoria
Textos completos, capítulos de libros, artí-
culos y papers que se encuentran digitali-
zados en el aula virtual.
Lectura recomendada
Bibliografía que no se considera obligato-
ria y a la que se puede recurrir para ampliar 
o profundizar algún tema.
Línea de tiempo
Se utiliza para comprender visualmente 
una sucesión cronológica de hechos.
4
5
Índice
Los autores 7
Introducción 8
Objetivos del curso 8
Unidad 1 
Sistemas interactivos en el arte
1.1. Introducción 9
1.2. Arquitectura de un sistema interactivo 10
 1.2.1. Instalaciones interactivas 12
 1.2.2. Hardware y software de los sistemas 
 interactivos en el arte: lo físico y lo virtual 14
 1.2.3. Los campos de acción: sensado, 
 reproducción, generación y control 15
 1.2.4. Lenguajes de programación y herramientas 
 de control 16
 1.2.5. Taxonomía del software de los sistemas
 interactivos en el arte 17
 1.2.6. Sistemas operativos 25
 1.2.7. Sistemas ópticos de sensado de posición 
 y silueta 25
 1.2.8. Protocolos de comunicación 31 
 1.2.9. Hardware de los sistemas interactivos: 
 sistemas de control y sensado físico 33
Unidad 2 
Imagen y sonido en tiempo real
2.1. Introducción 35
2.2. La computadora personal como herramienta 35
2.3. Herramientas de software	 38
	 2.3.1. Pure Data (PD) 38
 2.3.2. Processing 40
2.4. Ejemplo de aplicación 41
2.5. Generación de imagen a partir de Processing y 
 datos por osc 53
Unidad 3 
Visión por computadora
3.1. Introducción 58
3.2. Captura óptica de movimiento 58
 3.2.1. Captura por substracción de movimiento 58
3.3. Captura devideo en Processing 61
3.4. La substracción de video 62
3.5. Cómo se programa con la captura de movimiento 64
 3.5.1. Los métodos principales 67
 3.5.2. Calibrar el umbral 68
 3.5.3. Monitoreo del resultado 68
 3.5.4. A la búsqueda del movimiento 69
3.6. Revisión de la clase PMoCap 71
3.7. Aplicación de la captura de movimiento 75
Unidad 4 
Detección de contenido e interfaces tangibles
4.1. Detección de Blobs 81
 4.1.1. La librería BlobDetection 83
 4.1.2. Un ejemplo con detección de Blobs 84
4.2. Sistema de detección de patrones para 
 la implementación de una mesa reactiva 95
 4.2.1. El protocolo TUIO 98
 4.2.2. El funcionamiento del ejemplo 102
4.3. Breve comentario final 111
Referencias bibliográfícas 113
6
7
Los autores
Emiliano	Causa
Nació en La Plata (Argentina) en 1970. Artista multimedia e Ingeniero en Sistemas de Infor-
mación (Universidad Tecnológica Nacional). Integrante fundador del grupo Proyecto Biopus 
(www.biopus.com.ar). Fue Coordinador del MediaLab del Centro Cultural de España en Bue-
nos Aires. Ha sido Coordinador de la Dirección de Investigación y Posgrado en el Área de Artes 
Multimediales del IUNA. Es profesor de Arte Multimedia e Informática Aplicada en la Licen-
ciatura de Artes Multimediales del IUNA. Profesor de Tecnología Multimedia de la carrera de 
Diseño Mutimedial de la Facultad de Bellas Artes de la Universidad Nacional de La Plata. 
Dirige el Laboratorio de Experimentación EmmeLab de la Facultad de Bellas Artes UNLP. Es profesor de Sistemas Diná-
micos II de la Maestría en Artes Electrónicas de la UNTREF. Dicta el Taller de Investigación y Realización de Objetos II en 
la Especialización de Teatro de Objetos del Área de Artes Dramáticas del IUNA. Trabaja en investigaciones relaciona-
das con Bioarte, Realidad Aumentada y Arte Generativo. Fue docente de Informática en las carreras de Composición 
Musical y Cine en la UNLP y de Inteligencia Artificial en Ingeniería de Sistemas en la UTN. 
Actualmente trabaja en investigación y dicta cursos de posgrado relacionados al arte interactivo y nuevas interfaces 
(sensores y control de video y sonido en tiempo real). Se dedica al arte interactivo, al arte generativo, a la construcción 
de instalaciones interactivas y a la aplicación de la informática al arte en general.
Diego	Alberti
Estudió Diseño de Imagen y Sonido y Diseño Gráfico (FADU, UBA). Realizó diversos cursos 
de posgrado y talleres relacionados con arte y nuevas tecnologías. Actualmente produce 
música electrónica, videos, software y piezas de arte digital.
Expuso su obra en Museo Macro de Rosario, Museo Municipal de Bellas Artes Juan B. Castag-
nino de Rosario, Museo de Arte Contemporáneo de Bahía Blanca, Centro Cultural Recoleta, 
Centro Cultural San Martín, Centro Cultural de España en Buenos Aires, Museo Municipal de 
Arte Ángel María de Rosa de Junín, Espacio Fundación Telefónica de Buenos Aires, Museo de 
Arte Moderno de Mendoza, medialabPrado Madrid y FILE Festival de San Pablo.
Es docente de la materia Informática Aplicada 2 Artes Multimediales en el Instituto Universitario Nacional de Arte y de 
la materia Dibujo y Maqueta Cátedra Vitullo de la carrera de Diseño de Imagen y Sonido en Facultad de Arquitectura 
Diseño y Urbanismo de la Universidad de Buenos Aires.
Dicta cursos sobre tecnología y nuevos medios en diversas instituciones del país: MBA/MAC deBahía Blanca, Univer-
sidad Nacional de Noreste, Centro Cultural de España en Buenos Aires, Universidad de Palermo, Centro Cultural de 
España Chile, Centro Cultural Balmaceda Arte Joven, Valparaíso, Chile.
Trabaja y reside en Buenos Aires, desarrolla diferentes proyectos artísticos relacionados con electrónica, nuevas tec-
nologías y software. Colabora con artistas como Carlos Trilnick, Gabriel Valansi, Marina de Caro, Juan Rey, Mariano 
Giraud, Ernesto Romeo, Jorge Haro y otros.
 
8
Introducción
En este mateiral desarrollaremos los aspectos fundacionales de lo que consideramos elemental a cualquier obra de 
arte interactiva que utilice tecnología. Nos referimos esencialmente al uso de software para lograr aplicaciones de 
audio y sonido que permitan la generación en tiempo real de espacios sinestésicos donde imagen y sonido se com-
plementen de manera homogénea. 
Utilizaremos los dispositivos más inmediatos con los que contamos en una computadora personal para realizar acti-
vidades donde la imagen y el sonido interactúen de forma dinámica.
Recurriremos a cámaras de video para detectar presencia o actividad dentro de una escena y con ella producir sonido 
y como contraparte veremos cómo analizar audio proveniente de un micrófono para generar o modificar una imagen.
Consideramos que este acercamiento por demás elemental esconde un alto nivel de complejidad producto del avan-
ce constante de la tecnología puesta en juego y de la enorme cantidad de variables que aparecen involucradas en el 
desarrollo de este tipo de aplicaciones; principalmente en lo relacionado a lo azaroso del mundo real y el comporta-
miento imprevisible de los individuos interactuantes. En ese sentido es que invitamos a los estudiantes a profundizar 
cada uno de los temas abordados a partir de los conceptos fundamentales que aquí se presentan. 
Esperamos que esta colección de recursos sirva como disparador para poder luego ahondar en la complejidad que el 
tópico propone.
Los foros y la documentación relacionada con las aplicaciones utilizadas son nuestras fuentes de información, es por 
eso que recomendamos a los estudiantes consultar sistemáticamente toda la información referida a los problemas 
concretos en la web ya que es allí donde la información permanece actualizada.
Esperamos que disfruten la lectura de este material y que consigan completar con éxito las consignas y ejercicios que 
aquí se presentan.
Objetivos del curso 
• Conocer las principales herramientas disponibles para producir obras interactivas.
• Reconocer los tipos y variantes de herramientas de manera de poder elegir con libertad cuál o cuáles son las que se 
adaptan de modo más preciso a los conceptos que pretenda trabajar en su obra.
• Conocer los principios fundamentales sobre los que funcionan dichas herramientas para poder entonces explotar 
sus capacidades al máximo como así también modificarlas según su necesidad.
• Crear sus propias herramientas a partir de otras existentes o desde cero.
• Conocer los algoritmos y técnicas mayormente empleadas en este tipo de dispositivos y utilizarlas, extenderlas o 
mejorarlas según su conveniencia. 
• Realizar una instalación audiovisual interactiva completa, susceptible de ser expuesta en un ámbito profesional.
La cibernética es una ciencia introducida en la década de 1940 por Norbert Wiener. Trata del estudio de los 
sistemas autoregulados. La idea de interactividad está íntimamente relacionada con estos conceptos aun-
que de manera superadora. En general, lo que se espera de una obra interactiva es que de alguna manera 
“dialogue” con el espectador y no sea solo una acción reactiva la que deviene frente al estímulo del público.
Este material no intenta ser una definición sobre el arte interactivo en términos conceptuales, sino más 
bien una descripción general de nuestro objeto de estudio, abordado desde un punto de vista tecnológico.
En el siguiente enlace encontra-
mos información sobre Norbert 
Wiener: <http://www.uwiener.edu.
pe/nosotros-norbertwiener.aspx>
9
1. Sistemas interactivos en el arte 
Objetivos
• Incorporar conocimientos introductorios sobre el campo de la multimedia aplicada fundamentalmente a los siste-
mas interactivos en tiempo real.
• Reflexionar sobre las cuestiones tecnológicas elementales que hacen a la particularidad de esta disciplina.
• Conocer las relaciones intrínsecas existentes entre software y hardware.
• Proyectar una obra tecnológica teniendo en cuenta los aspectos fundamentales generalmente desarrollados en 
este campo.
1.1. Introducción
En esta unidad nos ubicaremos en el campo de la multimedia aplicada y focalizaremos en los sistemas interactivos en 
tiempo real. Entendemos por “tiempo real” toda aquella actividad en donde el resultado del estímulo generado por 
el espectador o interactor aparece reflejado en una consecuencia sinestésica más o menos instantánea. Llamamos 
sinestésico a todo aquel fenómeno donde se ven involucrados diferentes sentidos a la vez.
 
Cuando hablamos de sistemas interactivos aplicados al 
arte, nos referimos a experiencias en las que el públi-
co se enfrenta con un objeto, instalación, aplicación o 
performance, con la que puede interactuar generando, 
influenciando o controlando el desarrollo de estos. 
Por decirlo de otra forma, un sistema interactivo es capaz de “percibir” al público o ciertas acciones o particularidades 
de este y generar una respuesta a través de dispositivos y medios de representación. Su característica central se vin-
cula con la capacidad de lograr inmediatez entre las acciones del público y la respuesta generada; lo que en nuestro 
campo se llama “tiempo-real”. La generación de esta respuesta a través de medios de representación (como el sonido 
y la imagen) en tiempo real, solo es posible (salvo raras excepciones) por medio del procesamiento de la información 
mediante computadoras y por ende, las técnicas y herramientas para la producción de sistemas interactivos está 
fuertemente ligada a la informática y a la electrónica.
Es la ley de Moore según la cual 
“aproximadamente cada 18 me-
ses se duplica el número de tran-
sistores en los circuitos integra-
dos”, es decir, que la tecnología 
crece a un paso exponencial. 
Ley de Moore: <http://www.com-
puterhistory.org/semiconductor/
timeline/1965-Moore.html>
Jim Campbell, artista estadouni-
dense, pionero en el uso artístico 
de la tecnología lumínica de los 
LED y considerado entre los más 
vanguardistas del Siglo XXI. Li-
cenciado en ingeniería eléctrica y 
matemáticas en el Massachusetts 
Institute of Technology (MIT) en 
1978, Campbell buscó en el arte 
un equilibrio entre su labor en 
el reconocido centro de inves-
tigación tecnológica de EE.UU. 
y su vida diaria. “Primero fueron 
películas. A los 10 años de estar 
trabajando en el MIT empecé a 
integrar mi lado artístico con la 
ingeniería. Mi interés siempre 
está en la imagen y en cómo utili-
zar la tecnología para presentarla 
de manera que se vea distinta”.
Fuente: Muestra Jim Campbell en 
el Espacio Fundación Telefónica: 
20 años de arte electrónico. Dispo-
nible en: <http://planetatelefoni-
ca.com.ar/fundacion/2011/07/21/
jim-campbell-en-el-eft20-anos-
de-arte-electronico/>
10
El campo de estudio en el que pretendemos involucrar-
nos es en extremo extenso por la diversidad de recur-
sos y herramientas con las que contamos para producir 
nuestras obras y por la profundidad necesaria con la 
cual debemos abordar el aprendizaje de estos temas 
para lograr superar las barreras técnicas que estos dis-
positivos o herramientas nos presentan. Si bien esto no 
debiera ser motivo de conflicto sucede que, además 
de ser un campo extenso, este se expande de manera 
exponencial conforme avanza el desarrollo tecnológi-
co tanto de las aplicaciones como de los dispositivos 
informáticos. Esto a su vez trae aparejada la aparición 
repentina de nuevos espacios de acción. 
Es por esto que nos vemos obligados a tratar de lograr un enfoque metodológico y además conceptual respectode las disciplinas asociadas al uso de computadoras en el arte y los multimedios. Esta unidad en particular aparece 
como una introducción a este cambiante mundo de acción en el cual los conocimientos sobre los dispositivos y he-
rramientas que lograremos aprender hoy, seguramente serán obsoletos el día de mañana. De ahí la importancia de 
centrarnos en los conceptos fundamentales de esta disciplina.
1.2. Arquitectura de un sistema interactivo
Jim Campbell, en su Formula	for	computer	art, plantea 
un esquema acabado que representa casi cualquier 
configuración de una obra interactiva mediada por un 
dispositivo informático. Lo que plantea es un esquema 
claramente dividido en tres secciones: input (entrada), 
program/memory (un programa y la memoria en el dis-
positivo), output (salida). En términos prácticos se refie-
re a las posibilidades intrínsecas de estos dispositivos 
(las computadoras) y las posibilidades que existen de 
que puedan interactuar con el mundo real.
Según Campbell, cualquier obra mediada con compu-
tadoras presenta un dispositivo de entrada que es el 
encargado de convertir por medio de diversos sensores 
y conversores, estímulos físicos o perceptibles en térmi-
nos naturales o culturales en datos digitales, los cuales 
pueden ser manipulados por sistemas informáticos.
En la entrada del esquema siguiente (Imagen 1.1.)se 
encuentran como ejemplos de variables del entorno 
el ruido, palabras habladas, viento, temperatura, terre-
motos, respiración, color, intensidad lumínica, etcétera. 
Todos estos estímulos pueden ser “percibidos” por la 
computadora a través de conversores y sensores que 
son específicos para cada magnitud.
Es importante aclarar que todos los sensores con los que trabajamos convierten de alguna u otra forma 
una magnitud o parámetro del mundo físico en una magnitud eléctrica. Estos sensores se encuentran ge-
neralmente conectados a una interfaz digitalizadora, es decir, un dispositivo preparado para comunicar 
esas señales eléctricas producidas por el sensor en el “lenguaje” que la computadora puede comprender. 
Esto es básicamente un conversor “analógico-digital”. Nuestro estudio estará fuertemente inclinado a 
los sistemas de captura de sonido y ópticos ya que son los dispositivos más inmediatos y que mayores 
prestaciones ofrecen al intentar capturar información en tiempo real de una escena o un dispositivo de 
interfaz tangible.
11
Imagen 1.1. Formula for computer art
Fuente: imagen obtenida de <http://www.jimcampbell.tv/portfolio/miscellaneous_references/>
 
Formula	for	compurter	art,	en:
<http://jimcampbell.tv/portfolio/miscellaneous_references/>
Se	 puede	 ver	 el	 mismo	 esquema	 en	 Campbell,	 (1996),	 Ilusiones	 del	
diálogo:	control	y	elección	en	el	arte	interactivo.	
Como material central en su trabajo, Jim Campbell utiliza la idea de memoria, por ese motivo hace hincapié dentro de 
su esquema en el ítem Memory	(invisible): memoria invisible.
La memoria es un componente fundamental de la computadora ya que permite que las operaciones puedan ser 
realizadas. La otra parte que Campbell propone como relevante son los algoritmos. En nuestro caso, esos algoritmos 
y esa memoria está mediatizada por softwares disponibles tanto como producto comercial o experimental o aquellos 
que nosotros mismos podemos construir para desarrollar nuestras propias experiencias. 
Por último, el esquema señala un controlador de salida: es cualquier dispositivo capaz de recibir instrucciones desde 
un ordenador y a su vez traducir esa información en señales que pueden controlar diversos artefactos electrónicos o 
resultados concretos esperados por tal o cual dispositivo. Campbell menciona “texto que se mueve”, “objetos moto-
rizados”, “generadores de viento”, etc. En general, nos limitaremos a artefactos capaces de producir sonido o imagen 
(proyectores, pantallas, sistemas de sonido, etcétera).
12
En resumen, en cualquier dispositivo tecnológico multimedial podemos encontrar tres partes claramente definidas: 
un subsistema de entrada de datos, un proceso ligado a operaciones informáticas (de automatización de datos) y un 
subsistema de salida que devuelve al medio el resultado del proceso sobre los elementos de entrada.
1.2.1. Instalaciones interactivas
Un ejemplo completo de aplicación donde se verifica esta hipótesis es el caso de la obra Residua de Fabián Nonino y 
Diego Alberti con coreografía de Maria Zegna, Valeria Cuesta y Rhea Volij.
Imagen 1.2. Residua, instalación interactiva. Centro Cultural Recoleta.
Fuente: cortesía del artista. 
En	el	siguiente	enlace	se	puede	acceder	a	la	obra	Residua
<http://olaconmuchospeces.com.ar/archives/100>
Texto Aparte
Residua es una instalación interactiva performática para personas con teléfonos 
celulares, cantante lírica y software. Fue estrenada en el Centro Cultural Recoleta 
en noviembre de 2008, en el marco del Festival Tecnoescena. La instalación prevé 
dos estados: un modo de instalación autónoma y otro de performance en vivo. 
Antes de ingresar a la sala, los espectadores son informados del funcionamiento: 
ingresan a un espacio construido con hojas de papel blanco que, en un principio, 
se conserva prístino. El público puede transitar por este espacio.
Una vez allí son invitados a enviar un mensaje de texto a un número predetermi-
nado. Los textos enviados al sistema aparecen proyectados en las paredes de la 
escenografía; a su vez, un sintetizador de voz los canta. En ese momento se inicia 
13
una búsqueda en internet al respecto de esos mensajes que devuelve fragmentos 
de oraciones extraídos de los resultados obtenidos. Para esa búsqueda se utilizan 
diversos buscadores como Yahoo y Google. Toda la información tanto de los textos 
ingresados, los números de los celulares participantes y las búsquedas devueltas 
son almacenados en una base de datos. Junto a los textos enviados por los espec-
tadores comienzan a aparecer todos los resultados obtenidos en las búsquedas. 
Comienza así el proceso de polución, degradación y contaminación del espacio. Un 
espacio que se escribe virtualmente ya que esos textos desaparecerán al terminar 
la función. El objetivo es que el ingreso de palabras en el sistema provoque un 
exceso de información tanto visual como sonoro creando así un entorno espectral, 
sucio pero a la vez poético y metafórico. El espacio se contamina por el progresivo 
aumento de información visual y auditiva, en una serie de acciones y respuestas 
encadenadas que inciden en el movimiento y desarrollo de la obra. Un software es-
pecialmente diseñado recompone esos textos y los conecta visualmente unos con 
otros a partir de algoritmos de reconocimiento de contexto y sistemas lingüísticos 
adaptados para tal propósito. La colección de oraciones evidencia juegos polisémi-
cos. Las conexiones entre los textos suponen un nuevo uso original del lenguaje. 
Las oraciones encontradas visualizadas en este espacio representan el uso banal de 
las palabras, que por sí solas, son carentes de emociones. Al escuchar una palabra, 
esta se carga de sentido, en función de la interpretación que ese otro hace de ella. 
El hecho de mostrar y develar todas las oraciones o pedazos de textos en que se en-
cuentra esa palabra enviada pone en evidencia ante el espectador mismo muchas 
de las dimensiones posibles en que puede ser comprendido ese vocablo.
Imagen 1.3. Esquema de sistema para tres pantallas
Fuente: elaboración propia
La imagen anterior (1.3.) es un esquema del sistema para tres pantallas: el software 
recibe como input mensajes, búsquedas que realiza en la web y un control de joys-
tick para manipular la visualización en tiempo real. Como salida tenemos el sistema 
de pantallas inmersivo y el sistema de sonido donde se reproduce la banda sonora 
con el agregado de los textos cantados y las sonificaciones de los eventos.
DAC: acrónimo de Digital	Analog	
Converter	o	Conversor digital ana-
lógico. Una explicación exhaus-
tiva de los diversos tipos de con-
vertidores puede encontrarse en 
estedocumento: <http://www.
asifunciona.com/electronica/af_
conv_ad/conv_ad_5.htm>
14
1.2.2. Hardware y software de los sistemas interactivos en el arte: lo físico y lo virtual
En los sistemas interactivos aplicados al arte, uno de los puntos centrales de su objeto de estudio se centra en la rela-
ción que se construye entre el público y la obra entendido desde este punto de vista: las particularidades existentes 
entre el cuerpo humano y el sistema interactivo. Cuando hablamos de comunicación entre el cuerpo y un sistema, 
aparece el campo de la “interfaz”. Gui Bonsiepe describe la interfaz de la siguiente forma:
En primer lugar existe un usuario o agente social, que desea efectivamente cumplir 
una acción. En segundo lugar se encuentra una tarea que él mismo quiere ejecutar 
[...] En tercer lugar existe un utensilio o un artefacto del que necesita el agente 
para llevar a término la acción [...] Y aquí aparece la cuestión de cómo se pueden 
conectar, hasta formar una unidad, a tres elementos tan heterogéneos: el cuerpo 
humano, el objetivo de una acción, un artefacto o una información en el ámbito de 
la acción comunicativa. La conexión entre estos tres campos se produce a través 
de una interfase. Se debe tener en cuenta que la interfase no es un objeto, sino un 
espacio en el que se articula la interacción entre el cuerpo humano, la herramienta 
(artefacto, entendido como objeto o como artefacto comunicativo) y objeto de la 
acción. [...] la interfase vuelve accesible el carácter instrumental de los objetos y el 
contenido comunicativo de la información. Transforma los objetos en productos; 
transforma la simple existencia física (Vorhandenheit) en el sentido de Heidegger, 
en disponibilidad (Zuhandenheit). (Bonsiepe, 1999: 17)
En el caso de los sistemas informáticos, esta interfaz puede dividirse en dos espacios, el de los dispositivos común-
mente considerados de entrada/salida (hardware) y el de las aplicaciones o programas que son mediadas a través de 
estos dispositivos (software). Se puede considerar que en términos “físicos” el público se enfrenta a un conjunto de 
dispositivos que generan representaciones, interfaz física, pero en términos “virtuales” las representaciones (produci-
das por estos dispositivos) constituyen una interfaz virtual.
Es común que en informática se contrapongan lo “físico” a lo “lógico”, entendiendo por “lógico” aquello que existe 
representado como dato y que no tiene una manifestación física, tangible. En este sentido, lo virtual se inscribe en 
el mundo de lo lógico. Estas distinciones puede parecer que no tienen importancia, a primera vista, pero en nuestra 
práctica trabajar del lado virtual o físico de la interfaz puede acarrear diferentes tipos de problemas.
El trabajo con entidades virtuales (lógicas) se relaciona con problemáticas del tipo algorítmicas en donde se debe 
decidir cuál es la mejor estrategia para procesar determinado tipo de información en pos de un resultado, es decir, 
problemas en el campo de la informática. El trabajo con entidades físicas, se vincula con problemas mecánicos, elec-
tromagnéticos y otros, del orden de la física y la ingeniería, y sus estrategias muchas veces deben apuntar a lograr 
limpiar el ruido intrínseco del mundo físico para poder extraer información de sus fenómenos. 
Para ejemplificar casos dentro de estos territorios, la 
generación de imágenes en tiempo real es un proble-
ma del orden virtual, ya que su problemática es casi es-
trictamente algorítmica. Realizar una detección de mo-
vimiento por medios ópticos se encuentra relacionado 
con ambos aspectos ya que, por un lado se debe obte-
ner información de un dispositivo de entrada (una cá-
mara de video), teniendo en cuenta el ruido propio del 
dispositivo y la iluminación, pero también es necesario 
realizar un arduo procesamiento de esa información. 
Por último, controlar un motor mediante una interfaz de conversión DAC puede, muchas veces, estar estrictamente 
ligada al campo de los problemas físicos: cálculos de corriente y potencia, estrés mecánico de los materiales, etcétera.
En este sentido es que aparecen 
disciplinas como la del VJ, que 
análogamente a la tradición del 
DJ, ejecuta su arte generalmente 
reproduciendo en sincronía con 
la música ediciones de material 
videográfico. Audiovisualizer.com 
es uno de los sitios más antiguos 
que recopila y brinda información 
sobre esta disciplina. Allí pueden 
encontrarse versiones demo de 
la mayoría de los softwares utili-
zados para generar visuales en 
tiempo real. <http://www.audio-
visualizers.com/>
En relación con la cuestión de integración de software con dispositivos 
electromecánicos resulta de vital importancia el campo de la robótica. 
Una referencia invaluable es el sitio Robots Argentina donde puede en-
contrarse todo tipo de información respecto de sensores, actuadores y 
dispositivos de control aplicados: <http://robots-argentina.com.ar/>
Arduino se convirtió muy rápidamente en la plataforma preferida por 
artistas y hobbistas para desarrollar interfaces de sensado y también 
como controlador para todo tipo de dispositivo electrónico desde pa-
neles de led hasta robots. <www.arduino.cc>
15
1.2.3. Los campos de acción: sensado, reproducción, generación y control
En función de lo anteriormente mencionado podemos intentar una separación conceptual de las partes que conforman 
el diseño de una instalación multimedial. Decimos “conceptual” puesto que es ingenuo pensar que cada una de estas 
partes puede implementarse por separado del resto. Eso, rara vez es posible ya que la instalación o dispositivo multime-
dial que estemos diseñando es en principio un sistema de partes aunadas que funcionan como un todo orgánico. Esta 
división tiene como fin poder realizar un estudio esquemático de los problemas asociados a este tipo de desarrollos.
Más allá del problema de interfaz eléctrico que significa poder introducir en la computadora parámetros que repre-
sentan magnitudes del orden de lo físico, lo verdaderamente importante del asunto es poder relacionar esos paráme-
tros con valores de control sobre el dispositivo informático; esto es: mapeo.
Estas traducciones y modificaciones de los valores para acondicionar las magnitudes de un espacio a otro (de lo físico 
a lo virtual) está dado por la inteligencia aplicada en las capas de software que median entre un valor y otro. Por eso, 
gran parte de este estudio estará dedicado a los procesos que se efectúan en la conversión de valores, por ejemplo, la 
velocidad de una mano que controla la intensidad con que se desplaza un objeto en la pantalla.
Muchas veces, este tipo de configuraciones implica el proceso de las señales para lograr describir tendencias en lugar 
de valores instantáneos (cómo varía tal magnitud en vez de su valor instantáneo).
Los caminos posibles para producir entornos virtuales son 
dos: reproducción de material pregrabado y generación 
en tiempo real por diversos medios. En el primer caso, el 
material audiovisual (y en todo caso sinestésico) está pre-
producido. Sonidos previamente editados y organizados 
pueden ser disparados en secuencias lógicas relacionales 
o en el devenir de los eventos de entrada desde el mundo 
exterior a modo de triggers (disparadores). 
Cuando hablamos de “generación en tiempo real” nos 
referimos a que el material virtual sea en principio una 
manifestación absolutamente original. En este caso, 
el software está diseñado para producir en tiempo 
real esas imágenes sinestésicas a partir de pautas de 
inteligencia artificial, sistemas de simulación física, o 
algoritmos de composición musical a partir de teorías 
matemáticas; situaciones muy frecuentes en la música 
electrónica contemporánea.
El protocolo MIDI es un estándar de 
comunicación para instrumentos 
musicales electrónicos desarrolla-
do a finales de la década de 1970 
por los principales fabricantes de 
instrumentos electrónicos. Es prác-
ticamente ubicuo en todos los sis-
temas de producción musical. Se 
pueden consultarmás detalles so-
bre MIDI en el sitio de la asociación 
de fabricantes que utilizan la nor-
ma: <http://www.midi.org>
16
Infinidad de dispositivos controladores salieron al 
mercado en los últimos años: perillas, botones, tecla-
dos y los más diversos sistemas con control inundan 
las vidrieras de las casas de videojuegos y electrónica. 
Muchos de esos dispositivos pueden ser hackeados y 
empleados de maneras innovadoras en los proyectos. 
Web cams, Controles MIDI, Wii Motes, Joysticks tradi-
cionales y en este último tiempo el Kinect de Microsoft 
aparecen en todo tipo de instalaciones interactivas 
muchas veces ocultos en escenografías especialmente 
diseñadas. Aprenderemos cómo desarrollar nuestros 
propios dispositivos de control a partir de estos y otros 
artefactos disponibles.
Un	controlador	muy	popular	y	original	utilizado	por	muchos	artistas	
es	el	Monome:	información	disponible	en	<http://monome.org/>
1.2.4. Lenguajes de programación y herramientas de control
La actividad artística mediada por dispositivos electrónicos, y en particular por ordenadores programables, trae apa-
rejadas dos grandes actividades propias de este medio.
Bien sabemos que la particular capacidad de una computadora es la de poder controlar de manera extremadamente 
precisa y rápida una inmensidad de parámetros. Esto las coloca como herramientas fundamentales para producir 
espacios inmersivos donde uno o varios performers u operadores pueden controlar diversos elementos en la escena.
Pero es también gracias a esas mismas características de precisión y velocidad que las computadoras pueden ser má-
quinas extremadamente útiles para generar entornos virtuales produciendo imagen y sonido de manera automática.
Estas dos grandes capacidades determinan, en consecuencia, tres grandes grupos de softwares: los que están pensa-
dos para controlar y/o modificar la reproducción de algún material multimedial preexistente, los que pueden generar 
materiales visuales y sonoros sintéticos y los que pueden realizar ambas tareas a la vez.
Recordemos que si bien hay muchos programas que, por ejemplo, pueden producir imágenes o bocetos con mode-
los tridimensionales, secuencias de sonidos o cualquier otro tipo de imágenes en general, solo nos interesan los que 
permiten ejecutar estos procesos en tiempo real.
Texto Aparte
Todos los softwares de hoy en día vinculados al multimedia y al arte y diseño en 
general traen incluidos algún sistema de scripting (pequeñas estructuras de código 
que se ejecutan en tiempo real, sin compilación) que permite introducir secuencias 
de código que son ejecutadas por el mismo programa o por alguna máquina vir-
tualizada dentro del mismo software (es el caso por ejemplo de Blender, el software 
de 3D que permite reprogramarlo completamente utilizando el lenguaje Python).
Es por eso que no podemos afirmar que un lenguaje sea mejor que otro ya que 
esto depende de las necesidades específicas de lo que se quiera realizar o de lo que 
ya nos es dado por los sistemas existentes.
17
1.2.5. Taxonomía del software de los sistemas interactivos en el arte
En relación con lo anterior, intentaremos ahora una discriminación bien estructural de los diversos sistemas de soft-
ware disponibles que utilizaremos, en función de cuál es el tipo de aproximación que el usuario puede tener. Esto se 
traduce fundamentalmente en el grado de abstracción que tal o cual software permite a la hora de realizar nuevas 
operaciones. Es decir, por un lado tenemos disponibles lenguajes completos de programación y entornos de desarro-
llo específicos para diseño y producción de arte visual y sonoro. Y en el otro extremo tendremos softwares prediseña-
dos, esto es: cerrados, cuya funcionalidad específica es provista por el creador y no admite la modificación sustancial 
de las funciones originales (pero sí su manipulación).
Nos interesa, entonces, hacer una diferenciación de estas herramientas según un criterio arbitrario. Este criterio res-
ponde a los tipos de aplicaciones que consideramos más relevantes para nuestra disciplina. A lo largo del material 
intentaremos describirlos:
• Sistemas de generación y control de sonido e imagen en tiempo real. 
• Sistemas ópticos de captura de movimiento (MoCap). 
• Sistemas de análisis de contenido (Blob Detection).
• Protocolos de comunicación (OSC).
Muchas de las herramientas de VJ (como vimos, VJ es la interpretación de imagen en tiempo real análogo a un DJ) se 
encuadran dentro de la primera categoría, ya que son aplicaciones que permiten asociar la ejecución (reproducción) 
de contenidos visuales (imágenes estáticas, videos o animaciones) a ciertos eventos, así como controlar la forma en 
que se les aplica efectos a estos contenidos. 
En el conjunto de las herramientas para reproducción y control en tiempo real, podemos encontrar algunas de las 
aplicaciones para VJ como Arkaos, Resolume, VDMX y Modul8, entre otros.
Imagen 1.4. Pantalla principal de Arkaos
Fuente: imagen extraída de <http://www.arkaos.net/>
18
En la imagen anterior (1.4.) se muestra la interfaz gráfica de Arkaos. Como puede verse, Arkaos se encuadra dentro de 
la metáfora de la consola, ya que su interfaz gráfica está diseñada como un conjunto de paneles en los que el usuario 
puede organizar el material (los videos, animaciones, efectos, etc.) y decidir a qué eventos los asocia, como sucede 
en el panel inferior en el que aparece un teclado (con disposición de teclado de piano) en el que el usuario acomoda 
los videos que ejecutará con cada tecla. También se pueden ver varios controles gráficos que imitan potenciómetros 
lineales que servirán para configurar parámetros de la reproducción y de los efectos que se aplican durante la misma.
Texto Aparte
Pasamos entonces a una breve descripción de cada una de estas herramientas:
Arkaos
<http://www.arkaos.net>
Versión Actual: Grand VJ.
Arkaos es un producto desarrollado en Bélgica, que permite manipulación de vi-
deo en tiempo real, es decir que puede tomar diversos archivos de video (o ma-
terial animado incluyendo composiciones de Quartz Composer –del que habla-
remos en el siguiente apartado–, imágenes fijas y máscaras. Puede trabajar con 
hasta ocho capas de video en simultáneo. Posee posibilidad de comunicación MIDI 
(protocolo de comunicación que será descripto en los siguientes apartados) en dos 
direcciones. 
Resolume
<http://www.resolume.com/avenue/>
Versión Actual: 3.0
Resolume, desarrollado en Holanda, está íntegramente escrito en C++ utilizando 
librerías OpenGL, esto quiere decir que posee un motor de imagen en tiempo real 
de una excelente performance. Puede manejar capas de video en HD y además 
tiene integrado un completo reproductor de audio. Reproduce varios formatos, 
cuenta con un Analizador de Audio integrado, está pensado para poder realizar 
Video Mapping fácilmente. Soporta múltiples pantallas y además posee la posibi-
lidad de conectividad. En la nueva versión 3, el código de Resolume fue reescrito 
desde cero (from	scratch). Sus desarrolladores aseguran que esta no es solo una 
versión mejorada de la original sino que a su vez está pensada desde un nuevo 
paradigma tecnológico que tiene relación con la posibilidad de que el software se 
siga expandiendo en posibilidades conforme se vaya desarrollando y mejorando 
las capacidades de los hardwares gráficos.
VDMX
<http://vidvox.net/>
Versión actual: 5
Las prestaciones son aproximadamente similares a los dos softwares anteriores. 
Una de las ventajas que tiene este, por sobre otros, es que permite la ejecución 
de varias acciones en paralelo en forma independiente en procesadores de varios 
núcleos mediante una estrategia llamada “multihilo” (multi	thread), con lo cual el 
rendimiento en tiempo real se ve extremadamente mejorado. Además, VDMX se 
publicita como la opción más “amiga” de Quartz Composer.
19
Modul8
<http://www.modul8.ch/>
Versión actual: 2.6.4
Modul8 es el más versátil de toda la línea ya que fue diseñado principalmente por 
visualizadores, vjs y artistasvisuales. Sus desarrolladores son Suizos. Modul8 inte-
gra todo un espacio escénico: múltiples pantallas, sonido y además la posibilidad 
de integrar sistemas de control de luces con estándar DMX (un protocolo de comu-
nicación para iluminación escénica). Sus desarrolladores también crearon actual-
mente un software muy popular para diseño de mappings llamado “MadMapper” 
(<www.madmapper.com>).
Ableton’s Live
<http://www.ableton.com/live-8>
Versión Actual: Ableton Live 8
Esta herramienta no pertenece en sí al mundo del VJ sino que es su equivalente 
musical. Live es en realidad una suite de programas, esto es un compilado de pro-
gramas todos funcionando entre sí para convertir la computadora en una estación 
de trabajo musical y performático completa.
La principal virtud de Live es que puede, a la vez que reproduce secuencias de au-
dio pregrabadas, ejecutar secuencias MIDI que controlan sintetizadores y samplers	
virtuales que corren en el mismo sistema por medio del estándar VSTi.
Otra de las grandes virtudes que hicieron a Live tan popular es que cuenta con al-
goritmos de Time	Stretching sofisticados muy valorados por los artistas provenien-
tes del DJ’ing	o la música electrónica. Live puede controlar y a la vez ser controlado 
tanto por otros softwares como mediante el uso de controladores discretos que se 
conectan al ordenador por USB.
Como se dijo anteriormente todas estas aplicaciones son cerradas, es decir que las 
posibilidades de modificación corren solo por cuenta de sus desarrolladores.
También encontramos lenguajes de programación para contenidos multimediales que nos permitirán construir nues-
tras propias herramientas con funciones particulares. Estos lenguajes de programación permiten que el usuario defi-
na (muchas veces desde cero) cómo se orquesta la reproducción o generación de los contenidos. 
En estos sistemas impera la lógica del algoritmo bajo dos modalidades: la primera corresponde a los entornos visua-
les en los que el usuario configura una red de objetos que se comunican entre sí procesando de diferentes formas la 
información.
Este tipo de entornos de programación se denominan “visuales” ya que la codificación de la secuencia lógica de fun-
cionamiento se realiza a través de un entorno gráfico donde las funciones están representadas fundamentalmente 
por objetos interconectables. Cada uno de estos objetos tiene una serie de conexiones preestablecidas que toma o 
devuelve (según sea el caso) tipos de datos específicos.
Cada objeto en cuestión está preparado para resolver una tarea muy concreta, lo que permite una gran flexibilidad de 
interconexión con el resto de los objetos con el fin de conseguir una funcionalidad más compleja.
20
Imagen 1.5. Interfaz de max/MSP
Fuente: imagen extraída de <http://cycling74.com/>
La imagen anterior (1.5.) muestra la interfaz gráfica de Max/MSP, un entorno de programación visual cuya evolución 
tiene ya casi 25 años. Como puede verse en el esquema de la parte izquierda, el algoritmo está organizado en un 
conjunto de objetos, representados por los cuadros con texto en su interior, que están conectados entre sí por ca-
bles, expresados por las líneas. La idea consiste en procesar información mediante su paso a través de los diferentes 
objetos. En el caso de Max/MSP la información va de arriba hacia abajo, por ejemplo en la imagen, parte del proceso 
se inicia en el objeto de arriba, que tiene el icono del micrófono, y termina en los objetos ubicados en la parte inferior 
como el que tiene el dibujo del parlante. 
Debido a que de un objeto pueden surgir varios “cables” y que otros objetos pueden aceptar varias conexiones como 
entrada, este paradigma de programación suele privilegiar ciertas estrategias de proceso en paralelo. Además, por 
su lógica de flujo, facilita la programación de aquellos algoritmos que pueden ser pensados como una secuencia de 
procesos (o filtros) transformadores aplicados uno a continuación de otro, por ejemplo, en un flujo de sonido o video. 
Por otra parte, se tiene cierta desventaja cuando se quiere programar estrategias que implican cambios de estados en 
el tiempo, particularmente si estas llevan a complejos bucles de retroalimentación.
Dentro de este tipo de entornos de programación podemos nombrar a MaxMSP, Pure Data, VVVV, Quartz Composer, 
entre otros.
21
Texto Aparte
Pasamos entonces a una breve descripción de cada una de estas herramientas:
Max/MSP y Pure Data
<http://cycling74.com/whatismax/spanish/>
Versión Actual: Max 6
Desarrollado en el IRCAM (Institut de Recherche et Coordination Acoustique/Mu-
sique) por Miller Puckete este software para control, en principio, y generación de 
audio digital, después, es central en las artes multimediales ya que fue lo que po-
sibilitó que muchos artistas pudiesen explorar tempranamente la creación de en-
tornos interactivos. Luego de que Cycling 74 comprara el proyecto max/MSP y lo 
desarrollara como producto comercial, Puckete lanzó a la comunidad de software 
libre la versión libre del Pure Data. Max/MSP o Pure Data con entornos gráficos en 
los cuales uno puede desarrollar sintetizadores o estructuras de control complejas 
para controlar aparatos MIDI de manera visual conectando objetos unos con otros.
Existen también aplicaciones visuales que permiten programar comportamientos 
de manera gráfica. De hecho, Max/MSP tiene su módulo particular destinado al 
manejo de imagen llamado Jitter (cuyo análogo en el mundo Pure Data es GEM). 
Este módulo permite desarrollar todo tipo de proyectos donde lo central es la ima-
gen en movimiento y el análisis posterior de dicha imagen. Jitter puede ser utiliza-
do tanto para resolver cuestiones de visión por computadora como para producir 
de manera algorítmica diferentes tipos de contenidos visuales, ya sea procesando 
imagen prediseñada o produciéndola de manera generativa. 
De más está decir que ambos mundos (el visual y el sonoro) pueden convivir en la 
misma aplicación con lo cual Max/MSP + jitter (o PD+Gem) pueden ser entornos 
muy adecuados para resolver instalaciones en donde se requiere que el sonido y la 
imagen funcionen de manera sincrónica.
VVVV
<http://vvvv.org/tiki-index.php>
Versión Actual: 40beta23
VVVV es un sintetizador de video en tiempo real e interacción con interfaces físicas. 
Está solo disponible para Windows ya que su motor gráfico está construido sobre 
la librería DirectX propia de ese sistema operativo. Es 100% tiempo real (no tiene 
modos build/run) y además es software libre y recientemente Open Source.
Quartz Composer
<http://en.wikipedia.org/wiki/Quartz_Composer>
Versión Actual: 4 (para Mac OS 10.6 Snow Leopard)
Quartz Composer es un lenguaje de programación visual basado en nodos provis-
to como parte del kit de desarrollo para el sistema operativo OSX. Es solo para Mac, 
basado 100% en OpenGL y permite programar filtros de imagen. Además, tiene 
un objeto que permite introducir código en lenguaje Javascript (de uso común en 
sitios de Internet) y otro que permite modelar Shaders (lenguaje de programación 
para el procesador gráfico) utilizando el lenguaje GLSL.
22
Si bien el Massachusetts Institute of Technology (MIT) tiene una larga tradición ligada a la producción de sistemas y 
lenguajes para la enseñanza de la informática en distintos niveles, no es hasta la aparición de Processing que los ar-
tistas visuales o realizadores pudieron comenzar a desarrollar de manera prolija y sistemática sus trabajos utilizando 
código de computadora. Processing es en principio un lenguaje de programación diseñado para poder bocetar de 
manera rápida ideas visuales en un contexto informático. Es libre de ser distribuido y además es de código abierto, es 
decir, que cualquiera que esté interesado puede acceder a su código fuente para ver cómo está internamente progra-
mado. Esto permite además optar por modificarlo o extenderlo según una necesidad particular. 
Processing (abreviado P5) es en gran medida el origen de una serie de desarrollos que se fueron desencadenandobajo este concepto para acercar a artistas en general, herramientas que hasta ese momento estaban solo disponibles 
para aquellos que tuviesen los conocimientos necesarios para poder adentrarse en la informática y en la microelec-
trónica. La plataforma de hardware libre Arduino es otro ejemplo de ello.
Imagen 1.6. Sitio web de Processing
Fuente: imagen extraída de <http://processing.org/>
En ese sentido P5 es el más “cuidado” de todos los lenguajes de programación asociados a las artes visuales. Existen 
otros lenguajes con mayor desarrollo pero que se encuentran ligados a una función comercial particular, por ejemplo 
AS3 Flash. Estos lenguajes fueron específicamente diseñados a partir de una necesidad técnica muy concreta: animar 
la web. Processing a su vez fue creado con una intención didáctica, esa es la razón principal por la cual es de código 
abierto.
Como referencia tanto histórica como específica del lenguaje Processing 
recomendamos la lectura del libro Processing a Programming Handbook 
editado por Mit Press con prólogo de Joe Maedea, quien fuera profesor 
de Ben Fry y Casey Reas, iniciadores del proyecto Processing. P5 es re-
sultado de uno de sus trabajos en laboratorio de investigación en el MIT.
Un resumen de toda la funcionalidad de P5, explicada de forma sintéti-
ca y clara por sus creadores puede encontrarse en 
<http://processing.org/learning/overview/>
Algunas de las librerías más utilizadas son “minim” para captura y análi-
sis de audio, “BlobDetection” para análisis de contenido en la imagen y 
“Firmata” para interactuar con un dispositivo Arduino.
<http://processing.org/reference/libraries/>
23
P5 es, como ya dijimos, un completo lenguaje de programación gráfica pero también un entorno de desarrollo por el 
cual uno puede producir aplicaciones ejecutables (como cualquier otro programa en nuestro ordenador) a partir del 
código escrito en lenguaje P5. 
El proceso de confección de una aplicación consiste en generar el código con las instrucciones necesarias en lenguaje 
comprensible por el ser humano para luego ser convertido (compilado) al lenguaje de la máquina. Processing resuel-
ve este proceso que suele ser en algunos casos muy complicado de manera automática y sencilla: basta apretar play	
(run) para que nuestro programa corra en la pantalla. 
El éxito de P5 fue tal que el número de usuarios globales del sistema creció exponencialmente año tras año y aún hoy 
se mantiene la tendencia. En gran parte esto se debe al gran número de librerías que fueron apareciendo para sortear 
diferentes problemas específicos de los usuarios de Processing.
Una librería es un paquete de software que se puede utilizar para resolver alguna cuestión específica como comuni-
carse con una cámara web sin necesidad de saber específicamente nada sobre la cámara. Otras librerías están des-
tinadas a solucionar, por ejemplo, problemas de orden gráfico, es decir, cómo se puede realizar una operación de 
procesamiento visual de manera rápida y prolija. Hay en este momento varios cientos de librerías avaladas por los de-
sarrolladores de P5 que aceleran el proceso de creación de software visual para entornos interactivos. Veremos varias 
de ellas a lo largo de este material y analizaremos un caso particular creado exclusivamente para resolver el problema 
de la captura de movimiento en una escena.
Texto Aparte
Varios proyectos tomaron la intención original de Processing y dieron forma a nue-
vas maneras de acceder a la informática de modo más o menos sencillo. Arduino 
es una plataforma de hardware libre por la cual se puede programar un microcon-
trolador de manera sencilla. Un microcontrolador es un dispositivo electrónico (un 
chip) que tiene incluidas todas las partes de una computadora completa, es decir 
un CPU, una memoria RAM para ejecutar los programas, una memoria ROM para al-
macenar el programa, una memoria Eprom que permite mantener los datos guar-
dados luego de la interrupción de la energía de alimentación y entradas y salidas 
digitales y analógicas. <www.arduino.cc>
Las visuales de la película Tron	
Legacy (2010, EE.UU.) dirigida por 
Joseph Kosinski fueron realizadas 
utilizando openFrameworks. Se 
pueden ver en el siguiente enla-
ce: <http://jtnimoy.net/?q=178>
24
Como referencia a otros lenguajes de programación y entornos para la computación gráfica interactiva mencionare-
mos solo dos:
openFrameworks: aparece como una alternativa a Processing para aquellos realizadores que además poseen un co-
nocimiento más avanzado en programación o que ya hicieron sus primeros pasos en Processing y ahora sus aplica-
ciones requieren de mayor rendimiento o del uso de piezas de software no disponibles en Java (que es el lenguaje 
original sobre el cual está escrito Processing).
openFrameworks es también de código abierto y con una comunidad creciente muy efervescente que produce en 
conjunto una cantidad de software increíblemente alta, versátil y ecléctica. Esto se realiza por medio de “addons” que 
en definitiva serían el análogo a las librerías de Processing. 
La diferencia fundamental entre openFrameworks y P5 es que openFrameworks está escrito en lenguaje C++ y no 
tiene un editor de código asociado lo que hace el proceso de fabricación de aplicaciones un poco menos directo que 
en Processing. 
Una vez superada esta primera instancia de puesta a 
punto del entorno de trabajo, las aplicaciones generadas 
suelen correr más rápido que en Processing por ser C++ 
un lenguaje no interpretado. Esto significa que el códi-
go de máquina generado es particular para el sistema 
operativo en el cual se trabaja mientras que el código de 
máquina generado por Processing es interpretado por 
una “máquina virtual” que es la que en definitiva interac-
túa con el sistema operativo. Es por eso que el código de 
Processing es multiplataforma ya que ese mismo código 
es susceptible de ser ejecutado en cualquier ordenador 
que tenga instalada una Java Virtual Machine.
Imagen 1.7. Visual de la película Tron Legacy
Fuente: imagen extraída de http://jtnimoy.net/?q=178
25
El otro framework	que se ha puesto “de moda” en estos últimos tiempos es Cinder. Está también escrito en C++ y su 
particularidad es que el core (núcleo), o sea, la rama central de código, está prolijamente mantenida por su creador 
Andrew Bell. Cinder aparece como un entorno de desarrollo de aplicaciones gráficas pero orientado al segmento 
profesional y se presenta como una librería de código organizada de manera lógica e intuitiva al realizador gráfico.
Andrew Bell
<http://drawnline.net/>
Cinder
<http://libcinder.org/>
1.2.6. Sistemas operativos
Si bien no es la intención de los autores de este material postular la idea de que un sistema operativo es mejor que 
otro, es válido mencionar que históricamente el sistema operativo Mac fue y es el que va a la vanguardia en cuanto a 
multimedia se refiere. Es por eso que muchas de las aplicaciones más sofisticadas, versátiles y estables en términos de 
performance y actualizaciones están solo disponibles para ese sistema operativo
Es también válido mencionar que en su origen el sistema operativo Mac Os Classic permitía a los desarrolladores generar 
aplicaciones de manera muy sencilla. Había una clara intensión de la empresa Apple de producir no solo computadoras 
sino de permitirle a sus usuarios que produzcan software compatible con su ordenador de la manera más cómoda e 
inmediata posible. No es casual que la primera versión de max/MSP fue escrita para la computadora Macintosh.
Max/MSP
<http://en.wikipedia.org/wiki/Max_(software)>
Otra opción interesante en nuestro campo es GNU/Linux, un sistema operativo completo de código abierto y libre. 
Por tratarse de un sistema operativo libre en la que una gran cantidad de desarrolladores globales se encuentran 
trabajando cotidianamente, suelen aparecer soluciones muy inmediatas a problemas relacionados con nuevas inter-
faces o dispositivos. 
La comunidad de software libre trabaja con ese tipo de software por lo tantoes más probable que desarrollos libres 
provengan desde ese lugar más que desde un sistema cerrado. Por ese motivo es muy común hoy día encontrar sis-
temas GNU/Linux en gran cantidad de dispositivos multimedias como RaspberriPI y otros.
La	versión	mas	conocida	de	GNU/Linux	es	Ubuntu:
<http://www.ubuntu.com/>
1.2.7. Sistemas ópticos de sensado de posición y silueta
Estos sistemas son técnicas, algoritmos y herramientas que utilizan videocámaras para observar una escena y extraer 
información a partir del análisis de la imagen captada por este dispositivo. Generalmente, estos algoritmos implican 
el análisis de la imagen píxel por píxel para extraer información que de cuenta de aspectos de la escena tales como el 
movimiento de una persona, la presencia de ciertos objetos u otras variables. 
Algunos ejemplos:
TSPS permite capturar la entrada de personas en la escena:
<http://opentsps.com/>
reactiVision es utilizado para resolver pantallas táctiles. Constituye una 
parte importante del proyecto reacTable:
<http://reactivision.sourceforge.net/>
CCV está pensado para resolver sistemas de pantallas multitouch a gran 
escala: <http://ccv.nuigroup.com/>
Ejemplo de proceso de captura de movimiento:
Imagen 1.8. Captura por sustracción de fondo
Fuente: elaboración propia
26
Las técnicas pueden ser aplicadas mediante la implementación de sus algoritmos en algún lenguaje de programación 
como los anteriormente descritos, pero también existen herramientas de software que ya tienen resuelto el algorit-
mo y que solo deben ser puestos en funcionamiento para que brinden la información que deseamos obtener de la 
escena.
Los sistemas ópticos de sensado de posición y silueta han adquirido una gran relevancia en los sistemas interactivos, 
dado que es un tipo de sensado más sencillo y eficaz. Es, además, menos costoso que el sensado por medios físicos 
de los mismos fenómenos. 
En el arte interactivo vinculado a la multimedia escénica (instalaciones interactivas, performance, etc.), este tipo de 
sensado es de gran utilidad ya que nos permite captar el movimiento del cuerpo mediante la utilización de cámaras 
de bajo costo como lo son las cámaras web.
 
Ejemplo de proceso de captura de movimiento:
Imagen 1.9. Resultado de la captura
Fuente: elaboración propia
27
Este tipo de sistemas también ha habilitado la construcción de pantallas sensibles al tacto, multitacto (es decir, que 
pueden captar varios dedos a la vez). Por un lado, en formato de pantallas de acrílico, retroproyectada, como las crea-
das por Jefferson Han que aprovechan un fenómeno óptico llamado Reflexión total interna frustrada. Este fenómeno 
permite que se ilumine un acrílico en los cantos cuando se apoya un dedo sobre la superficie del acrílico, la yema del 
dedo se iluminará, luego una cámara captará dicha luz e interpretará la posición del dedo.
 
Imagen 1.10. Imagen del efecto de la Reflexión total interna frustrada 
Fuente: imagen obtenida de <http://cs.nyu.edu/~jhan/ftirsense/>
Pantallas sensibles al tacto, multitouch en tela de lycra retropro-
yectada: estas pantallas permiten trabajar con mayores tamaños. 
En este caso, se utiliza retroproyección para generar la imagen y 
el sistema óptico capta la sombra que generan los dedos al hun-
dir la tela.
28
Imagen 1.11. Imagen de las pantallas sensibles al tacto multitacto hecha por Jefferson Han 
Fuente: imagen obtenida de: <http://cs.nyu.edu/~jhan/ftirsense/>
El siguiente video muestra las imágenes de las pantallas sensibles al tacto multitacto hechas por Jefferson Han.
Fuente: obtenido de: <http://cs.nyu.edu/~jhan/ftirsense/>
 
29
Imagen 1.12. Imagen de la obra Sensible
Fuente: gentileza del colectivo Proyecto Biopus <www.biopus.com.ar>
Imagen 1.13. Imagen del sistema de la obra Sensible
Fuente: gentileza del colectivo Proyecto Biopus <www.biopus.com.ar>
30
Imagen 1.14. Análisis de imagen realizado por el sistema de pantalla sensible al tacto con tela de Lycra
Fuente: gentileza del colectivo Proyecto Biopus <www.biopus.com.ar>
Fuente: Sensible (2007), Instalación interactiva del Proyecto Biopus <www.biopus.com.ar>
Una versión más refinada de los sistemas ópticos de captación 
son aquellas que permiten interpretar determinados patrones 
visuales en la imágenes provenientes de la cámara. Existen técni-
cas y algoritmos destinados a captar patrones bitonales (en blan-
co y negro) en la escena. La idea consiste en colocar a objetos físi-
cos etiquetas con patrones bitonales de forma que estos puedan 
ser captados por el sistema y así poder deducir la ubicación del 
objeto físico en la escena.
Estas técnicas pertenecen al campo de la realidad aumentada 
que implica la vinculación con entidades virtuales mediante la 
manipulación de objetos físicos, y por ende, su forma de puesta 
en escena busca la integración perceptiva de las entidades vir-
tuales con el entorno físico.
Imagen 1.15. Imagen de un sistema de Realidad aumentada
Fuente: imagen obtenida de 
<http://www.interaction-design.de/tag/hci/>
31
1.2.8. Protocolos de comunicación
Dada la gran complejidad de las tareas que un sistema interactivo debe contemplar para poder generar una expe-
riencia inmersiva, dinámica, en tiempo real de calidad, surge la necesidad de hacer que muchos softwares a la vez 
interactúen tanto localmente (en un mismo ordenador) como de forma remota (vía red).
Esto es algo que a los músicos electrónicos les ocupa desde el origen mismo de la disciplina. Los grandes sistemas 
modulares de la década de 1950 comunicaban información de un módulo a otro utilizando un sistema analógico 
denominado control por voltaje. El control por voltaje permite que varios instrumentos musicales funcionen en con-
junto, de esa manera, un mismo teclado puede estar controlando a la vez un oscilador y disparando una envolvente 
para generar la dinámica acorde con el sonido que se intenta sintetizar.
<http://es.wikipedia.org/wiki/MIDI>
32
Imagen 1.16. Sintetizador Moog Modular
Fuente: imagen extraída de <http://www.sequencer.de/syns/moog/Modular.html>
Esta idea es tomada luego por los fabricantes de instrumentos musicales digitales para desarrollar la norma de comunica-
ción MIDI que será la base de los protocolos y sistemas de comunicación con los cuales trabajaremos a lo largo del material.
El protocolo de comunicación MIDI nace a principios de la década de 1980. Desarrollado por varias empresas fabri-
cantes de equipos musicales. Propuesto inicialmente por Dave Smith de Sequencial Circuits, pretendía ser el estándar 
de comunicación establecido para que cualquier instrumento musical electrónico digital pudiese comunicarse (com-
partir información) con otros sin importar el tipo de artefacto, modelo o fabricante.
De hecho, el estándar MIDI se impuso con tal fuerza que hasta el día de hoy (40 años más tarde) sigue vigente, sin 
duda debido a la simpleza de su implementación.
Un “estándar” no es más que una “definición”. En el caso de los estándares de comunicación entre artefactos digitales 
esa definición comprende esencialmente dos partes: una referida a la capa física, el “cómo” y otra referida a la capa 
lógica, el “qué”.
En el caso del protocolo MIDI, el estándar prevé que la comunicación entre dispositivos esté soportada por una co-
nexión serial donde los artefactos intervinientes se encuentren aislados eléctricamente pero donde se mantenga un 
vínculo de circuito cerrado entre el que recibe y envía. Es lo que se conoce como un loop de corriente.
El dispositivo que emite un mensaje MIDI envía una corriente eléctrica que modula un diodo infrarrojo en el receptor. 
Esa variación es interpretada internamente por el receptor quien es el encargado de “descifrar” el mensaje con base 
en un código binario establecido de antemano que en el caso de MIDI se transmite a una velocidad de 31250 bits por 
segundos (o baudios).
En lo que concierne a la capa “lógica” del protocolo, se establecen mensajes donde la información efectivamente 
transmitida es de 7 bits, esto representavalores de entre 0 y 127. La combinatoria de varias de estas “palabras” se es-
tablece también en el protocolo, el cual permite, por ejemplo, transmitir usando tres palabras: información respecto 
de qué nota está siendo ejecutada en un teclado como también con qué valor de intensidad la tecla ha sido percutida 
(siempre en valores que van de 0 a 127).
En Windows se puede utilizar el programa midiYoke para virtualizar 
puertos midi: 
<http://www.midiox.com/index.htm?http://www.midiox.com/myoke.htm>
Sobre OSC se desarrollaron protocolos específicos de la actividad au-
diovisual y de las interacciones en tiempo real entre dispositivos. Tal es 
el caso del protocolo TUIO utilizado para implementar de manera están-
dar aplicaciones de interacción multitouch. <http://www.tuio.org/>
33
En nuestro trabajo encontraremos que muchas veces se utilizan interfaces o dispositivos que responden a esta norma 
como software que puede ser controlado a partir de este protocolo tanto desde un dispositivo interno como por otro 
software. En este caso la capa física de conexión permanece virtualizada internamente en el sistema operativo.
Si bien la potencia y flexibilidad del protocolo MIDI es indiscutible, con el tiempo surgió la necesidad de mejorar ese 
estándar de comunicación pensando ya en la conexión de diferentes instrumentos musicales (fundamentalmente 
software que corra en un ordenador) ampliando en principio la posibilidad de mensajes que se pueden enviar, su 
largo de palabra (se refiere a cuán grande es el rango de posibilidades que puede transmitir), la velocidad de transfe-
rencia y la implementación de mensajes específicos creados por el usuario final. Como respuesta a esta demanda es 
que surge el protocolo OSC.
OSC (opensoundcontrol) es un protocolo cuyo estándar físico está basado en otro protocolo familiar a las compu-
tadoras que es TCP usado en las conexiones de red. OSC funciona sobre TCP utilizando paquetes en otro protocolo 
denominado UDP. Este último permite despachar mensajes desde un servidor y todos los clientes que escuchen a ese 
servidor en un puerto determinado pueden recibir el mensaje.
Web	de	OSC
<http://opensoundcontrol.org/introduction-osc>
Los mensajes se establecen según tipos de datos específicos: números enteros, decimales, cadenas de caracteres o 
arreglos que incluyen listas de algunos de ellos. El protocolo también prevé que los mensajes lleven una especie de 
“encabezado” que identifique el tipo de mensaje, de manera que quien lo reciba, conociendo de antemano la especi-
ficación para ese tipo de mensaje, pueda entenderlo y utilizarlo en consecuencia.
1.2.9. Hardware de los sistemas interactivos: sistemas de control y sensado físico
Así como el proyecto Processing encarna cierta revolución respecto del uso de computadoras por parte de artistas 
para poder generar imágenes utilizando código, el proyecto Arduino intenta acercar al mismo público el uso de mi-
crocontroladores de manera ágil y sencilla sin mayores complicaciones.
Un microcontrolador es una pequeña computadora integrada en una pastilla (chip). Contiene en su interior todas las 
partes de un ordenador pero de manera reducida. En el caso de Arduino el microcontrolador a utilizar es alguno de 
la marca AVR y que en general cuenta con las siguientes prestaciones: un CPU corriendo a 16Mhz, memoria RAM de 
34
328 bytes, una memoria de programa ROM (es decir, que no se borra al desconectarlo de la corriente) de 32KB, una 
memoria eprom (que se puede autograbar y se mantiene luego del corte de energía) y diversos dispositivos como 
una interfaz de comunicación serial, generador de señales con modulación del ancho de pulso (PWM) y lo más impor-
tante, puertos de entrada y salida digitales y analógicos.
Estos puertos nos permiten conectar Arduino con casi cualquier otro dispositivo electrónico (generalmente por me-
dio de algún otro circuito de interfaz) de manera de poder controlarlo remotamente tanto por medio de un software 
precargado o utilizando el propio Arduino como interfaz entre un ordenador y el aparato que se requiera controlar.
Los puertos son además bidireccionales de modo que podremos usarlos tanto como salida (si es que queremos con-
trolar algo externo) o como entradas en el caso de que necesitemos utilizar sensores. Arduino (la comunidad y el pro-
yecto en sí) prevé este tipo de usos por lo cual la extensa documentación en su web hace en gran parte su existencia. 
35
2. Imagen y sonido en tiempo real
 
Objetivos
• Conocer y dominar las herramientas de software y hardware más usadas.
• Vincular diversas aplicaciones de imagen y sonido entre sí conociendo los protocolos más utilizados.
• Construir un sistema de generación de imagen a partir de sonido.
2.1. Introducción
En esta unidad presentaremos los bloques fundamentales con los cuales producir una pequeña aplicación interactiva 
que pueda generar imagen a partir del sonido. El hecho de poder vincular de manera creativa la imagen y el sonido 
para producir un acontecimiento audiovisual interactivo original es central para nuestra disciplina. Consideramos, por 
ese motivo, que intentar construir una aplicación de este estilo es un buen punto de partida para comenzar a descu-
brir los detalles de las tecnologías involucradas en nuestro curso de manera progresiva.
Utilizaremos los programas Pure Data (PD) para la captura y análisis de la señal sonora y Processing (P5) para crear un 
motor visual que genere imagen a partir de ciertos parámetros. En la siguiente unidad explicaremos los pormenores 
acerca de cómo vincular las dos aplicaciones para que funcionen de manera unitaria utilizando el protocolo OSC o MIDI.
Un ejemplo muy claro en este sentido es la obra Messa Di Vocce del colectivo artístico Flong
Fuente: <http://www.youtube.com/watch?v=STRMcmj-gHc>
2.2. La computadora personal como herramienta
Con la aparición de la computadora personal (en el año 1976 aproximadamente) comenzó también el desarrollo de 
software para esos dispositivos. Hasta ese momento, todo el software era escrito en las universidades con propósitos 
fundamentalmente científicos. Grandes mainframes llenaban pisos enteros donde cada científico interesado en acce-
der al recurso tenía que compartir el tiempo de procesamiento con el resto de sus colegas.
El diccionario IBM de la computa-
ción define mainframe como “una 
gran computadora, en particular 
una a la cual otras computadoras 
pueden conectarse para poder 
compartir las funcionalidades que 
ese mainframe provee (por ejem-
plo, una computadora de la línea 
System/370 a la cual computa-
doras personales son conectadas 
para poder subir o bajar progra-
mas o datos). El término, general-
mente, se refiere solo al hardware, 
es decir, al almacenamiento prin-
cipal, los circuitos de ejecución y 
las unidades periféricas”. Fuente: 
<http://www-03.ibm.com/ibm/
history/exhibits/mainframe/main-
frame_intro.html>
Recién en el año 1983, Richard Stallman acuña el término “software libre 
(free software)” al determinarse a generar un sistema operativo de ca-
rácter libre (el sistema GNU). En palabras de Stallman Free software no 
significa “software gratuito” sino “software libre”.
“Libre”, en el sentido de ser considerado un bien común para la huma-
nidad y por tanto de ser tratado como cualquier otro bien cultural que 
la humanidad haya conseguido a lo largo de su evolución. (Stallman, 
1983: <http://www.gnu.org/philosophy/free-sw.html>)
Una analogía pertinente podría ser la siguiente: alguien, en algún 
momento, entendió cómo fabricar una pared. Con paredes se pueden 
construir casas. Ahora bien, el constructor de casas no paga regalías al 
inventor de la pared puesto que ese conocimiento forma parte del acer-
vo cultural de la humanidad. Con el software libre ocurriría más o menos 
lo mismo. La diferencia radica en que el software aparece ya en un mun-
do que se rige por las leyes del mercado y la industria.
36
En esos momentos, el tiempo de respuesta de las compu-
tadoras era sustancialmente másrápido que el de la men-
te humana. La computadora podía resolver problemas 
específicos de manera precisa y en tiempos mucho más 
cortos que los que tomaría a un calculador humano. De 
cualquier forma, es interesante tener en cuenta que cada 
calculación susceptible de ser llevada a cabo en la compu-
tadora podía tomar decenas de horas en resolverse. 
A partir de la entrada de las computadoras en las casas 
de los amateurs y aficionados a la computación es que 
también se dispara el desarrollo y el entusiasmo por 
conseguir aplicaciones que resolvieran los problemas 
e inquietudes de los nuevos propietarios de hardware: 
el usuario general.
Esos softwares, producidos ya fuera de las universidades, 
apuntaban a resolver tareas simples como llevar adelan-
te la contabilidad hogareña, calcular fácilmente presu-
puestos para pequeños negocios, manipular texto, emu-
lar juegos de ingenio y organizar agendas de contactos. 
Muy rápidamente las aguas se dividieron en dos grandes grupos: por un lado estaban quienes se juntaban a compar-
tir sus programas de manera amistosa en clubes informáticos y casas de computación. Eran comunes las reuniones de 
fin de semana donde se intercambiaban de manera impresa el código escrito para tal o cual máquina y que cumplía 
de forma más o menos certera con alguna función particular.
Por otro lado, también estaban quienes sostenían que el trabajo efectuado en resolver e implementar tal o cual algo-
ritmo debía ser tratado como un bien material sujeto a las leyes del mercado, es decir, susceptible de ser “comerciali-
zado”. Nace así el software privativo y la idea de software licenciado. 
Por supuesto, ambas vertientes tienen sus particularidades.
El código fuente (en inglés sour-
ce	code) es un conjunto de líneas 
que conforman un bloque de tex-
to, escrito según las reglas sintác-
ticas de algún lenguaje de pro-
gramación destinado a ser legible 
por humanos. Es un programa en 
su forma original, tal y como fue 
escrito por el programador, no es 
ejecutable directamente por el 
computador, debe convertirse en 
lenguaje de máquina mediante 
programas compiladores, ensam-
bladores o intérpretes. Poco tiem-
po atrás, la empresa Apple donó 
el código del sistema operativo 
que venía incluido en su modelo 
Apple II al museo de historia de 
la informática: <http://www.com-
puterhistory.org/atchm/apple-ii-
dos-source-code/>
Es sumamente importante en este sentido 
el texto La catedral y el bazar de Eric. S. Ra-
ymond (1999), hacker conocido y respeta-
do por la comunidad informática mundial.
37
Documento	fundacional	de	la	free	software	fundation:
<http://www.gnu.org/gnu/initial-announcement.html>
Cuando hablamos de software libre nos referimos a 
cualquier aplicación sobre la cual uno puede tener 
acceso al código fuente. En ese sentido existen una 
diversidad de licencias de uso que determinan qué 
puedo y qué no puedo hacer con ese software. Funda-
mentalmente la cuestión se encuentra dividida en tres 
grandes problemas: si puedo o no distribuir mi aplica-
ción y/o cómo puedo hacerlo, si puedo o no modificar 
el código mejorándolo o adaptándolo a mis propias 
necesidades y/o cómo puedo hacerlo, y si distribuyo 
comercialmente copias de ese software o modifico el 
código original, cuáles son las condiciones que se apli-
can sobre mi acción.
Sitio	oficial	de	Eric	Raymond.	
<http://www.catb.org/esr/>
Es nuestra intención promover el uso de software libre en todo lo que sea posible puesto que nos parece relevante en 
términos educativos poder contar con la posibilidad de explorar cómo se programaron ciertas herramientas que uti-
lizaremos a lo largo de este material. También nos parece importante contar con la posibilidad de exponer y distribuir 
nuestro trabajo de manera libre y cooperativa; sin mayores restricciones.
Es en ese sentido que nuestro recorrido estará centrado en dos aplicaciones, en un amplio sentido, fundacionales de 
nuestra disciplina. Nos referimos a los softwares PD (Puredata) y Processing.
<www.puredata.info>
38
2.3. Herramientas de software
2.3.1. Pure data (PD)
Pure Data (aka Pd, luego devenido max/MSP) es un lenguaje de programación 
visual de fuente abierta. PD permite a los músicos, artistas visuales, bailarines y 
coreógrafos, investigadores y desarrolladores de software crear gráficamente, sin 
necesidad de escribir líneas de código. PD se utiliza para procesar y generar soni-
do, video, gráficos 2D/3D, sensores de interfaz, dispositivos de entrada y MIDI. PD 
es adecuado para el aprendizaje de los procesamientos multimedia básicos y mé-
todos de programación visual, así también como herramienta de prototipado de 
sistemas más complejos para proyectos de gran escala. (www.puredata.info)
Imágen 2.1. Captura de la web de puredata
Fuente: www.puredata.info
Si bien PD permite generar, controlar y producir imagen en movimiento, será nuestra herramienta preferida para todo 
lo que tenga que ver con control y procesamiento de sonido ya que es allí donde encontramos sus mayores virtudes.
PD es un lenguaje de programación que utiliza una metáfora gráfica 
para construir los bloques funcionales. A este tipo de paradigma se lo 
conoce como “programación visual” o “programación por flujo de da-
tos”. Al respecto puede consultarse <http://en.wikipedia.org/wiki/Data-
flow_programming> (en Inglés)
39
PD se encuentra disponible en varios “sabores”. En particular, vamos a instalar la última versión que aparece dispo-
nible en la web de Pure Data. La versión que utilizaremos es la que aparece definida como “pd-extended”. Incluye el 
núcleo de la aplicación creado originalmente por Miller Pucket más una serie de adicionales que nos permiten una 
mayor cantidad de utilidades.
Enlace	para	la	descarga	del	programa:	
<http://puredata.info/downloads/pd-extended>
Imágen 2.2. Captura de la página de descarga
Fuente: www.puredata.info
Una vez instalado, al iniciar, el programa PD nos ofrece la ventana de terminal. Esta ventana es nuestra puerta de co-
municación con el programa. Todos los lenguajes de programación ofrecen algún medio de entrada y salida de datos. 
En este caso, la consola de PD nos muestra información relacionada con el estado actual de la aplicación y de nuestro 
programa (de ahora en adelante patch).
Tutorial/Manual sobre PD, completo y en castellano. Constituye una de 
las mejores referencias en español disponibles en la web:
<http://www.lucarda.com.ar/pd-tutorial/>
Processing no es el primer ejemplo de lenguaje para producir imáge-
nes. DBN (Design by Numbers) es una aplicación/lenguaje creado por 
un docente del MIT, John Maedea, quien fue profesor de Reas y Fry. En 
cierto sentido Processing puede ser considerado como la evolución de 
DBN, tal cual quedó registrado en la última actualización del sitio en 
2003. <http://dbn.media.mit.edu/>
40
Imágen 2.3. En la consola de PD podemos ver cómo está funcionando la aplicación 
y recibir información sobre la ejecución de nuestro patch.
Fuente: elaboración propia.
2.3.2. Processing
Processing es a la vez un lenguaje de programación (un API), un entorno y una comunidad de desarrollo de software. 
El proyecto fue originado por dos estudiantes del MIT como proyecto de tesis. La propuesta era construir un sistema 
informático para que los alumnos o estudiantes de artes visuales, pudiesen, a la vez que aprenden a programar, cons-
truir imágenes de manera programática.
La fascinación de Casey Reas, uno de los mentores del proyecto, tenía que ver con la posibilidad de aplicar procesos 
algorítmicos para la generación de dibujos. Su intención era la de generar dibujos automáticamente.
Si bien esta idea está presente desde hace muchísimo tiempo, no fue hasta el lanzamiento de Processing que el recur-
so informático se empezó a usar de manera casi ubicua en el arte visual digital.
 
En gran parte, el éxito de Processing se debe al trabajo de Ben Fry (el otro integrante de la dupla) de perfil más técni-
co. Fue Fry quien logró desarrollar un sistema basado en java que permitiese

Continuar navegando