Press Enter to Search
hackaton-musical

Descripción del proyecto

Desarrollo de un juego interactivo adaptado del famoso Juego Simon. En el juego, el usuario tiene que repetir una secuencia musical sumando una nueva nota a la secuencia cada vez que acierta, aumentando progresivamente la dificultad de memorizar toda la secuencia. En vez de utilizar la típica interfaz de 4 botones del juego, se utilizaron técnicas de video-mapping y sensores piezoeléctricos para utilizar como instrumento un Balafón de madera de 12 piezas.

Desarrollo

balafon grave frente

Durante el MICA 2013, la Hackaton Musical fue vecina de la Asociación Argentina de Luthiers, ambas dentro del Sector Música. Desde un comienzo se habló con los luthiers para realizar algún proyecto en conjunto, y en la primer jornada del evento llegamos a la idea de hacer un juego híbrido entre técnicas y tecnologías antiguas y modernas. Para eso, elegimos el Balafón construido por el luthier Marcos Martin, un instrumento percusivo de madera de origen africano, antecesor de la Marimba mexicana, que utiliza calabazas como resonadores de las ‘teclas’ de madera, logrando un sonido cálido y agradable.

A partir de contar con el Balafón, el trabajo se dividió en 4 partes

  1. Armado electrónico e instalación de los sensores

  2. Programación y calibración en Arduino

  3. Programación del juego en Pure Data

  4. Programación en Processing y calibración del mapping

 1. Armado electrónico:

El objetivo era colocar un sensor piezoeléctrico en cada una de las ‘teclas’ del Balafón para que mida la vibración de cada una y pueda detectar cuándo era percutida. Para esto soldamos 12 micrófonos a cables largos, y los instalamos con cinta doble-faz pegados directamente a la madera. En un principio los pegamos del lado de abajo, en un extremo de cada tecla, pero la señal que detectaba era muy débil así que probamos pegándolos en el centro de cada una, obteniendo una señal mucho mas útil.

Luego de instalar los sensores, debíamos llevar esas señales a 12 entradas analógicas a una Arduino Mega. Para eso hicimos el siguiente shield, que incluye una resistencia y un diodo Zener en paralelo a cada sensor, que sirve para limitar el voltaje que genera el piezo a la tensión de quiebre del diodo, de forma de proteger la entrada de Arduino.

http://it.wikipedia.org/wiki/Franco_(nome)http://it.wikipedia.org/wiki/Franco_(nome)

Esquemático de conexión realizado en Fritzing

Screen shot 2013-05-30 at 1.12.59 AM

Piezo Shield

Shield para piezoeléctricos + Arduino (Foto: Daniela Amdan)

Soldado de sensores (Frame: Amplifica)

Soldado de sensores (Frame: Amplifica)

2. Programación de Arduino

El programa es un sketch relativamente simple que ‘lee’ las entradas analógicas que vienen de cada sensor piezoeléctrico.

Al ser PureData el programa que tenía que usar estas lecturas de Arduino, no hizo falta convertir la comunicación a MIDI, usamos directamente el protocolo Serial.

Lo único que hubo que hacer con el código a la hora de probar, fue calibrar los umbrales con los que una tecla era detectada como percutida.

Decidimos utilizar una Arduino Mega porque ya teníamos una, y la cantidad de entradas Analogicas que posee era ideal. Una Arduino UNO o Leonardo nos hubiese obligado a multiplexar la cantidad de entradas analógicas.

3. Programación del juego en PureData

A la hora de programar el juego, lo primero que se nos ocurrió fue buscar una referencia de algún Simon Game hecho previamente en PureData, lo que nos serviría como buen punto de partida.

Encontramos éste, hecho por Domien Holthof, que era exactamente lo que necesitábamos.

Pd-Simon

El Simon Game en Pure Data, de Domien Holthof.

El juego original tiene 4 notas posibles, pero nosotros teníamos 12, entonces tuvimos que adaptarlo. Se mantuvo la lógica de secuencias generadas de manera azarosa.

Luego grabamos con un grabador de mano las 12 notas del Balafón por separado, para hacer que cada nota de la secuencia que proponía el juego reproduzca el sonido real del instrumento.

Screen Shot 2013-05-31 at 6.15.24 PM

La simple interfaz del BalaSimon en PureData (Frame: Amplifica)

Además de recibir el estado de las teclas desde Arduino vía Serialport, PureData tenía que enviar datos OSC al patch de Processing que generaba la salida de video necesaria para proyectar directamente sobre el balafón con un proyector e indicar qué tecla debía ser tocada (al mismo tiempo que reproducía su sonido). Enviamos por OSC simplemente los números: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12, según la secuencia generada en PureData.

4. Programación en Processing y calibración del mapping

Uno de los integrantes del grupo tenía hecha ya una simple aplicación que permitía generar 12 ‘máscaras’ geométricamente manipulables con el cursor del mouse. Esto era exactamente lo que necesitábamos: proyectar sobre el Balafón en cada una de sus teclas por separado.

En un principio, intentamos mantener la estética del Simon proyectando colores sobre el instrumento, pero nos encontramos con que las teclas eran muy oscuras, y lo único que se veía claro eran tonos blancos o grises. Finalmente proyectamos un rectángulo sobre cada tecla y calibramos el mapping una vez que ya teníamos instalado el proyector final (de otra manera, cualquier cambio de posición nos hubiese obligado a re-mapear las teclas).

Para hacer el juego más agradable, agregamos ciertos efectos simples como curvas de fade-in y fade-out a la luz proyectada sobre cada tecla. También armamos una secuencia que prendía y apagaba todas las teclas al mismo tiempo tres veces cuando el jugador perdía.

Uso y conclusiones

Luego de instalar, calibrar el mapping y los umbrales de Arduino, probamos el juego un par de veces y lo abrimos al público.

El resultado fue muy satisfactorio: gente de todas las edades jugó, entendió el juego de manera intuitiva (la mayoría reconocía el juego como una adaptación del Simon).

Muchos se interesaron por la mezcla entre un instrumento de historia milenaria y un juego interactivo, otros miraban con curiosidad las teclas de madera que se iluminaban, sin entender cómo se bañaban de luz. Siempre que veíamos a alguien con cara de no entender, le explicamos que la fuente de luz era el proyector que estaba enfrente de ellos (por alguna razón nadie lo veía).

El proyecto fue muy divertido de armar y todas las partes se complementaron a la perfección. Fue una gran experiencia poder compartir un proyecto con los luthiers y tener la posibilidad de intervenir un instrumento de calidad artesanal tan especial como el Balafón.

Quedamos gratamente sorprendidos porque en cualquier desarrollo, por más pequeño que sea, suele haber problemas, pero esta vez no los hubo. Desde que surgió la idea, todas las etapas se resolvieron sin inconvenientes y ciertas casualidades, como el programa de mapping hecho a medida por un miembro del grupo que nunca hubiese sabido que su programa iba a terminar proyectando sobre un Balafón de madera, aparecieron en el momento justo para solucionar un problema que podría habernos llevado un buen rato.

Desarrolladores

Descargas

Referencias

t Twitter f Facebook g Google+