Inhoudsopgave:
- Stap 1: Het pedaal
- Stap 2: Arduino
- Stap 3: De MIDI-interface
- Stap 4: De audio-interface
- Stap 5: Mobius
- Stap 6: Mobius-scripts en MIDI-bindingen
- Stap 7: versie 1.5
Video: DIY Chewie Monsta Looper (gebaseerd op Ed Sheeran's): 7 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Dus ik had al een paar jaar van Ed Sheeran gehoord en besteedde hem nooit echt veel aandacht. Ik vond sommige van deze nummers op de radio leuk, maar dacht dat hij gewoon een andere popartiest was, totdat ik zei dat hij "Shape of You" speelde tijdens de Grammy's van 2017. Ik stond versteld! Ik vond het nummer niet eens leuk, maar om hem het live in zijn eentje te zien spelen met zijn looppedaal was fascinerend. Ik speurde het internet af op zoek naar informatie over dit pedaal en ontdekte dat er niet veel te vinden was. Ik vond eindelijk een artikel waarin stond dat het op maat was gebouwd door Ed en zijn gitaartechnologie, wat me teleurstelde totdat ik eindelijk tegenkwam en Instructable van "edsutcliffe" (https://www.instructables.com/id/DIY-Chewie-Monst…) die de "geheime saus" had over hoe het precies werkte. Ik was opgewonden en ging meteen aan het werk. Tijdens het werken met de instructable kwam ik echter verschillende "gotchas" tegen, daarom heb ik deze instructable geschreven. De pagina van edsutcliffe beschrijft uitstekend de stukken en hoe ze samengaan. Mijn bedoeling hier is om een aantal van de hiaten op te vullen die me gek maakten en me uren, zo niet dagen, hebben gekost om problemen op te lossen. Dus hoewel ik je niet stap voor stap ga uitleggen hoe je het loop-pedaal moet bouwen (waarvan je de meeste kunt vinden op de pagina van edsutcliffe), zal ik je door de belangrijkste integratieproblemen leiden die me teisterden.
Stap 1: Het pedaal
Hoewel het het meest kritische stuk lijkt te zijn, is het pedaal zelf het gemakkelijkste en meest rechttoe rechtaan onderdeel van het project. Mijn advies hier is om langzaam te beginnen en eerst een ruwe mock-up te bouwen en ermee te experimenteren. Ik ontdekte dat het moeilijk is om te weten wat je wilt, totdat je het daadwerkelijk gaat gebruiken. Je denkt misschien dat drie nummers genoeg zijn, maar na een beetje spelen zul je misschien merken dat je echt een vierde nummer zou willen. Later wijzigen is niet het gemakkelijkste om te doen. Zelfs terwijl ik mijn tweede versie van het pedaal aan het bouwen was, ging ik heen en weer over het toevoegen van een knop voor "UNDO", maar besloot het niet te doen. Later ontdekte ik dat we er echt handig in waren, maar ik liet er niet genoeg ruimte voor. Uiteindelijk moest ik de "programmeurs" uitweg nemen en de CLEAR-knop multitasken. Nu heb ik het zo dat een korte druk UNDO activeert en een lange druk CLEAR activeert.
Verder is de enige andere overweging hier of u pedalen of voetschakelaars wilt gebruiken. Ik ging aanvankelijk alleen voor de kosten met voetschakelaars, maar ik heb onlangs een tweede bord gebouwd met pedalen en vond ze veel gemakkelijker te gebruiken.
Er zijn veel opties op Amazon, maar degene die ik heb gebruikt, staan hieronder.
- Voetschakelaar
- Nagelhoezen
Pedaal
Stap 2: Arduino
In de instructable, in plaats van je te vertellen dat je alleen door een gefabriceerd Arduino-bord moet, wordt elk onderdeel vermeld en kun je je eigen component bouwen. Naar mijn mening is dit belachelijk, aangezien een mfg-bord ~ $ 10 kost op internet, dus doe jezelf een plezier en ga daar gewoon mee akkoord.
www.amazon.com/Elegoo-EL-CB-001-ATmega328P…
Nu naar mijn eerste "gotcha". Een belangrijk item dat nergens wordt besproken, is hoe je de schets (code) voor de Arduino maakt, wat behoorlijk kritisch is, omdat de knoppen niets doen zonder dit. Dus ik geef mijn code die u kunt gebruiken. Nogmaals, ik ga je niet stap voor stap uitleggen hoe je de Arduino programmeert. Als je naar hun startpagina gaat, hebben ze veel tutorials over hoe je dat moet doen. Als je slim genoeg bent, voel je dan vrij om het te bewerken, maar het werkt het beste voor jou.
De basis
- Het pedaal heeft 8 knoppen en 2 LED's
- Een druk op de knop verzendt een MIDI-opdrachtbericht van de Arduino
- Knoppen (Terwijl ik de functie van elke knop beschrijf, doet de Arduino-code zelf niets anders dan een MIDI-commando verzenden. Het MIDI-commando moet worden gekoppeld aan een script in Mobius dat later zal worden behandeld)
-
Knoppen bestaan uit twee groepen
- Globaal = Verzendt hetzelfde MIDI-commando ongeacht de modus
- Mode-based = Verzendt verschillende MIDI-commando's op basis van de modus
-
Op modus gebaseerd:
-
MODE = deze knop verandert de "mode" van het pedaal (Record / Play / Volume Control)
- Kort indrukken schakelt tussen de opname- en afspeelmodus
- Lang indrukken (meer dan 1 sec) gaat naar de volumeregelingsmodus.
-
OPNEMEN/AFSPELEN
- In de REC-modus = In de RESET-modus start het de lus en sluit de lus bij de volgende keer drukken en naar de Overdub-modus gaan. Daarna schakelt het tussen Play en Overdub van het huidige nummer.
- In de PLAY-modus = dempt alle tracks en herstart ze
-
X / STOP
- In REC-modus = Past de functie "instant vermenigvuldigen" toe op het huidige nummer.
- In PLAY-modus = Alle tracks dempen en pauzeren
-
SPOOR 1/2/3
- In REC-modus = In RESET-modus start het de lus en sluit de lus bij de volgende keer drukken en naar de afspeelmodus gaan. Daarna schakelt het tussen Play en Overdub van de geselecteerde track.
- In PLAY-modus = Wisselen tussen Mute en Play
- In de Volume Control-modus = Track 2 bladert door de tracks, Track 1 verlaagt het uitgangsniveau (volume) van de huidige track met 5, Track 3 verhoogt het uitgangsniveau van de huidige track met 5.
-
-
Globaal
- RESET = past de functie "Global Reset" toe
-
DOORZICHTIG
- Kort indrukken (<1000ms) past de "UNDO"-functie toe op het huidige nummer
- Lang indrukken (>=1000ms) past de functie "CLEAR" toe op het huidige nummer
-
LED's
- REC LED = Rood, aan in de opnamemodus.
- VOL-LED = Blauw, brandt in de modus Volumeregeling.
-
Pinnen
- REC/PLAY = pin 3
- RESET = pin 4
- X/STOP = pin 5
- WISSEN = pin 6
- TRACK 1 = pin 7
- TRACK 2 = pin 8
- TRACK 3 = pin 9
- MODUS = pin 10
- REC-LED = pin 11
- VOL-LED = pin 12
Opmerking: een vriend uit de gemeenschap, Claudio, heeft de schets wat verbeterd en met ons gedeeld. Bedankt, Claudio!
Stap 3: De MIDI-interface
Dit is een gebied dat volgens mij niet erg duidelijk werd behandeld in de andere instructable. Kortom, zoals besproken in de Arduino-sectie, voeren het pedaal en Arduino gewoon een MIDI-commando uit op basis van de ingedrukte knop. Om te kunnen worden gebruikt, moet u de MIDI naar de pc met Mobius sturen. Ik heb 3 manieren gevonden om dit te doen en het is afhankelijk van het type audio-interface dat je koopt (meer volgt).
- Optie 1 - Afhankelijk van de audio-interface die u koopt, hebben sommige ingebouwde MIDI in/out-poorten. Als dit het geval is, kun je gewoon de instructie volgen en het seriële kanaal op de Arduino eruit halen en verbinden met de MIDI In-poort. Je kunt dit dan later als je MIDI-controllerbron selecteren wanneer je Mobius. instelt
- Optie 2 - Mijn audio-interface had geen ingebouwde MIDI-poort, dus dit was een uitdaging. Dus ik trok aanvankelijk het seriële kanaal eruit zoals in optie 1 en kocht een aparte MIDI-naar-USB-adapter. Hoewel dit werkte, vond ik het onhandig en onbetrouwbaar. Bovendien was ik gefrustreerd omdat dit een derde USB-verbinding zou zijn en mijn pc er maar twee had. Ik kon de kabel loskoppelen van de Arduino die ik gebruikte voor stroom en foutopsporing, maar dat betekende dat ik er een externe voeding voor nodig had.
-
Optie 3 - Ik begreep niet waarom ik de MIDI-commando's niet via de USB-verbinding kon krijgen en niet dezelfde verbindingskracht had als de Arduino. Ik wist dat er een manier moest zijn. Na veel zoeken op internet heb ik eindelijk een manier gevonden door twee freeware-apps te gebruiken.
- loopMIDI - Met deze gratis app, ironisch genoemd, kun je een "virtuele" MIDI-poort op je pc maken. Het enige wat je hoeft te doen is het te installeren en een virtuele MIDI Out-poort te definiëren en dat is alles. Het wordt automatisch uitgevoerd bij het opstarten.
- Hairless MIDI - Met dit programma kunt u een "seriële brug" maken, zodat u de seriële COM-poort die wordt gebruikt om uw Arduino te programmeren, kunt toewijzen aan de virtuele MIDI-poort die u zojuist met loopMIDI hebt gemaakt. En Walla! Je hebt nu nog maar één USB-verbinding nodig van de pc naar de Arduino.
- OPMERKING: Als u ervoor kiest om optie 3 te gebruiken, moet u ervoor zorgen dat de Arduino-code de baudrate van het seriële kanaal heeft ingesteld op 38400 in plaats van de standaard 31250 die MIDI gebruikt.
- // Stel MIDI-baudrate in:
- //Serial.begin(31250);
- // Stel de baudrate in op 38400 voor Hairless MIDI
- Serieel.begin(38400)
Stap 4: De audio-interface
Dit is dus waarschijnlijk het belangrijkste onderdeel dat u moet selecteren. Omdat lage kosten een belangrijke drijfveer voor mij waren, zocht ik naar een goedkope audio-interface. Ik heb uiteindelijk genoegen genomen met de BEHRINGER U-PHORIA UM2 (https://www.amazon.com/Behringer-UM2-BEHRINGER-UP…) omdat het goedkoop was en 2 ingangskanalen en 2 uitgangskanalen had, dat is alles wat ik nodig had. Er zijn veel opties, maar het kan de Mobius-configuratie later enigszins veranderen.
Begrijp alsjeblieft dat je krijgt waar je voor betaalt. Hoewel de UM2 uitstekend werk levert voor zijn prijs, kom ik af en toe problemen tegen zoals een willekeurig "pop"-geluid als ik te veel lagen overdub of soms statisch word en de interface opnieuw moet opstarten. Dus als je serieus wilt optreden met dit pedaal, spring dan op voor een audio-interface van hogere kwaliteit.
Ik dacht echt dat dit ongecompliceerd zou zijn, maar dit bleek het moeilijkste probleem voor mij om op te lossen en leidde er bijna toe dat ik het project verliet. Wanneer je hem voor het eerst op je pc aansluit, installeert Windows automatisch een stuurprogramma en je denkt dat je klaar bent, toch? Mis. Nadat ik het voor het eerst had ingesteld en begon met het opnemen van tracks, ontdekte ik dat de latentie zo slecht was (meer dan een seconde) dat het pedaal in feite onbruikbaar was. Ik moest iets verkeerd doen. Nogmaals, na een hoop internet zoeken vond ik het probleem. Windows installeert een standaard MME-stuurprogramma voor de audio-interface. MME-stuurprogramma's hebben een zeer hoge latentie en zijn niet geschikt voor realtime opname. Ik moest naar de Behringer-website en de ASIO-driver voor mijn specifieke interface vinden. ASIO-stuurprogramma's zijn specifiek ontworpen om de latentie te minimaliseren, wat u hier nodig hebt. Na het installeren van deze driver was de opnamelatentie niet eens waarneembaar door het menselijk oor. Dus de afhaalmaaltijd hier is dat welke audio-interface je ook gebruikt, zorg ervoor dat je het ASIO-stuurprogramma van de fabrikant krijgt en bespaar jezelf de hoofdpijn die ik heb ervaren.
Stap 5: Mobius
Laten we eerlijk zijn, zonder Mobius hebben we tot nu toe alleen een MIDI-controller-pedaalbord. Mobius is een gratis softwareprogramma gemaakt door Circular Labs (https://www.circularlabs.com/) dat alle opnames en loops doet. Het is echt een geweldig programma. Dat gezegd hebbende, de documentatie van Circular Lab vond ik erg gebrekkig. Na de installatie krijg je een venster met 8 tracks en tonnen knoppen, meters en teller. Het kostte me een tijdje om erachter te komen hoe ik door de GUI kon navigeren en deze kon configureren voor mijn behoeften. Gelukkig vond ik een youtube-video van edsutcliffe die je stap voor stap door de configuratie leidt.
Daarna was het enige onderdeel van de setup waar ik moeite mee had, het toewijzen van een bepaald ingangskanaal aan een bepaald nummer. In de video gebruiken ze een 4-kanaals interface en elk kanaal verschijnt onafhankelijk in Mobius. De UM2-interface die ik heb gebruikt, gebruikt eigenlijk een enkel stereokanaal en gebruikt de rechter- en linkerkanalen onafhankelijk van elkaar. Dus ik zie maar 1 "kanaal" in mobius, maar ik kan een enkel kanaal toewijzen door de "Pan" -instelling helemaal naar links of naar rechts te verplaatsen. Ik heb dus track 1 en 2 met pan helemaal naar rechts, zodat alleen kanaal 2 (instrument) wordt opgenomen. Voor track 3 heb ik de pan in het midden gelaten, zodat ik de microfoon of de gitaar erop kan opnemen. Als ik alleen de microfoon wil opnemen, zou ik helemaal naar het linkerkanaal pannen.
Stap 6: Mobius-scripts en MIDI-bindingen
Het laatste stukje van de puzzel zijn de Mobius-scripts en MIDI-bindingen. Hoewel ik erg bekend ben met computerprogrammering, vond ik de Mobius-scripttaal een beetje verwarrend en niet goed gedocumenteerd. Het kostte me veel tijd en veel aanpassingen om ze te krijgen zoals ik wilde, maar uiteindelijk werken ze voor wat ik nodig heb. De stappen voor het binden van de scripts aan MIDI-commando's in Mobius worden in detail beschreven in de youtube-video in stap 5.
Nou, dat is het dan. Hopelijk helpen deze tips je bij je build en kun je de frustraties vermijden die ik tegenkwam.
Stap 7: versie 1.5
Dus na bijna twee jaar mijn pedaal te hebben gebruikt, besloot ik dat ik een kleine verandering wilde aanbrengen in hoe het werkte. Ik kwam enkele gevallen tegen waarin de functie "ALLES AFSPELEN" de zaken omslachtig maakte. Vaak had ik een nummer gedempt en wilde ik het hele nummer stoppen en gewoon de twee nummers die daar aan het spelen waren opnieuw starten. Met de huidige operatie zouden alle drie de tracks opnieuw opstarten en zou ik snel de ongewenste track moeten dempen. Helaas heb ik in Mobius geen goede manier kunnen vinden om dit te doen. Om dit te bereiken moest ik het binnen de Arduino-code doen. Onthoud dat het pedaal en de Arduino-code behoorlijk "dom" waren. Het stuurde alleen een MIDI-commando wanneer een pedaal werd ingedrukt en de Mobius-scripts deden de rest. Met deze wijziging heb ik in feite alle afspeelintelligentie naar de Arduino-code verplaatst en de statussen van elke afzonderlijke track bijgehouden. Dus dit werd uiteindelijk bijna een volledige herschrijving van de Arduino-code. Uiteindelijk heb ik zelfs een klein debug-pedaalbord gebouwd om de nieuwe code te ontwikkelen en te testen. Als je geïnteresseerd bent in mijn nieuwe methode, lees dan verder, anders werken de hierboven beschreven functies prima.
Om de "PLAY ALL" te laten werken zoals ik wilde, moest ik een nieuwe status toevoegen aan elke track met "ARM". Vroeger, in de PLAY-modus, zou het indrukken van het trackpedaal schakelen tussen MUTE en PLAY. Nu gaat een pedaaldruk van PLAY naar MUTE, maar schakelt dan tussen ARM en MUTE. Een track wordt pas ongedaan gemaakt als deze zich in de ARM-status bevindt en vervolgens op het PLAY-pedaal wordt gedrukt. Als het STOP-pedaal wordt ingedrukt, worden alle tracks in PLAY in ARM gezet en worden ze alleen opnieuw gestart als PLAY wordt ingedrukt. Het probleem is dat er in Mobius geen indicatie is met betrekking tot de ARM-status. Om dit op te lossen heb ik een driekleurige LED toegevoegd aan elke track waar MUTE uit staat, PLAY groen is, REC/OVERDUB rood is en ARM oranje is.
Nu maakte ik een "bot-head"-fout terwijl ik dit deed. Mijn Arduino UNO had niet genoeg digitale I/O om de nieuwe LED's aan te sturen, dus heb ik een upgrade naar de Arduino Mega uitgevoerd (https://www.amazon.com/gp/product/B01H4ZLZLQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Dus de geposte code gebruikt de pinlay-out ervoor in plaats van de UNO. Later realiseerde ik me dat ik 6 van de pedalen naar de analoge ingangen had kunnen verplaatsen en vervolgens de digitale signalen had kunnen gebruiken om de LED's aan te sturen. Mijn code kan eenvoudig worden aangepast om op deze manier te werken en als er voldoende interesse is zal ik het zelfs zelf doen en posten. De Mega is echter slechts ongeveer $ 5 meer dan de UNO en geeft je 32 meer I / O, dus ik denk niet dat het een groot probleem is.
Het laatste waar ik het over wil hebben, zijn de track-LED's zelf. Ik heb deze van Amazon gebruikt (https://www.amazon.com/gp/product/B077XBMJFZ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Ik noemde ze "driekleurige" LED's, maar als je ernaar zoekt, staan ze onder "tweekleurig". Dit komt omdat ze slechts twee LED's bevatten, een groene en een rode. Maar door ze allebei tegelijk aan te zetten, krijg je oranje. Houd er ook rekening mee dat omdat ze "gemeenschappelijke anode" zijn en dat u 5V op de gemeenschappelijke pin toepast en de Arduino-pin op de kathode moet aansluiten. Dit maakt de LED's "actief laag", zodat ze uit zijn wanneer de Arduino-pin hoog is en aan wanneer deze laag is. Als u verschillende LED's koopt die geen gewone anode zijn, werkt de Arduino-code niet zoals geschreven, maar kan deze eenvoudig worden aangepast. Ten slotte heb ik veel tijd besteed aan het aanpassen van de weerstandswaarden totdat ik de kleur oranje kreeg die ik wilde. Groen is helderder dan rood, dus ik gebruik een weerstand van 1K ohm om de helderheid te verminderen. Een andere optie is om de LED's aan te sluiten op de digitale PWM-kanalen en de helderheid te regelen met de functie analogWrite (pin, value).
Ter info - blijkbaar staat Instructables.com gebruikers niet meer toe om.zip-bestanden te uploaden, dus heb ik alle scripts en aurduino-code in github geplaatst. Gelieve hier toegang te krijgen.
github.com/mjoseph81/loop_pedal_public
Nou, ik hoop dat je genoten hebt van deze instructable. Laat het me weten als je vragen hebt en graag een lus maakt.
Aanbevolen:
Op LoRa gebaseerd visueel bewakingssysteem voor landbouw Iot - Een fronted applicatie ontwerpen met Firebase & Angular: 10 stappen
Op LoRa gebaseerd visueel bewakingssysteem voor landbouw Iot | Een fronted-applicatie ontwerpen met Firebase & Angular: In het vorige hoofdstuk hebben we het gehad over hoe de sensoren werken met de loRa-module om de Firebase Realtime-database te vullen, en we hebben het diagram op zeer hoog niveau gezien hoe ons hele project werkt. In dit hoofdstuk gaan we het hebben over hoe we
IOT-gebaseerd slim parkeren: 7 stappen
IOT-gebaseerd slim parkeren: door Tanmay Pathak en Utkarsh Mishra. Studenten @ International Institute of Information Technology, Hyderabad (IIITH)ABSTRACTWe hebben met succes een IOT-gebaseerd slim parkeersysteem geïmplementeerd. Met behulp van individuele nodes (nabijheidssensoren) altijd
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) - Arduino gebaseerd: 15 stappen (met afbeeldingen)
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) | Gebaseerd op Arduino: het automatiseren van modelbaanlay-outs met behulp van Arduino-microcontrollers is een geweldige manier om microcontrollers, programmeren en modelspoorbanen samen te voegen tot één hobby. Er zijn een heleboel projecten beschikbaar over het autonoom laten rijden van een trein op een modelspoorbaan
Op beeldverwerking gebaseerd brandherkennings- en blussysteem: 3 stappen
Op beeldverwerking gebaseerd brandherkennings- en blussysteem: Hallo vrienden, dit is een op beeldverwerking gebaseerd branddetectie- en blussysteem met Arduino
Kleursorteersysteem: Arduino-gebaseerd systeem met twee banden: 8 stappen
Kleursorteersysteem: Arduino-gebaseerd systeem met twee banden: transport en/of verpakking van producten en artikelen op industrieel gebied wordt gedaan met behulp van lijnen die zijn gemaakt met behulp van transportbanden. Die riemen helpen om het item met een bepaalde snelheid van het ene punt naar het andere te verplaatsen. Sommige verwerkings- of identificatietaken kunnen