Taula de continguts:

Arduino Multi-track MIDI Loop Station: 6 passos
Arduino Multi-track MIDI Loop Station: 6 passos

Vídeo: Arduino Multi-track MIDI Loop Station: 6 passos

Vídeo: Arduino Multi-track MIDI Loop Station: 6 passos
Vídeo: How to Make an Arduino MIDI Footswitch 2024, Desembre
Anonim
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station

Una estació de bucle, o un bucle, és essencialment una eina per reproduir en temps real els vostres riffs instrumentals (bucles). No pretén ser un mitjà de gravació, sinó un instrument per modelar la inspiració sense distracció (i, finalment, actuar en directe …).

Hi ha un munt d’estacions de bucle de gravació d’àudio, tant en forma de maquinari dedicat (gairebé tots els fabricants de pedals de guitarra tenen el seu propi producte) com de programari informàtic (l’excel·lent Linux Sooper Looper o Windows Mobius, per citar els més coneguts). Només he pogut trobar pocs projectes sobre loopers MIDI que no són d'àudio, sinó MIDI, és a dir, una eina per gravar esdeveniments MIDI i reproduir-los immediatament en un bucle; la majoria d'aquests projectes (tots, hauria de dir) estan abandonats o perduts … bé, aquí estem amb un projecte complet per a tothom!

Aquesta estació de bucle MIDI Arduino simplement fa un seguiment dels esdeveniments MIDI entrants i els reprodueix. Només cal prémer el pedal de gravació, crear el millor riff de la història i deixar de gravar prement el pedal de nou. Super fàcil:)

Aquest projecte es basa en maquinari obert fàcil de trobar (Arduino DUE), programari (firmware propi i IDE Arduino) i es pot personalitzar per reflectir les vostres preferències.

Fem-ho!

PD: sí, és súper barat!

Pas 1: límits

Abans de començar a adquirir peces de maquinari per al projecte, permeteu-me dir-vos quins són els seus límits perquè pugueu decidir avançar o aturar-vos aquí.

- A causa dels límits de maquinari (la memòria Aduino DUE és essencialment), la durada màxima per defecte de la frase que podeu gravar està limitada a 46 segons.

- Els bucles no es poden emmagatzemar i reproduir després de tancar-los. Podeu enviar-los a un PC i desar-los.

- no hi ha quantització de notes.

- El rellotge MIDI és compatible, però en un moment preliminar en aquest moment.

- Els missatges MIDI enregistrats són nota d’activació, apagada, canvis de control i pitch bend; no es tenen en compte altres missatges MIDI com després del tacte, canvi de programa, SysEx, etc.

- La polifonia màxima s'estableix a 10 per defecte (de nou, límits de memòria Aduino DUE).

Al costat positiu, s’admeten els fluxos MIDI de diversos instruments diferents, que transmeten cadascun pel seu propi canal; això significa que podeu gravar diversos instruments MIDI alhora, en capes o amb la seva pròpia pista (més avantatges al següent pas;)).

Si viure amb aquestes limitacions em sembla raonable (i és per a mi), ho passaràs molt bé amb aquesta cosa;)

Pas 2: Com funciona

L'estació de bucle MIDI aquí és molt senzilla d'operar. Funciona d'una manera similar a les estacions de bucle d'àudio de maquinari que tots els fabricants de pedals de guitarra tenen al seu propi catàleg.

1) Seleccioneu la pista a la qual voleu gravar la seqüència MIDI. Per defecte, es tria una "pista", però podeu canviar-la prement un dels botons de les pistes (un per a cada pista).

2) Quan premeu el pedal de commutació / peu "REC" la primera vegada, el llaçador està engegat. El LED verd s’encén. S'esperarà fins que es rebi la primera nota abans de començar a gravar la seqüència / riff real.

3) Quan hàgiu acabat la seqüència, torneu a prémer l'interruptor / pedal "REC" per definir la longitud real del riff. El LED verd s’apaga. El looper començarà a reproduir la seqüència MIDI immediatament. Si arribeu al temps màxim, l’enregistrament s’aturarà automàticament i la seqüència començarà a reproduir-se en bucle.

