Tabla de contenido:

Estación de bucle MIDI multipista Arduino: 6 pasos
Estación de bucle MIDI multipista Arduino: 6 pasos

Video: Estación de bucle MIDI multipista Arduino: 6 pasos

Video: Estación de bucle MIDI multipista Arduino: 6 pasos
Video: Cakewalk By Bandlab - Tutorial en Español 🎹 Configura Controladores MIDI y VST 🎹 2024, Mes de julio
Anonim
Estación de bucle MIDI multipista Arduino
Estación de bucle MIDI multipista Arduino
Estación de bucle MIDI multipista Arduino
Estación de bucle MIDI multipista Arduino
Estación de bucle MIDI multipista de Arduino
Estación de bucle MIDI multipista de Arduino

Una estación de bucle, o un bucle, es esencialmente una herramienta para reproducir en tiempo real sus riffs instrumentales (bucles). No está pensado como un medio de grabación, sino como un instrumento para dar forma a la inspiración sin distracciones (y eventualmente actuar en vivo…).

Hay muchas estaciones de bucle de grabación de audio, tanto en forma de hardware dedicado (casi todos los fabricantes de pedales de guitarra tienen su propio producto) o software de computadora (el excelente Linux Sooper Looper o Windows Mobius, por citar el más conocido). Solo pude encontrar algunos proyectos sobre bucles de bucle MIDI que no son de audio, es decir, una herramienta para grabar eventos MIDI y reproducirlos inmediatamente en un bucle; la mayoría de estos proyectos (todos, debería decir) están abandonados o perdidos… bueno, ¡aquí estamos con un proyecto completo para todos!

Esta estación de bucle MIDI Arduino simplemente realiza un seguimiento de los eventos MIDI entrantes y los reproduce. Solo tienes que presionar el pedal de grabación, crear tu mejor riff y detener la grabación presionando el pedal nuevamente. Muy facil:)

Este proyecto se basa en hardware abierto fácil de encontrar (Arduino DUE), software (mi propio firmware y Arduino IDE) y se puede personalizar para reflejar sus preferencias.

¡Vamos a hacerlo!

PD: sí, ¡es súper barato!

Paso 1: límites

Antes de que comiences a adquirir partes de hardware para el proyecto, déjame decirte cuáles son sus límites para que puedas decidir seguir adelante o detenerte aquí.

- debido a los límites del hardware (esencialmente la memoria Aduino DUE), la duración máxima predeterminada de la frase que puede grabar está limitada a 46 segundos.

- los bucles no se pueden almacenar ni reproducir después del apagado. Sin embargo, puede enviarlos a una PC y guardarlos.

- no hay cuantificación de notas.

- Se admite reloj MIDI, pero en una etapa preliminar en este momento.

- Los mensajes MIDI grabados son nota activada, nota desactivada, cambios de control y pitch bend; otros mensajes MIDI como after touch, cambio de programa, SysEx, etc. no se tienen en cuenta.

- La polifonía máxima está configurada en 10 por defecto (nuevamente, límites de memoria Aduino DUE).

En el lado positivo, se admiten transmisiones MIDI de varios instrumentos diferentes, cada uno de los cuales transmite en su propio canal; esto significa que puede grabar varios instrumentos MIDI a la vez, en capas o con su propia pista (más profesionales en el siguiente paso;)).

Si vivir con estas limitaciones parece razonable (y lo es para mí), lo pasarás muy bien con esto;)

Paso 2: cómo funciona

La estación de bucle MIDI aquí es muy simple de operar. Funciona de manera similar a las estaciones de bucle de audio de hardware que cada fabricante de pedales de guitarra tiene en su propio catálogo.

1) Seleccione la pista en la que desea grabar su secuencia MIDI. Por defecto, se elige la pista "una", pero puede cambiarla pulsando uno de los botones de pista (uno para cada pista).

2) Cuando presiona el interruptor / pedal "REC" por primera vez, el bucleador se activa. El LED verde se enciende. Esperará hasta que se reciba su primera nota antes de comenzar a grabar la secuencia / riff real.

3) Cuando haya terminado su secuencia, presione de nuevo el interruptor / pedal "REC" para definir la longitud real del riff. El LED verde se apaga. El looper comenzará a reproducir su secuencia MIDI inmediatamente. Si alcanza el tiempo máximo, la grabación se detendrá automáticamente y la secuencia comenzará a reproducirse en un bucle.

