domingo, 20 de mayo de 2012

Interfaz gráfica completa: Arduino Synth

Ya tenemos todos los elementos necesarios en nuestro programa y sólo queda aglutinarlos en una única interfaz integrada por todos los módulos mostrados hasta ahora. Para ello hemos diseñado una GUI escalable, fácil de usar y lo más intuitiva posible para poder utilizarla sin dificultades.
Arduino Synth - GUI 
En ella se pueden observar los distintos módulos del programa:
  • Módulo de comunicación con Arduino (arriba izquierda) Controla la comunicación con el microcontrolador, permite abrir y cerrar conexión con él, activar el Active Sensing y el parseado de instrucciones MIDI, y además activa y desactiva la computación de audio en el Pure Data. 
  • Módulo de visualización/comunicación con la Matriz LED (arriba centro) Se trata del módulo de comunicación explicado en el apartado anterior. 
  • Display de mensajes MIDI (arriba derecha) En este display se visualizan las instrucciones MIDI que llegan del Arduino, cuyos bytes han sido parseados para hacerlos inteligibles (gracias al módulo printMidi) 
  • Visualización de energías y audio final (debajo de los tres anteriores) Aquí se recoge todo el audio generado en el programa y se envía por el puerto de salida para ser reproducido por la salida de audio del sistema. Se presenta la señal por pantalla y se calcula la energía en 8 bandas de frecuencia, preparando los valores para ser enviados al módulo de comunicación con la matriz LED. 
  • Arpeggiator (debajo del anterior) Explicado en el apartado siguiente. 
  • Módulo de síntesis FM (abajo izquierda) Nuestro primer sintetizador polifónico. Con presets añadidos y reverberación. 
  • Reproductor de audio (abajo centro) Reproduce archivos de audio. Contiene controles estándar de reproducción, volumen, posición de la canción, control de velocidad de reproducción y reverb. 
  • Módulo de redirección MIDI para programas externos (abajo derecha) Redirige la información MIDI a un bus virtual del sistema para ser utilizada por otros programas.
Y para finalizar, el esquema de funcionamiento global del programa:

No hay comentarios:

Publicar un comentario