4) Ara, podeu decidir sobreposar la vostra seqüència a la pista actual o seleccionar una nova pista i enregistrar-la, prement el commutador / pedal "REC". En ambdós casos, el LED groc s’encendrà, fins i tot si la nova pista està buida, perquè es tracta d’una pista “esclava” (esclavitzada a la primera pista enregistrada). Torneu a prémer per deixar de sobredoblar (el LED groc s'apaga).

Per a aquells que us sentiu còmodes amb estacions de bucle d'àudio, aquesta progressió MIDI s'anomena "REC / PLAY / OVERDUB" i és l'única compatible.

Si en algun moment creieu que el vostre darrer overdub no està bé, podeu suprimir-lo prement el pedal de commutació / peu "Desfés". Podeu esborrar tota la pista actual mantenint premut el pedal "REC" durant més de 3 segons; podeu restablir el looper (restabliment de programari) prement els tres primers botons de pista al mateix temps o esborrant totes les pistes utilitzades.

Podeu silenciar / silenciar una pista prement el botó de pista de la pista actual.

Podeu enviar un PANIC! prement el botó de pànic. Fins i tot podeu enviar un PANIC! prement els dos primers botons de pistes alhora.

El looper té un metrònom senzill: una nota al missatge MIDI del número "64" s'envia a 100 BPM al canal 10 (el canal que presumiblement escolteu la vostra bateria). Podeu augmentar o disminuir el tempo mitjançant el codificador òptic; prement l'interruptor del codificador òptic, podeu activar / desactivar el metrònom. Tingueu en compte que la vostra bateria ha d’estar configurada per reproduir un so (trampes, baixos o el que preferiu) quan rebi la nota MIDI "64" o el metrònom quedarà silenciós.

Una versió barebone d’aquesta estació de bucle MIDI es podria configurar amb un interruptor de peu únic per iniciar i aturar la gravació. Si manteniu premut l'interruptor durant més de 3 segons, es reinicialitzarà l'estació de bucle.

Si voleu invertir una mica més de temps a desenvolupar el maquinari, afegir commutadors i botons farà que l'estació de bucle sigui més flexible. A la imatge es mostra com he configurat les meves quatre pistes (s'admeten fins a cinc) estació de bucle amb funcions completes.

NOTA IMPORTANT: el maquinari de les meves imatges és un prototip. Vaig utilitzar més preses de corrent de les necessàries, però només quatre botons per a les pistes. Això es deu al fet que quan vaig començar el projecte no estava completament segur de quins serien els requisits finals.

Els botons i els interruptors de peu són electrònicament equivalents i podeu utilitzar-ne un en lloc de l’altre; per a les meves necessitats, ja que sempre hi ha massa poc espai al sòl (maleïts pedals d'efecte encantador;)), he restringit els pedals a la funció REC única.

Pas 3: maquinari

Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari

Factura de materials:

Estació de bucle MIDI de 5 pistes amb funcions completes

1x Arduino DUE

7x botons instantanis

1x estoig de plàstic (he utilitzat un estoig de 150 x 110 x 70 mm)

Connector de presa MIDI de 2x 5 pines DIN muntat en panell femella

1 endoll de presa de muntatge a panell de 6,3 mm

1x tauler de perfils de doble cara de 50x70 mm

LED de 5x 3 mm (verd)

1x 3 mm LED (groc)

1x codificador òptic

1 optoacoblador H11L1

1x díode 1N4148

Resistències de 3x 1000 ohm

Resistències de 3x 220 ohms

Resistències de 10x 470 ohm

Alguns cables de soldadura, alguns cables, estació de soldadura … i temps lliure:)

Temps necessari per completar el projecte: 6-9 hores

Per què no una ONU?

Les primeres proves (i un codi de treball inicial) es van escriure en una placa arduino UNO "normal". Aquest tauler té límits de memòria RAM que em van obligar a reduir la polifonia a "4", la durada màxima a menys de 4 segons i la resolució màxima de 40 ms. Això sense cap maneig multicanal. En eliminar també el seguiment de la velocitat, vaig poder augmentar el temps de gravació fins a 7 segons.

Amb una UNO podeu realitzar una estació de bucle MIDI "funcionant", però molt limitada.

Pas 4: programari

El programari depèn en gran mesura de la biblioteca MIDI de FortySevenEffects. Aquesta biblioteca és fantàstica i fa possible aquest tipus de projectes fins i tot per a frikis que no codifiquen com jo.

