Looper
Inicio
En este proyecto se tuvo como idea inicial el desarrollo de un dispositivo que permitiese leer tiras de papel de colores y en función del color leído imprimiese una nota u otra. Sin embargo se me presentó un problema, y es que a la hora de dar la vuelta en la cinta el papel se rasgaba por lo que al final adapte el proyecto y acabé realizando un looper.
Un looper es un instrumento electrónico que permite grabar, reproducir y superponer capas de sonido en tiempo real. En este caso el looper ha desarrollar no va a grabar audio si no que va a detectar cambios físicos tales como lectura de colores, pulsaciones de botones y giros de motor. A partir de estos generara sonidos que se repetirán en bucle.
Material empleado
- Lego EV3 Mindstorms
- Librería de linux ALSA(Advanced Library Sound Architecture)
- Lenguaje de programación C
- Compilador cruzado arm-ev3-linux-gnueabi-gcc
Funcionamiento
El funcionamiento del looper se basa en la generación de ondas sonoras a partir de eventos físicos detectados por los sensores y motores del sistema Lego EV3. Para ello, se emplea la generación digital de señales mediante la fórmula de una onda sinusoidal:
donde A representa la amplitud de la señal, f la frecuencia y t el instante temporal. La amplitud determina el volumen del sonido generado, mientras que la frecuencia define el tono de la nota reproducida. El parámetro temporal t resulta fundamental, ya que permite calcular el valor instantáneo de la onda y, por tanto, reconstruir la señal completa mediante muestreo.
Para realizar el muestreo digital de la señal, el instante t se sustituye por el número de muestra (frame), empleando la siguiente relación:
De esta forma, para cada muestra se calcula el valor correspondiente de la onda, permitiendo generar una señal digital continua que posteriormente es enviada al dispositivo de audio mediante la librería ALSA.
El sistema está compuesto por varios elementos físicos, entre los que destacan:
- Un motor encargado de hacer girar la banda transportadora.
- Un motor destinado al control dinámico de la frecuencia del sonido.
- Un sensor que detecta tiras blancas sobre la banda, utilizado para la sincronización del bucle.
- Un botón que inicializa el funcionamiento del sistema.
- Un sensor de color encargado de identificar los colores del papel para hacer la melodia.
Cuando el sistema se inicializa, la banda permanece parada, e inicia el funcionamiento del sensor de color de la hoja de colores que se iluminará y en función del color al que apuntes generará una nota u otra.
EL botón de la derecha pone en movimiento la banda transportadora. A medida que esta avanza, el sensor de color de la banda detecta las tiras blancas presentes, haciendo una base de fondo.
Los eventos detectados se almacenan temporalmente, permitiendo su reproducción cíclica en forma de bucle. De este modo, el sistema es capaz de superponer sonidos generados en diferentes instantes, simulando el comportamiento de un looper tradicional, pero sustituyendo la grabación de audio por la generación procedimental de sonido.
Este diseño permite crear secuencias musicales dinámicas basadas en la interacción física con el dispositivo, logrando una integración entre mecánica, electrónica y programación.