Taula de continguts:
- Pas 1: el pedal
- Pas 2: Arduino
- Pas 3: la interfície MIDI
- Pas 4: la interfície d'àudio
- Pas 5: Mobius
- Pas 6: Mobius Scripts i enllaços MIDI
- Pas 7: versió 1.5
Vídeo: DIY Chewie Monsta Looper (basat en Ed Sheeran): 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Així que feia uns quants anys que havia sentit parlar d’Ed Sheeran i mai no li vaig prestar molta atenció. Algunes d’aquestes cançons em van agradar a la ràdio, però vaig pensar que era un artista pop més fins que li vaig dir que interpretaria "Shape of You" als Grammy del 2017. Vaig quedar impressionat! No em va agradar ni tan sols la cançó, però veure’l interpretar-la en directe amb el seu pedal de bucle era fascinant. Vaig recórrer Internet buscant informació sobre aquest pedal i vaig trobar que no hi havia gaire. Finalment vaig trobar un article que deia que Ed i la seva tecnologia de guitarra van ser fabricats a mida, cosa que em va decebre fins que finalment em vaig trobar amb "edsutcliffe" (https://www.instructables.com/id/DIY-Chewie-Monst…) que tenia la "salsa secreta" sobre com funcionava exactament. Em feia il·lusió i tenia dret a treballar. No obstant això, mentre treballava per allò instructable, em vaig trobar amb diversos "gotchas" al llarg del camí, motiu pel qual vaig escriure aquest instructable. La pàgina d’edsutcliffe descriu les peces i com van juntes. La meva intenció aquí és omplir alguns buits que em tornaven boig i em costaven hores, si no dies, intentant resoldre problemes. Per tant, tot i que no us guiaré pas a pas per construir el pedal de bucle (la majoria dels quals podeu trobar a la pàgina d’edsutcliffe), us explicaré els problemes clau d’integració que em van afectar.
Pas 1: el pedal
Tot i que sembla la peça més crítica, el propi pedal és la part més senzilla i directa del projecte. El meu consell aquí és començar lentament i construir una maqueta dura i experimentar-hi. Vaig trobar que fins que no comenceu a utilitzar-lo és difícil saber què voleu. Podeu pensar que n’hi ha prou amb tres pistes, però després de tocar una mica podreu trobar que realment us agradaria una quarta pista. Canviar-lo més tard no és el més fàcil de fer. Fins i tot mentre construïa la meva segona versió del pedal, vaig anar endavant i enrere per afegir un botó per a "DESFER", però vaig decidir-me en contra. Més tard vaig trobar que seria realment útil, però no vaig deixar prou espai per a això. Vaig acabar tenint que agafar la sortida dels "programadors" i fer diverses tasques amb el botó ESBORRAR. Ara el tinc perquè una premsa curta desencadeni UNDO i una pulsació llarga activi CLEAR.
Més enllà d’això, l’única altra consideració aquí és si voleu utilitzar pedals o interruptors de peu. Vaig anar amb interruptors de peu inicialment només pel cost, però recentment vaig construir una segona placa amb pedals i els vaig trobar molt més fàcils d’utilitzar.
Hi ha moltes opcions a Amazon, però les que he fet servir són a continuació.
- Interruptor de peu
- Cobertes d'ungles
Pedal
Pas 2: Arduino
A la instrucció, en lloc de dir-vos-ho només amb una placa Arduino fabricada, enumereu cada component i us farà construir el vostre. Al meu entendre, això és ridícul tenint en compte que un tauler mfg costa uns $ 10 a Internet, així que feu-vos un favor i aneu-hi.
www.amazon.com/Elegoo-EL-CB-001-ATmega328P…
Ara arribo al meu primer "gotcha". Un element important que no es discuteix enlloc és com crear l'esbós (codi) per a l'Arduino, que és bastant crític, ja que els botons no faran res sense això. Per tant, estic proporcionant el meu codi perquè el pugueu utilitzar. Una vegada més, no us guiaré pas a pas per programar l'Arduino. Si aneu a la seva pàgina d'inici, tenen molts tutorials sobre com fer-ho. Si sou prou expert, no dubteu a editar-lo, però us funciona millor.
Els bàsics
- El pedal té 8 botons i 2 LED
- En prémer un botó s’envia un missatge d’ordre MIDI des de l’Arduino
- Botons (mentre descric la funció de cada botó, el codi Arduino no fa res més que enviar una ordre MIDI. La comanda MIDI ha d'estar lligada a un script de Mobius que es tractarà més endavant)
-
Els botons consten de dos grups
- Global = Envia la mateixa ordre MIDI independentment del mode
- Basat en mode = Envia diferents ordres MIDI basades en el mode
-
Basat en el mode:
-
MODE = aquest botó canvia el "mode" del pedal (gravació / reproducció / control de volum)
- Si premeu breument, canvieu entre el mode de gravació i el de reproducció
- Si premeu de manera prolongada (més d'1 segon) es passa al mode de control de volum.
-
REC / PLAY
- En mode REC = En mode RESET, s'iniciarà el bucle i es tancarà el bucle en prémer el següent i es passarà al mode Overdub. Després, canvia entre Play i Overdub de la pista actual.
- En mode PLAY = activa i reinicia totes les pistes
-
X / STOP
- En mode REC = Aplica la funció "multiplicació instantània" a la pista actual.
- En mode PLAY = Silencia i posa en pausa totes les pistes
-
PISTA 1/2/3
- En mode REC = En mode RESET, s'iniciarà el bucle i es tancarà el bucle en prémer el següent i es passarà al mode de reproducció. Després, canvia entre Reprodueix i Overdub de la pista seleccionada.
- En mode PLAY = Canvia entre Silencia i Reprodueix
- En el mode de control de volum = la pista 2 fa un cicle a través de les pistes, la pista 1 redueix el nivell de sortida (volum) de la pista actual en 5, la pista 3 augmenta el nivell de sortida de la pista actual en 5.
-
-
Global
- RESET = aplica la funció "Restabliment global"
-
CLAR
- Si premeu breument (<1000 ms) s'aplica la funció "DESFER" a la pista actual
- Si premeu de llarg (> = 1000 ms) s'aplica la funció "CLEAR" a la pista actual
-
LEDs
- LED REC = vermell, encès quan es troba en mode de gravació.
- LED VOL = Blau, encès quan es troba en mode de control de volum.
-
Pins
- REC / PLAY = pin 3
- RESET = pin 4
- X / STOP = pin 5
- CLEAR = pin 6
- PISTA 1 = pin 7
- PISTA 2 = pin 8
- PISTA 3 = pin 9
- MODE = pin 10
- LED REC = pin 11
- LED VOL = pin 12
Nota: un amic de la comunitat, Claudio, ha millorat l'esbós i l'ha compartit amb nosaltres. Gràcies, Claudio!
Pas 3: la interfície MIDI
Aquesta és una àrea que em sembla que no estava coberta amb molta claredat en l’altre instructiu. Bàsicament, tal com es discuteix a la secció Arduino, el pedal i Arduino només emeten una ordre MIDI basada en el botó premut. Per poder fer-lo servir, heu d’enviar el MIDI al PC amb Mobius. He trobat 3 maneres de fer-ho i depèn del tipus d'interfície d'àudio que compreu (més per venir).
- Opció 1: depenent de la interfície d'àudio que compreu, hi ha alguns que incorporen ports d'entrada / sortida MIDI. Si aquest és el cas, només cal seguir el que es pot instruir i treure el canal sèrie de l'Arduino i connectar-lo al port MIDI In. Aleshores podreu seleccionar-lo com a font de controlador MIDI més endavant quan configureu Mobius
- Opció 2: la meva interfície d'àudio no tenia cap port MIDI integrat, de manera que això suposava un repte. Així doncs, inicialment vaig treure el canal sèrie com a l’opció 1 i vaig comprar un adaptador MIDI-a-USB separat. Tot i que això va funcionar, em va semblar que era insensat i poc fiable. A més, em vaig sentir frustrat perquè seria una tercera connexió USB i el meu PC només en tenia dos. Podria desconnectar el cable de l'Arduino que feia servir per a l'alimentació i la depuració, però això significava que necessitaria una font d'alimentació externa.
-
Opció 3: no entenia per què no podia obtenir les ordres MIDI a través de la connexió USB i tenir la mateixa potència de connexió que l'Arduino. Sabia que hi havia d’haver una manera. Després de moltes cerques a Internet, finalment vaig trobar la manera d’utilitzar dues aplicacions gratuïtes.
- loopMIDI: aquesta aplicació gratuïta de nom irònic us permet crear un port MIDI "virtual" al vostre PC. Tot el que heu de fer és instal·lar-lo i definir un port de sortida MIDI virtual i ja està. S’executarà automàticament a l’arrencada.
- MIDI sense pèl: aquest programa us permet crear un "pont en sèrie" de manera que pugueu mapar el port COM serial utilitzat per programar el vostre Arduino al port MIDI virtual que acabeu de crear amb loopMIDI. I Whalla! Ara només necessiteu una única connexió USB des del PC a l'Arduino.
- NOTA: Si decidiu utilitzar l'opció 3, heu d'assegurar-vos que el codi Arduino tingui la velocitat de transmissió del canal sèrie establerta a 38400 en lloc de l'estàndard 31250 que utilitza el MIDI.
- // Estableix la velocitat de transmissió MIDI:
- //Serial.begin(31250);
- // Estableix la velocitat de transmissió en 38400 per al MIDI sense pèl
- Serial.begin (38400)
Pas 4: la interfície d'àudio
Per tant, aquest és probablement el component més important que haureu de seleccionar. Com que el baix cost va ser un factor clau per a mi, vaig buscar una interfície d'àudio econòmica. Vaig acabar establint-me al BEHRINGER U-PHORIA UM2 (https://www.amazon.com/Behringer-UM2-BEHRINGER-UP…) perquè era de baix cost i tenia 2 canals d’entrada i 2 canals de sortida, que és tot el que necessitava. Hi ha moltes opcions, però més endavant podria canviar lleugerament la configuració de Mobius.
Tingueu en compte que obteniu el que pagueu. Tot i que la UM2 fa un gran treball pel seu preu, de tant en tant em trobo amb problemes com ara un so "pop" aleatori si sobreduboco massa capes o alguna vegada em queda estàtic i he de reiniciar la interfície. Per tant, si us interessa seriosament amb aquest pedal, obteniu una interfície d’àudio de més qualitat.
Realment vaig pensar que això seria directe, però això va acabar sent el problema més difícil de resoldre per a mi i gairebé va provocar que abandonés el projecte. Quan el connecteu per primera vegada al vostre PC, Windows instal·larà automàticament un controlador i creieu que esteu configurat, oi? Mal. Després de configurar-lo i començar a gravar pistes, vaig trobar que la latència era tan dolenta (més d’un segon) que el pedal era bàsicament inutilitzable. Havia d’estar fent alguna cosa malament. Una vegada més, després d'un munt de cerques a Internet, vaig trobar el problema. Windows instal·larà un controlador MME per defecte per a la interfície d'àudio. Els controladors MME tenen una latència molt alta i no són adequats per a gravacions en temps real. Vaig haver d’anar al lloc web de Behringer i trobar el controlador ASIO per a la meva interfície específica. Els controladors ASIO estan dissenyats específicament per minimitzar la latència, que és el que necessiteu aquí. Després d’instal·lar aquest controlador, la latència de la gravació ni tan sols va ser detectable per l’oïda humana. Per tant, aquí cal emportar-vos que qualsevol interfície d’àudio que utilitzeu, assegureu-vos que obteniu el controlador ASIO del fabricant i estalvieu-vos el mal de cap que he experimentat.
Pas 5: Mobius
Siguem realistes, sense Mobius tot el que tenim fins ara és una placa de pedals de controlador MIDI. Mobius és un programa de programari lliure creat per Circular Labs (https://www.circularlabs.com/) que realitza tota la gravació i el bucle. És realment un programa increïble. Dit això, la documentació de Circular Lab em va semblar molt deficient. Després de la instal·lació, obtindreu una finestra amb 8 pistes i tones de botons, comptadors i comptador. Vaig trigar una estona a esbrinar com navegar per la interfície gràfica d’usuari i configurar-lo per a les meves necessitats. Afortunadament he trobat un vídeo de youtube publicat per edsutcliffe que us guia a través de la configuració pas a pas.
Després d’això, l’única part de la configuració amb la qual vaig tenir problemes va ser mapear un determinat canal d’entrada a una pista determinada. Al vídeo, utilitzen una interfície de 4 canals i cada canal es mostra independentment a Mobius. La interfície UM2 que he utilitzat fa servir un canal estèreo únic i utilitza els canals dret i esquerre independentment. Per tant, només veig 1 "canal" a mobius, però puc mapar un sol canal movent la configuració "Pan" fins a l'esquerra o la dreta. Així, doncs, tinc les pistes 1 i 2 amb panoràmiques completes cap a la dreta de manera que només es gravi el canal 2 (instrument). Després, per a la pista 3, vaig deixar el pan al mig per poder gravar-hi el micròfon o la guitarra. Si només vull gravar el micròfon, em desplaçaria fins al canal esquerre.
Pas 6: Mobius Scripts i enllaços MIDI
L’última peça del trencaclosques són els scripts Mobius i les connexions MIDI. Tot i que sóc molt familiar per a la programació d’ordinadors, em va semblar que el llenguatge de script Mobius era una mica confús i poc documentat. Em va costar molt de temps i molt d’ajustar-los com volien, però al final treballen per al que necessito. Els passos per enllaçar els scripts a les ordres MIDI de Mobius es descriuen detalladament al vídeo de youtube al pas 5.
Doncs això és tot. Tant de bo que aquests consells us ajudin amb la vostra compilació i podreu evitar les frustracions que em vaig trobar.
Pas 7: versió 1.5
Per tant, després d’utilitzar el pedal durant gairebé dos anys, vaig decidir que volia fer un lleuger canvi en el seu funcionament. Em vaig trobar amb alguns casos en què la funció "JUGAR TOT" feia les coses feixugues. Sovint tindria una pista apagada i vull aturar-la i reiniciar les dues pistes que estaven reproduint. Amb l'operació actual, les tres pistes es reiniciarien i hauria de silenciar ràpidament la pista no desitjada. Malauradament, no he pogut trobar una bona manera de fer-ho a Mobius. Per aconseguir-ho, ho vaig haver de fer dins del codi Arduino. Recordeu que el pedal i el codi Arduino eren pràcticament "ximples". Només enviava una ordre MIDI quan es premia un pedal i els scripts Mobius feien la resta. Amb aquest canvi, bàsicament vaig moure tota la intel·ligència de reproducció al codi Arduino i vaig fer un seguiment dels estats de cada pista individual. Per tant, això va acabar sent una reescriptura gairebé completa del codi Arduino. Fins i tot vaig acabar construint un petit tauler de pedals de depuració per desenvolupar i provar el nou codi. Si esteu interessat en el meu nou mètode, seguiu llegint, en cas contrari, les funcions descrites anteriorment funcionaran bé.
Per tal que el "PLAY ALL" funcionés com volia, vaig haver d'afegir un estat nou a cada pista amb el que anomeno "ARM". Abans, en mode PLAY, si premeu el pedal de la pista es canviava entre MUTE i PLAY. Ara, una premsa de pedal passarà de PLAY a MUTE, però després canviarà entre ARM i MUTE. Una pista no es desactivarà fins que estigui en estat ARM i després es prem el pedal PLAY. Quan es prem el pedal STOP, totes les pistes de PLAY es posen a ARM i només es reiniciaran quan es prem PLAY. El problema és que a Mobius no hi ha cap indicació relativa a l’estat ARM. Per solucionar-ho, he afegit un LED tricolor a cada pista on MUTE està desactivat, PLAY és verd, REC / OVERDUB és vermell i ARM és ambre.
Ara vaig cometre un error de "cap d'os" mentre feia això. El meu Arduino UNO no tenia prou E / S digital per accionar els nous LED, així que vaig actualitzar a Arduino Mega (https://www.amazon.com/gp/product/B01H4ZLZLQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Per tant, el codi publicat fa servir la disposició dels pins en lloc de l’ONU. Més tard em vaig adonar que podria haver mogut 6 dels pedals a les entrades analògiques i després utilitzar els digitals per accionar els LED. El meu codi es pot modificar fàcilment perquè funcioni d'aquesta manera i, si hi ha prou interès, fins i tot ho faré jo mateix i el publicaré. Tot i això, el Mega només costa uns 5 dòlars més que l’ONU i us proporciona 32 E / S més, de manera que no crec que sigui un gran problema.
L’últim que vull parlar són els propis LEDs de la pista. Els he fet servir a Amazon (https://www.amazon.com/gp/product/B077XBMJFZ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Els he anomenat LED "tricolors", però si els cerqueu estaran sota "bicolor". Això es deu al fet que només contenen dos LED, un verd i un vermell. Tot i això, en activar-los tots dos al mateix temps, obteniu ambre. Tingueu també en compte que, ja que són un "ànode comú" i que apliqueu 5V al pin comú i heu de connectar el pin Arduino al càtode. Això fa que els LED siguin "actius baixos", de manera que s'apagaran quan el pin Arduino estigui alt i s'encenguin quan estigui baix. Si compreu diferents LEDs que no són un ànode comú, el codi Arduino no funcionarà tal com està escrit, però es pot adaptar fàcilment. Per últim, vaig passar molt de temps ajustant els valors de la resistència fins que vaig aconseguir el color ambre que volia. El verd és més brillant que el vermell, de manera que he d'utilitzar una resistència d'1K ohm per reduir la seva brillantor. Una altra opció és connectar els LED als canals digitals PWM i controlar la brillantor de la funció analogWrite (pin, valor).
FYI: aparentment Instructables.com ja no permet als usuaris carregar fitxers.zip, així que he posat tots els scripts i el codi aurduino a github. Accediu-hi aquí.
github.com/mjoseph81/loop_pedal_public
Bé, espero que us hagi agradat aquest instructiu. Feu-me saber si teniu cap pregunta i un bucle feliç.
Recomanat:
My DIY Steampunk Operation Game, basat en Arduino: 9 passos (amb imatges)
My DIY Steampunk Operation Game, basat en Arduino: aquest projecte té un abast força ampli. No requereix moltes eines ni coneixements previs, però ensenyarà molt a tothom (inclòs jo) en molts departaments de fabricació diferents. Com la captivitat amb un Arduino, la multitarea amb Arduino
Controlador de jocs DIY basat en Arduino - Controlador de jocs Arduino PS2 - Jugar a Tekken amb el bricolatge Arduino Gamepad: 7 passos
Controlador de jocs DIY basat en Arduino | Controlador de jocs Arduino PS2 | Jugar a Tekken amb el bricolatge Arduino Gamepad: Hola nois, jugar sempre és divertit, però jugar amb el vostre propi controlador de jocs de bricolatge és més divertit
Termòmetre infraroig sense contacte basat en Arduino - Termòmetre basat en IR mitjançant Arduino: 4 passos
Termòmetre infraroig sense contacte basat en Arduino | Termòmetre basat en IR que utilitza Arduino: Hola nois, en aquest instructable farem un termòmetre sense contacte amb arduino, ja que de vegades la temperatura del líquid / sòlid és massa alta o baixa a la temperatura i és difícil fer-hi contacte i llegir-ne temperatura llavors en aquell escenari
Generador de música basat en el temps (generador de midi basat en ESP8266): 4 passos (amb imatges)
Generador de música basat en el temps (generador de midi basat en ESP8266): Hola, avui explicaré com fer el vostre propi generador de música basat en el temps. Es basa en un ESP8266, que és com un Arduino, i respon a la temperatura, a la pluja i intensitat lumínica. No espereu que faci cançons senceres o progrés d’acords
DIY Smart Follow Me Drone amb càmera (basat en Arduino): 22 passos (amb imatges)
DIY Smart Follow Me Drone amb càmera (basat en Arduino): els drons són joguines i eines molt populars actualment. Al mercat podeu trobar drons professionals i fins i tot principiants i aparells voladors. Tinc quatre drons (quadcopters i hexcopters), perquè m'encanta tot el que vola, però el vol número 200 no és