Processing-Android Sound Interface

04

dic.12



En welovecode, como sabéis, queremos darle importancia a la investigación  y testeo de nuevas aplicaciones interactivas, software, librerías, etc. Muchas veces lo que hoy probamos y dejamos a medias sin haber profundizado del todo, mañana nos da la solución a un problema o otro punto de vista interesante para afrontar un futuro proyecto.

En este caso hemos estado trasteando un poco con la opción que Processing nos brinda para desarrollar en dispositivos con sistema operativo Android. La sensación es muy positiva, la realidad es que ya podemos llegar bastante lejos sin salir del IDE de Processing en su modo Android, todo con bastante comodidad y de una manera bastante directa.

Para desarrollar esta aplicación, que no es más que un ejemplo para probar diferentes librerías y que no pretende se un producto acabado ni mucho menos 100% funcional, hemos utilizado varias librerías tales como la OSCp5 ( para las comunicaciones via OSC, 100% compatible modo Android ), la librería APwidguets (Interface gráfica) y diversos hacks para poder saber, por el ejemplo, el Fps de nuestra aplicación, salvar y leer en un archivo Txt., el uso del acelerometro, multitouch , etc.  Todo ello lo podéis investigar directamente en los propios archivos del código que hemos ido generando, el cual os podéis descargar aquí.

Como funciona la aplicación. 

La aplicación no es más que una colección de botones y diversas funciones para lanzar mensajes OSC via wifi y poderlos interpretar con cualquier aplicación que reconozca estos mensajes en una sola vía, es decir, desde la app a la maquina establecida. En este caso hemos usado Osculator por el medio para comunicarlo con LIVE vía Midi, por una cuestión de comodidad a la hora de realizar el patch de los diversos mensajes.
Para conectarnos, disponemos de un menu en el que debemos de introducir la Ip  y el puerto establecido de entrada de la maquina con la que queramos establecer la conexión. Para ello disponemos de dos campos de texto en los cuales, al introducir los dígitos y confirmarlos, abriremos la conexión a traves de nuestra red local para conectarnos con la maquina ( La aplicación recordará tu IP una vez cerrada la App, por lo que no tendrás que preocuparte al volver a ejecutar la app, si no has cambiado nada en la configuración de la red).
Una vez establecida la conexión, dispones de 3 pantallas y el acelerómetro para ir jugando con todos los parámetros. Podrás patchear cada mensaje a tu gusto y establecer la acción que desees con cada botón pulsado ( primer ejemplo ), accionando automaticamente el movimiento de los botones en base a la posición de tu móvil (2º ejemplo )  o simplemente usando una secuencia en loop adaptada a una velocidad, como intenta resolver el tercer ejemplo

Disclaimer.

No hemos intentado ni consultado con ningún músico o entendido musical  cuales son los métodos correctos para hacer una aplicación funcional al 100%, no hay probablemente una sincronía ni un ajuste de tiempo en el disparo de los mensajes de manera decente y no hemos tenido un minimo cuidado de imitar las herramientas que ya funcionan. Es un simple test, ni siquiera hemos pretendido hacer  algo más alla que un poco de ruido y somos plenamente conscientes de ello. Probablemente tenga bastantes bugs y cosas muy mejorables.

Documentación consultada.

Wiki P5-Android / ApwidguetsOscP5 / Ketai / Processing Forum


  1. ¿Qué piensas?