Arduino IDE i la seva comunitat són una altra part important d’aquest “èxit”.

No entraré en detalls sobre com penjar l'esbós al vostre arduino DUE. Si aquesta és la vostra primera experiència amb arduino IDE, llegiu-ho primer.

Vaig escriure dues versions diferents del codi, basades en dos enfocaments completament diferents.

El principi de funcionament de la versió 1 és que durant la gravació o sobredubatge d'Arduino DUE comprova i emmagatzema en la seva memòria (volàtil) els esdeveniments MIDI admesos (nota activada, desactivada, canvi de control i pitch bend); l'eix de temps es quantifica en passos de 20 ms i els missatges rebuts s'emmagatzemen en aquestes ranures en conseqüència. Durant la reproducció, els missatges MIDI emmagatzemats s’envien al sintetitzador respectant la quantificació del temps.

El principi de funcionament de la versió 2, en canvi, és enregistrar "simplement" l'esdeveniment midi i l'hora en què s'ha d'activar l'esdeveniment. La versió 2 té límits diferents de la versió 1 (es mostra a un pas anterior). proveu-los tots dos i utilitzeu el que us funcioni millor.

També hi ha un tractament preliminar del rellotge, però necessitarà alguns ajustaments per funcionar com hauria de fer-ho. El codi suposa que enregistreu un bucle de 4/4 - 4 barres (16 pulsacions).

Podeu desactivar el rellotge extern mantenint premut el botó "pànic" quan activeu el llaçador.

Els codis es pengen AQUÍ. Els comentaris es col·loquen a tot arreu, de manera que pugueu doblegar el firmware a la vostra voluntat;)

Pas 5: cablejats

Cablatges
Cablatges
Cablatges
Cablatges
Cablatges
Cablatges

Els circuits MIDI IN i MIDI OUT s’informen a les imatges adjuntes. Fixeu-vos que s’utilitzen TX1 i RX1, no TX0 i RX0.

Els pins d'entrada Arduino DUE no poden suportar 5V, sinó 3,3V; per això s’utilitza un optoacoblador H11L1 en lloc d’un 6N138 més comú. Tinc evidències que utilitzar un 6N138 juntament amb un divisor de tensió per reduir la tensió del senyal que va a TX1, com en el meu primer prototipe, podria funcionar de manera erràtica en algunes configuracions.

Els LED es connecten als pins de sortida Arduino DUE mitjançant resistències de 470 Ohm. Podeu utilitzar resistències de fins a 1 K ohm per reduir el corrent que passa als LED i reduir la seva lluminositat.

Els botons / commutadors / preses estan connectats directament als pins d’entrada Arduino gràcies a les resistències de pujada d’entrada, activades a l’esbós. No calen resistències externes (desplegables).

El codificador òptic està connectat a GND i + 5V. Va als pins d'entrada Arduino que passen per 2 resistències de 480 ohms, un per cada sortida de dades òptiques.

Arduino DUE s’alimenta directament des de pin de 5 V i es connecta a terra mitjançant un concentrador de + 5 V CC.

Tots els terrenys estan units.

S'adjunta una taula amb connexions des de pins arduino al perifèric IN / OUT. Els números de pin Arduino reflecteixen els del maquinari del meu proptotip i poden semblar (d’alguna manera són …) aleatoris. Podeu modificar fàcilment la ubicació del marcador a l'esbós a la vostra voluntat;)

Pas 6: Què passa si tinc més d'una font MIDI?

Què passa si tinc més d’una font MIDI?
Què passa si tinc més d’una font MIDI?

Després d’una breu cerca d’una fusió MIDI, vaig trobar que la solució més pràctica (i barata) era un commutador MIDI.

Un commutador MIDI és un dispositiu passiu que habilita una font MIDI i desactiva totes les altres fonts. Simple com això.

El cor d’un commutador MIDI és un commutador de 2 pols amb múltiples posicions (el meu té 6 posicions). És molt important que el nombre de pols sigui "2" perquè cada sòcol MIDI s'ha de tallar completament si no està seleccionat i no en comunicació amb els altres. Adjunta una foto de la que vaig realitzar per al meu propi ús.

En AQUEST ENLLAÇ un esquema.

Recomanat: