MULTIMEDIA: Processing y Pure Data


Hace unos meses conocí estos dos programas ambos de código abierto. 
Processing es un lenguaje de programación basado en Java, en el cual se pueden llevar a cabo proyectos multimedia, de creación gráfica digital, y de interactividad, ya que fue desarrollado por artistas y diseñadores con el objetivo de ofrecer una alternativa de software libre.
Apareció en el 2001 y fue iniciado por  Ben Fry y Casey Reas, ambos pertenecientes al Aesthetics and Computation Group del MIT media lab, grupo que investiga y desarrolla sistemas avanzados de diseño y procesos de pensamiento, conducentes a la creación de formas y espacios inimaginables.
Como está basado en Java, posee todas sus funciones, pudiendose realizar también proyectos y aplicaciones para la web.

Un ejemplo de los efectos visuales que se pueden crear con processing

Ya que utiliza la plataforma Java, pueden realizarse aplicaciones para celulares, y otros dispositivos de este tipo.

Processing en iPhone


Pure Data (pd~es igualmente un lenguaje de programación gráfica, anterior a processing, desarrollado en los años 90' por Miller Puckette, aunque al ser de código abierto, ha sido desarrollado progresivamente por otras personas para generar nuevas extensiones para el programa.    
Básicamente pd es un software diseñado para crear música computarizada y proyectos multimedia interactivos. Al ser un lenguaje de programación en sí mismo, posee unidades de código modulares y reusables que se escriben directamente en Pd, llamadas "parches" o "abstracciones", las cuales se usan como programas independientes que son compartidos libremente entre la comunidad de usuarios de Pd.
Los parches constan de diferentes objetos interconectados entre ellos. En su parte superior se encuentran las entradas, donde se les envian valores numéricos u otros tipos de datos, y en la posterior la salida de estos.

Tipos de objetos en pd~
Objeto: Su comportamiento dependerá del texto que tenga introducido en él mismo. El programa tiene unos objetos predefinidos, programados por terceras personas en diferentes lenguajes como puede ser C. El Pd reconoce el tipo de objeto y esa caja ya se comporta como tal.
Números: Su utilidad puede ser diversa, desde la de controlar el valor que tiene la señal en diferentes puntos del patch, hasta la de inicializar valores que se pasan a objetos que controlan, por ejemplo, un nivel de opacidad de una imagen.
Mensajes: Están provistos de información que se pasa a los objetos.
Símbolo: Este objeto guarda un símbolo hasta que recibe un [bang] u otro símbolo. Es entonces cuando este símbolo sale del objeto, por la parte inferior de la caja. Estos objetos se ofrecen solo en Pd si tienes descargada y correctamente instalada la biblioteca apropiada. No tienen porqué existir en las bibliotecas sencillas, aunque acostumbran a estar incluidas en los archivos de instalación.
Comentario: lo utilizaremos para incluir aclaraciones dentro de los diferentes pasos que sigue nuestro código.

Pure Data y Gem



APRENDIENDO PROCESSING Y PD:
MI EXPERIENCIA RECIENTE

Quiero compartir con ustedes mi primer trabajo en processing, a simple vista parece muy simple y hasta tonto, pero la verdad me costo mucho elaborarlo, fue un ejercicio de ensayo y error que implicó felizmente que lograra comprender y manejar el código. Aunque parece sencillo tiene detrás un código algo complejo, además para ser mi primer acercamiento es realmente de buen nivel.
La idea inicial era crear una escultura kinética, inspirada en el trabajo de Theo Jansen. Como me gustan mucho los caballos y sufro en silencio por los que son utilizados como esclavos, arrastrando pesadas carretas o "zorras" por toda la ciudad, sin mas destino que una vida de sufrimiento y maltrato, quise representar esa libertad que anhelo cada día para ellos.
Me inspiré en Jansen porque sus esculturas se mueven con el viento y algunas son dejadas en libertad en el desierto. 
Un ejemplo del trabajo de Theo Jansen para que, si no lo conocen lo conozcan y se maravillen con su arte y su técnica.
      

Bueno fue un proyecto muy ambicioso, que requiere mucho tiempo, así que logré que se moviera sólo la pata trasera; también me había imaginado un fondo que diera la sensación de desplazamiento, pero pues tampoco se alcanzó por tiempo.
Prometo completarlo en vacaciones y publicarlo, así idéntico como lo imaginé. 

He aquí mi humilde trabajo...



Luego conocí Pure Data, debo decir a mi modo de ver más fácil de comprender y trabajar que processing, (me costó menos). Para el siguiente trabajo de la clase de multimedia, me uní a mi compañero Alexander y empezamos a trabajar con base en lo que él realizó en processing. Su trabajo consiste en un gusano que persigue unos círculos u ondas que, son indicados por medio de un click del mouse en distintas partes de la pantalla. 
Uniendo Processing con pd por medio de un parche, logramos que los círculos aparecieran en cualquier parte de la pantalla por medio de la voz, o soplando; conectamos un micrófono a pd y con una salida midi, hicimos que el sonido saliera de processing y entrara a otro programa llamado Linux multimedia studio, (LMMS) un software igualmente libre. Allí podíamos transformar el sonido, hacer que nuestra voz sonara como un instrumento u otro tipo de sonido.
Este fue el resultado, espero les guste. Por un momento fuimos el flautista de Hamelin, atrayendo esta vez un gusano.



Actualmente estamos desarrollando este trabajo, logramos hacer que haya un intercambio de información entre processing y pd, el primero envía datos a pd, este los recibe y a su devuelve otros datos a processing.
De esta manera la idea es hacer que, cuando se haga un click en processing para indicarle al gusano que se desplace a este punto, con esto se envíen unos datos a pd y este los traduzca en una nota, que va a sonar repetidas veces hasta que el gusano llegue al lugar indicado. Al llegar éste no sólo desaparece la onda indicadora sino también el sonido, es decir el gusano se va comer el sonido.
Lo que esperamos es poder colocar varias, al menos 4 notas para generar un arpegio, que el gusano va a ir acallando poco a poco.
Hemos logrado la primera parte, que al hacer click suene una nota repetidas veces; también nos dimos cuenta que podemos hacer que suenen varias notas a la vez y colocando dos metrónomos hacer que suenen a diferentes tiempos, es decir con un sólo click se puede lograr el apegio.
Como algo adicional, también logramos en pd controlar los canales RGB del color del gusano.
A continuación un adelanto del trabajo, muy pronto subiré el resultado final.