Procesando Datos Puros: Vinculación de Pure Data y Processing a través del protolo OSC

¿Alguna vez has querido vincular plataformas de audio y de imagen, y no has sabido cómo hacerlo? ¿Has oído mencionar las siglas OSC, sin saber a qué se refieren?

El objetivo de este artículo es, precisamente, aprender a vincular imagen y sonido a través del llamado protocolo OSC. Para ello, utilizaremos las plataformas y lenguajes de Pure Data y Processing, considerando que ambos son muy utilizados entre los artistas multimedia, además de que consisten en programas libres que corren en la mayorías de los sistemas operativos.

A continuación, revisaremos paso a paso cómo realizar el ejercicio que se puede ver en el siguiente video:


Paso 1: Definiendo términos

Las siglas OSC hacen referencia al llamado Open Sound Control, que es un protocolo de comunicación informática que permite vincular diversos programas, lenguajes y dispositivos, con el fin de generar sistemas mutimedia que integran el sonido como parte de su funcionamiento.

Pure Data (PD), por su parte, es un lenguaje de programación “gráfico” o “visual”. Se le llama así porque funciona a partir de objetos que se colocan y conectan sobre un entorno gráfico, sin tener que escribir directamente código informático. Aunque son muchas las aplicaciones que puede tener este lenguaje, es común que se utilice para actividades relacionadas con la música y el arte multimedia.

Finalmente, Processing es otro lenguaje de programación que se suele utilizar para generar y manipular imagen digital en tiempo real. Es muy usado por artistas visuales y multimedia. A diferencia de PD, Processing funciona a partir de líneas de código que se combinan para generar algoritmos.

De modo que lo que haremos en este ejercicio es vincular los sonidos que generemos con PD con una imagen en movimiento generada con Processing. Tal como muestra el siguiente esquema, utilizaremos el protocolo OSC para comunicar ambas plataformas:

diagrama-pd-osc-processing

Nota: para este ejercicio nos concentraremos en controlar una imagen generada por Processing a partir de los sonidos que generemos en PD (comunicación PD->Processing), pero también sería posible hacer la vinculación en sentido contrario.


Paso 2: Descargas e instalaciones

Ya que hemos definido los tres conceptos que necesitamos comprender, el siguiente paso es descargar e instalar los programas que se requieren para realizar nuestro ejercicio. Es importante mencionar que tanto Pure Data como processing son software libre que corre en la mayoría de los sistemas operativos, por lo que no será necesario que compres nada ni que recurras a ninguna clase de piratería.

En primer lugar hay que descargar e instalar Pure Data. Para que nuestro patch funcione sin que tengas que instalar aditamentos adicionales, es recomendable descargar directamente la versión extendida de PD. Para ello, simplemente visita la sección de descargas de PD-extended, en la página oficial del programa, y elige  opción que corresponda a tu sistema operativo.

En segundo lugar necesitas instalar Processing. Al igual que PD, Processing se puede descargar directamente de la sección de descargas de su sitio web, teniendo cuidado, nuevamente, de elegir el SO que tengas en tu máquina.

Ya que hemos instalado ambos programas, es importante hacer una tercera descarga, que consiste en una librería que necesitaremos para correr el protocolo OSC en Processing. Esta librería se llama oscP5. Para descargarla, sigue este enlace y dale “ok” a la ventana que te aparezca.

Una vez que termine de descargarse el archivo, descomprímelo y cópialo en la carpeta “libraries”, adentro de la carpeta “sketchbook”, que está ubicada en el mismo lugar donde tienes tu carpeta de Processing.

Una vez que hayas descargado ambos programas y que hayas pegado la librería de oscP5 en la carpeta correspondiente, es importante importar la librería al entorno de Processing. Para hacerlo, hay que abrir dicho programa, selecionar el menú que se llama “Sketch”, después seleccionar la opción “Import library”, y del menú que se despliegue hay que seleccionar la opción “add library”. Se abrirá entonces el “Library manager”, y entre la lista de librerías que aparecen, estará la que se llama, justamente, “oscṔ5” (ver imagen siguiente). Basta seleccionarla para que se cargue… ¡y listo!

sketch


Paso 3. Descargar y abrir archivos

El tercer paso es muy sencillo. Simplemente hay que seguir este enlace, descargar y descomprimir la carpeta que se descargue. Esta carpeta se llama PD_OSC_Processing, y contiene dos archivos:

  1. PD_OSC_Processing.pd  —> Este es el archivo que abrirás con Pure Data.
  2. PD_OSC_Processing.pde —> Este es el archivo que abrirás con Processing.

Ya que tienes la carpeta descomprimida, guárdala en la ubicación que prefieras, y abre los dos archivos con el programa que corresponde a cada cual. En las siguientes imágenes puedes ver cómo se visualizan los archivos una vez que los has abierto (la ventana de la izquierda corresponde al archivo de PD, y la de la derecha al archivo de Processing):

ventana


Paso 4. ¡Voilà! Estás listo para ejecutar los archivos

Si pudiste abrir los archivos sin problemas, entonces estamos listos para probarlos. Simplemente sigue las siguientes instrucciones:

  1. En el archivo de PD, selecciona la pestaña que se llama “Media”, y activa la función que se llama “DSP on”.
  2. En el archivo de Processing, da click en el ícono de “play” que aparece abajo del menú “File”. Esto hará que se cargue el código. Si todo salió bien, aparecerá una pantalla con un círculo amarillo.

¡Eso es todo! Ahora podemos manipular el patch de PD, y veremos cómo al cambiar el sonido, cambia también la posición del círculo amarillo que despliega Processing. Para ello, simplemente hay que pulsar las teclas q-w-e-r-t-y-u-i-o-p-j-k-l, que servirán para controlar las frecuencias resultantes (que corresponden con una escala cromática a partir del Do4); por otra parte, se puede controlar la intensidad (volumen) con los números 1-9. En ambos casos, el círculo amarillo se moverá respondiendo a los cambios de intensidad y frecuencia.

bolita

En ambos archivos (el de PD y el de Processing) he incluido una descripción detallada de cómo funcionan los respectivos códigos, para que las personas que no estén familiarizadas con estos lenguajes de programación puedan entender, al menos a grandes rasgos, qué es lo que está ocurriendo.

Obviamente, esto es sólo un primer acercamiento a la comunicación multi-plataforma por medio de OSC, pero sirve para entender el funcionamiento básico de dicho protocolo, y para animar a los interesados a continuar explorando las posibilidades de interacción entre ambos lenguajes.

¡Espero que hayan disfrutado el ejercicio!

Advertisements