4) Ahora, puede decidir sobregrabar su secuencia en la pista actual o seleccionar una nueva pista y grabar en ella, presionando el interruptor / pedal "REC". En ambos casos, el LED amarillo se iluminará, incluso si la nueva pista está vacía, porque es una pista "esclava" (esclava de la primera pista grabada). Presione nuevamente para detener la sobregrabación (el LED amarillo se apaga).

Para aquellos de ustedes que se sientan cómodos con las estaciones de bucle de audio, esta progresión MIDI se llama "REC / PLAY / OVERDUB" y es la única compatible.

Si en algún momento siente que su última sobregrabación no está bien, puede eliminarla presionando el interruptor / pedal de "deshacer". Puede borrar toda la pista actual manteniendo presionado el pedal "REC" durante más de 3 segundos; puede restablecer el looper (restablecimiento del software) presionando los primeros tres botones de pista al mismo tiempo o borrando todas las pistas utilizadas.

Puede silenciar / activar el sonido de una pista presionando el botón de pista de la pista actual.

¡Puedes enviar un PÁNICO! mensaje presionando el botón de pánico. ¡Incluso puedes enviar un PÁNICO! mensaje presionando los dos primeros botones de pistas al mismo tiempo.

El looper tiene un metrónomo simple incorporado: una nota en el mensaje MIDI para la nota número "64" se envía a 100 BPM en el canal 10 (el canal que presumiblemente tiene su caja de ritmos escuchando). Puede aumentar o disminuir el tempo activando el codificador óptico; Al presionar el interruptor del codificador óptico, puede habilitar / deshabilitar el metrónomo. Tenga en cuenta que su caja de ritmos debe estar configurada para reproducir un sonido (caja, bajo o cualquier sonido que prefiera) cuando reciba la nota MIDI "64" o el metrónomo se silenciará.

Se podría crear una versión básica de esta estación de bucle MIDI con un único interruptor de pie para iniciar y detener la grabación. Si mantiene presionado el interruptor durante más de 3 segundos, se reinicializará la estación de bucle.

Si desea invertir algo de tiempo adicional en el desarrollo del hardware, agregar interruptores y botones hará que la estación de bucle sea más flexible. En la imagen se muestra cómo he configurado mis cuatro pistas (se admiten hasta cinco) estación de bucle con todas las funciones.

NOTA IMPORTANTE: el hardware de mis imágenes es un prototipo. Usé más tomas de jack de las necesarias, pero solo cuatro botones para las pistas. Esto se debe a que cuando comencé el proyecto no estaba completamente seguro de cuáles serían los requisitos finales.

Los botones y los interruptores de pie son equivalentes electrónicamente y puede utilizar uno en lugar del otro; Para mis necesidades, dado que siempre hay muy poco espacio en el piso (malditos pedales de efectos encantadores;)), he restringido los pedales a la función REC única.

Paso 3: hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Lista de materiales:

Estación de bucle MIDI de 5 pistas con todas las funciones

1x Arduino DUE

7x pulsadores momentáneos

1x caja de plástico (usé una caja de 150 x 110 x 70 mm)

2 conectores hembra DIN de 5 pines para montaje en panel MIDI

1 conector jack de 6,3 mm para montaje en panel

1x tablero perfilado de 50x70 mm de doble cara

LED de 5 x 3 mm (verde)

1x LED de 3 mm (amarillo)

1x codificador óptico

1x optoacoplador H11L1

1x diodo 1N4148

3 resistencias de 1000 ohmios

3 resistencias de 220 ohmios

10 resistencias de 470 ohmios

Algo de alambre de soldadura, algunos cables, estación de soldadura … y tiempo libre:)

Tiempo requerido para completar el proyecto: 6-9 horas

¿Por qué no un UNO?

Las primeras pruebas (y un código de trabajo inicial) se escribieron en una placa arduino UNO "normal". Esta placa tiene límites de RAM que me obligaron a reducir la polifonía a "4", la duración máxima a menos de 4 segundos y una resolución de 40 ms como máximo. Esto sin manejo multicanal. Al eliminar también el seguimiento de velocidad, pude aumentar el tiempo de grabación hasta 7 segundos.

Con UNO puede realizar una estación de bucle MIDI "en funcionamiento", pero muy limitada.

Paso 4: software

El software depende en gran medida de la biblioteca MIDI FortySevenEffects. Esta biblioteca es excelente y hace que este tipo de proyectos sean factibles incluso para los fanáticos de los codificadores como yo.

Arduino IDE y su comunidad es otra parte importante de este "éxito".

No entraré en detalles sobre cómo cargar el boceto en su arduino DUE. Si esta es su primera experiencia con arduino IDE, lea esto primero.

Escribí dos versiones diferentes del código, basadas en dos enfoques completamente diferentes.

El principio de funcionamiento de la versión 1 es que durante la grabación o la sobregrabación, Arduino DUE comprueba y almacena en su memoria (volátil) los eventos MIDI admitidos (nota activada, nota desactivada, cambio de control y pitch bend); El eje de tiempo se cuantifica en pasos de 20 ms y los mensajes recibidos se almacenan en esas ranuras en consecuencia. Durante la reproducción, los mensajes MIDI almacenados se envían al sintetizador respetando la cuantificación del tiempo.

El principio de funcionamiento de la versión 2, en cambio, es registrar "simplemente" el evento midi y la hora en la que debe activarse el evento. La versión 2 tiene límites diferentes a la versión 1 (enumerados en un paso anterior). Pruébelos ambos y utilice el que mejor se adapte a sus necesidades.

También hay un manejo preliminar del reloj, pero necesitará algunos ajustes para funcionar como debería. El código asume que graba un bucle de 4/4 - 4 compases (16 tiempos).

Puede desactivar el reloj externo manteniendo presionado el botón "pánico" al encender el bucleador.

Los códigos se cargan AQUÍ. Los comentarios se colocan sobre ellos, para que pueda doblar ese firmware a su voluntad;)

Paso 5: cableado

Cableado
Cableado
Cableado
Cableado
Cableado
Cableado

Los circuitos MIDI IN y MIDI OUT se informan en las imágenes adjuntas. Tenga en cuenta que se utilizan TX1 y RX1, no TX0 y RX0.

Los pines de entrada Arduino DUE no pueden manejar 5V, pero 3.3V; esta es la razón por la que se utiliza un optoacoplador H11L1 en lugar de un 6N138 más común. Tengo evidencias de que usar un 6N138 junto con un divisor de voltaje para reducir el voltaje de la señal que va a TX1, como en mi primer prototipo, podría funcionar de manera errática en algunas configuraciones.

Los LED están conectados a los pines de salida Arduino DUE a través de resistencias de 470 Ohm. Puede usar resistencias de hasta 1K ohmios para reducir la corriente que va a los LED y reducir su luminosidad.

Los botones / interruptores / jacks están conectados directamente a los pines de entrada de Arduino gracias a las resistencias pullup de entrada, activadas en el boceto. No hay necesidad de resistencias externas (desplegables).

El codificador óptico está conectado a GND y + 5V. Va a los pines de entrada de Arduino que pasan a través de 2 resistencias de 480 ohmios, una para cada salida de datos ópticos.

Arduino DUE se alimenta directamente desde un pin de 5 V y tierra a través de un concentrador de + 5 V CC.

Todos los motivos están unidos.

Se adjunta una tabla con conexiones desde los pines arduino al periférico IN / OUT. Los números de pin de Arduino reflejan los de mi hardware proptotype y podrían verse (de alguna manera son …) aleatorios. Puede modificar fácilmente la ubicación del pin en el boceto a su voluntad;)

Paso 6: ¿Qué sucede si tengo más de una fuente MIDI?

¿Qué sucede si tengo más de una fuente MIDI?
¿Qué sucede si tengo más de una fuente MIDI?

Después de una breve búsqueda de una fusión MIDI, descubrí que la solución más práctica (y barata) era un conmutador MIDI.

Un conmutador MIDI es un dispositivo pasivo que habilita una fuente MIDI y deshabilita todas las demás fuentes. Simple como eso.

El corazón de un conmutador MIDI es un conmutador multiposicional (el mío es de 6 posiciones) y 2 polos. Es muy importante que el número de polos sea "2" porque cada conector MIDI debe cortarse completamente si no está seleccionado y no en comunicación con los demás. Se adjunta una foto de la que realicé para mi propio uso.

En ESTE ENLACE un esquema.

Recomendado: