Innehållsförteckning:
- Steg 1: Pedalen
- Steg 2: Arduino
- Steg 3: MIDI -gränssnittet
- Steg 4: Ljudgränssnittet
- Steg 5: Mobius
- Steg 6: Mobius -skript och MIDI -bindningar
- Steg 7: Version 1.5
Video: DIY Chewie Monsta Looper (Baserat på Ed Sheerans): 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Så jag hade hört talas om Ed Sheeran i några år nu och aldrig riktigt uppmärksammat honom. Jag gillade några av de här låtarna på radion men trodde att han bara var en annan popartist tills jag säger att han framför "Shape of You" vid Grammys 2017. Jag vart överväldigad! Jag gillade inte riktigt låten, men att se honom framföra den live själv med sin slingpedal var fascinerande. Jag letade på internet och letade efter information om den här pedalen och upptäckte att det inte fanns så mycket där ute. Jag hittade äntligen en artikel som sa att den var specialbyggd av Ed och hans gitarrteknik som gjorde mig besviken tills jag äntligen kom över och Instructable av "edsutcliffe" (https://www.instructables.com/id/DIY-Chewie-Monst…) som hade den "hemliga såsen" om exakt hur det fungerade. Jag var upphetsad och jag började jobba. Under arbetet med det instruerbara stötte jag dock på flera "gotchas" längs vägen, varför jag skrev detta instruerbart. edsutcliffes sida gör ett bra jobb med att beskriva bitarna och hur de går ihop. Min avsikt här är att fylla i några av luckorna som gjorde mig galen och kostade mig timmar om inte dagar att försöka lösa problem. Så även om jag inte kommer att leda dig steg för steg hur du bygger loop -pedalen (de flesta av dem kan du hitta på edsutcliffes sida), kommer jag att gå dig igenom de viktigaste integrationsfrågorna som plågade mig.
Steg 1: Pedalen
Även om det verkar vara den mest kritiska delen, är själva pedalen den enklaste och mest raka delen av projektet. Mitt råd här är att börja långsamt och bygga en grov hån först och experimentera med det. Jag fann att det är svårt att veta vad du vill ha tills du faktiskt börjar använda det. Du kanske tror att tre spår räcker men efter att ha spelat lite kan du upptäcka att du verkligen skulle vilja ha ett fjärde spår. Att ändra det senare är inte det lättaste. Även medan jag byggde min andra version av pedalen gick jag fram och tillbaka om att lägga till en knapp för "UNDO" men bestämde mig för det. Jag upptäckte senare att det verkligen kan vara användbart men jag lämnade inte tillräckligt med utrymme för det. Jag slutade med att behöva ta "programmerare" vägen ut och multitask CLEAR -knappen. Nu har jag det så att en kort tryckning utlöser UNDO och en lång tryckning utlöser CLEAR.
Utöver det är den enda andra övervägningen här om du vill använda pedaler eller fotbrytare. Jag gick med fotbrytare inledningsvis bara för kostnad men jag byggde nyligen ett andra bräda med pedaler och fann dem mycket lättare att använda.
Det finns många alternativ på Amazon men de jag använde finns nedan.
- Fotomkopplare
- Nagelöverdrag
Pedal
Steg 2: Arduino
I det instruerbara, snarare än att berätta för dig att bara genom ett tillverkat Arduino -kort listar det varje komponent och får dig att bygga din egen. Enligt min mening är detta löjligt med tanke på att en mfg -bräda kostade ~ $ 10 på internet, så gör dig själv en tjänst och fortsätt med det.
www.amazon.com/Elegoo-EL-CB-001-ATmega328P…
Nu ner till min första "gotcha". En viktig post som inte diskuteras någonstans är hur man skapar skissen (koden) för Arduino som är ganska kritisk eftersom knapparna inte gör någonting utan detta. Så jag tillhandahåller min kod för dig att använda. Återigen, jag kommer inte att gå igenom steg för steg hur du programmerar Arduino. Om du går till deras hemsida har de massor av handledning om hur du gör det. Om du är tillräckligt kunnig kan du redigera, men det fungerar bäst för dig.
Det grundläggande
- Pedalen har 8 knappar och 2 lysdioder
- Ett knapptryck skickar ett MIDI -kommandomeddelande från Arduino
- Knappar (Medan jag beskriver varje knapps funktion, gör Arduino -koden i sig inget annat än att skicka ett MIDI -kommando. MIDI -kommandot måste knytas till ett skript i Mobius som kommer att täckas senare)
-
Knapparna består av två grupper
- Global = Skickar samma MIDI -kommando oavsett läge
- Lägesbaserad = Skickar olika MIDI-kommandon baserat på läget
-
Lägesbaserad:
-
MODE = denna knapp ändrar pedalens "läge" (inspelning / uppspelning / volymkontroll)
- Kort tryckning växlar mellan inspelnings- och uppspelningsläge
- Långt tryck (mer än 1 sek) går till volymkontrollläge.
-
INSPELNING/SPELNING
- I REC -läge = I RESET -läge kommer det att starta slingan och stänga slingan vid nästa tryckning och gå till Overdub -läge. Efter det växlar det mellan Play och Overdub för det aktuella spåret.
- I PLAY -läge = Avstänger och startar om alla spår
-
X / STOPP
- I REC -läge = Tillämpar funktionen "omedelbar multiplicering" på det aktuella spåret.
- I PLAY -läge = Stäng av och pausa alla spår
-
SPÅR 1/2/3
- I REC -läge = I RESET -läge startar det loop och stänger loop vid nästa tryckning och går till Play -läge. Efter det växlar det mellan Play och Overdub för det valda spåret.
- I PLAY -läge = Växla mellan Mute och Play
- I volymkontrollläge = Spår 2 cyklar genom spåren, spår 1 minskar utgångsnivån (volymen) för det aktuella spåret med 5, spår 3 ökar utmatningsnivån för det aktuella spåret med 5.
-
-
Global
- RESET = tillämpar funktionen "Global Reset"
-
KLAR
- Kort tryckning (<1000 ms) tillämpar "UNDO" -funktionen på det aktuella spåret
- Långt tryck (> = 1000ms) tillämpar "CLEAR" -funktionen på det aktuella spåret
-
Lysdioder
- REC LED = Röd, tänd i inspelningsläge.
- VOL LED = Blå, tänd i volymkontrollläge.
-
Stift
- REC/PLAY = stift 3
- ÅTERSTÄLL = stift 4
- X/STOP = stift 5
- CLEAR = stift 6
- SPÅR 1 = stift 7
- SPÅR 2 = stift 8
- SPÅR 3 = stift 9
- LÄGE = stift 10
- REC LED = stift 11
- VOL LED = stift 12
Notera: En vän i samhället, Claudio, förbättrade skissen och delade den med oss. Tack, Claudio!
Steg 3: MIDI -gränssnittet
Detta är ett område som jag känner inte täcktes särskilt tydligt i den andra instruerbara. I grund och botten, som diskuteras i Arduino -sektionen, matar pedalen och Arduino bara ut ett MIDI -kommando baserat på knappen som trycks in. För att kunna användas måste du skicka MIDI till datorn som kör Mobius. Jag hittade tre sätt att göra detta och det beror på vilken typ av ljudgränssnitt du köper (mer kommer).
- Alternativ 1 - Beroende på vilket ljudgränssnitt du köper har vissa inbyggda MIDI in/ut -portar. Om så är fallet kan du bara följa instruktionerna och dra ut seriekanalen på Arduino och anslut den till MIDI In -porten. Du kommer sedan att kunna välja detta som din MIDI -kontrollkälla senare när du konfigurerar Mobius
- Alternativ 2 - Mitt ljudgränssnitt hade inte en inbyggd MIDI -port så det var en utmaning. Så jag drog först ut seriekanalen som i alternativ 1 och köpte en separat MIDI-till-USB-adapter. Även om detta fungerade, tyckte jag att det var klumpigt och opålitligt. Dessutom var jag frustrerad eftersom det här skulle vara en tredje USB -anslutning och min dator bara hade två. Jag kunde koppla bort kabeln till Arduino som jag använde för ström och felsökning men det innebar att jag skulle behöva en extern strömförsörjning för den.
-
Alternativ 3 - Jag förstod inte varför jag inte kunde få MIDI -kommandona över USB -anslutningen och ha samma anslutningskraft som Arduino. Jag visste att det måste finnas ett sätt. Efter mycket internetsökning hittade jag äntligen ett sätt genom att använda två freeware -appar.
- loopMIDI - Ironiskt nog, med dessa gratisappar kan du skapa en "virtuell" MIDI -port på din dator. Allt du behöver göra är att installera den och definiera en virtuell MIDI Out -port och det är det. Den körs automatiskt vid uppstart.
- Hairless MIDI - Med det här programmet kan du skapa en "seriebro" så att du kan mappa den seriella COM -porten som används för att programmera din Arduino till den virtuella MIDI -porten du just skapade med loopMIDI. Och Whalla! Du behöver nu bara en enda USB -anslutning från datorn till Arduino.
- OBS: Om du väljer att använda alternativ 3 måste du se till att Arduino -koden har seriell kanalhastighet inställd på 38400 istället för standarden 31250 som MIDI använder.
- // Ställ in MIDI -överföringshastighet:
- //Serial.begin(31250);
- // Ställ in överföringshastigheten till 38400 för Hairless MIDI
- Serial.begin (38400)
Steg 4: Ljudgränssnittet
Så det här är förmodligen den viktigaste komponenten som du måste välja. Eftersom låg kostnad var en viktig drivrutin för mig letade jag efter ett billigt ljudgränssnitt. Jag slutade med att bosätta mig på BEHRINGER U-PHORIA UM2 (https://www.amazon.com/Behringer-UM2-BEHRINGER-UP…) eftersom det var låg kostnad och hade 2 ingångskanaler och 2 utgångskanaler vilket är allt jag behövde. Det finns många alternativ där ute men det kan något ändra Mobius -installationen senare.
Förstå att du får vad du betalar för. Medan UM2 gör ett bra jobb för sitt pris, stöter jag ibland på problem som ett slumpmässigt "pop" -ljud om jag överdriver för många lager eller någon gång blir statisk och måste starta om gränssnittet. Så om du är seriös om att prestera med den här pedalen får du ett ljudgränssnitt av högre kvalitet.
Jag trodde verkligen att det här skulle vara rakt fram men det här blev det svåraste problemet för mig att lösa och resulterade nästan i att jag övergav projektet. När du först ansluter den till din dator kommer Windows automatiskt att installera en drivrutin och du tror att du är inställd, eller hur? Fel. Efter att jag först satte upp det och började spela in spår upptäckte jag att latensen var så dålig (mer än en sekund) att pedalen i princip var oanvändbar. Jag var tvungen att göra något fel. Återigen, efter massor av internetsökning fann jag problemet. Windows installerar en standard MME -drivrutin för ljudgränssnittet. MME-drivrutiner har mycket hög latens och är inte lämpliga för realtidsinspelning. Jag var tvungen att gå till Behringer -webbplatsen och hitta ASIO -drivrutinen för mitt specifika gränssnitt. ASIO -drivrutiner är specifikt utformade för att minimera latens, vilket är vad du behöver här. Efter installationen av denna drivrutin upptäcktes inte ens inspelningsfördröjningen av det mänskliga örat. Så takeaway här är att oavsett vilket ljudgränssnitt du använder, se till att du får ASIO -drivrutinen från tillverkaren och spara dig den huvudvärk som jag upplevde.
Steg 5: Mobius
Låt oss inse det, utan Mobius är allt vi har hittills ett MIDI -kontrollpedalbräda. Mobius är ett gratis program skapat av Circular Labs (https://www.circularlabs.com/) som gör all inspelning och looping. Det är verkligen ett fantastiskt program. Med detta sagt fann jag att dokumentationen från Circular Lab saknade mycket. Efter installationen får du ett fönster med 8 spår och massor av knappar, mätare och räknare. Det tog mig ett tag att ta reda på hur jag navigerar i GUI och konfigurerar det för mina behov. Lyckligtvis hittade jag en youtube -video publicerad av edsutcliffe som leder dig genom konfigurationen steg för steg.
Efter det var den enda delen av installationen som jag hade problem med att kartlägga en viss ingångskanal till ett visst spår. I videon använder de ett 4 -kanals gränssnitt och varje kanal dyker upp oberoende i Mobius. UM2 -gränssnittet som jag använde använder faktiskt en enda stereokanal och använder höger och vänster kanal oberoende. Så jag ser bara 1 "kanal" i mobius men jag kan kartlägga en enda kanal genom att flytta "Pan" -inställningen hela vägen till vänster eller åt höger. Så jag har spår 1 och 2 med pan inställd hela vägen till höger så att endast kanal 2 (instrument) spelas in. Sedan för spår 3 lämnade jag pan i mitten så att jag kan spela in antingen mikrofonen eller gitarren på den. Om jag bara vill spela in mikrofonen skulle jag panorera hela vägen till vänster kanal.
Steg 6: Mobius -skript och MIDI -bindningar
Den sista pusselbiten är Mobius -skripten och MIDI -bindningarna. Även om jag är mycket bekant med datorprogrammering, tyckte jag att Mobius -skriptspråket var lite förvirrande och inte väl dokumenterat. Det tog mig lång tid och mycket tweaking för att få dem som de ville, men i slutändan fungerar de för det jag behöver. Stegen för att binda skripten till MIDI -kommandon i Mobius beskrivs i detalj i YouTube -videon i steg 5.
Det är det. Förhoppningsvis hjälper dessa tips dig med ditt bygge och du kommer att kunna undvika frustrationerna som jag stötte på.
Steg 7: Version 1.5
Så efter att ha använt min pedal i nästan två år bestämde jag mig för att jag ville göra en liten förändring av hur det fungerade. Jag stötte på några fall där "PLAY ALL" -funktionen gjorde det besvärligt. Ofta skulle jag låta ett spår stängas av och jag vill stoppa hela spåret och bara starta om de två spåren som spelades. Med den nuvarande operationen skulle alla tre spår starta om och jag skulle snabbt behöva stänga av det oönskade spåret. Tyvärr kunde jag inte hitta ett bra sätt att göra detta i Mobius. För att uppnå detta var jag tvungen att göra det inuti Arduino -koden. Kom ihåg att pedalen och Arduino -koden var ganska "dumma". Det skickade bara ett MIDI -kommando när en pedal trycktes in och Mobius -skripten gjorde resten. Med denna förändring flyttade jag i princip all uppspelningsintelligens till Arduino -koden och spårar tillstånden för varje enskilt spår. Så detta slutade med att vara nästan en fullständig omskrivning av Arduino -koden. Jag slutade till och med med att bygga en liten felsökningspedal för att utveckla och testa den nya koden. Om du är intresserad av min nya metod, läs vidare, annars fungerar funktionerna som beskrivs ovan bra.
För att få "PLAY ALL" att fungera som jag ville var jag tvungen att lägga till ett nytt tillstånd till varje spår med jag kallar "ARM". Innan, när du var i PLAY -läge, skulle ett tryck på spårpedalen växla mellan MUTE och PLAY. Nu kommer en pedalpress att gå från PLAY till MUTE men sedan växla mellan ARM och MUTE. Ett spår stängs inte av förrän det är i ARM -läge och sedan trycks på PLAY -pedalen. När man trycker på STOP -pedalen sätts alla spår i PLAY i ARM och bara de startas om när PLAY trycks in. Problemet är att det inte finns någon indikation i Mobius i förhållande till ARM -tillståndet. Så för att lösa detta lade jag till en trefärgad LED till varje spår där MUTE är avstängt, PLAY är grönt, REC/OVERDUB är rött och ARM är gult.
Nu gjorde jag ett "ben-huvud" misstag när jag gjorde detta. Min Arduino UNO hade inte tillräckligt med digital I/O för att driva de nya lysdioderna så jag uppgraderade till Arduino Mega (https://www.amazon.com/gp/product/B01H4ZLZLQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Så den postade koden använder pin -layouten för den istället för UNO. Jag insåg senare att jag kunde ha flyttat 6 av pedalerna till de analoga ingångarna och sedan använda digitalerna för att driva lysdioderna. Min kod kan enkelt ändras för att fungera på detta sätt och om det finns tillräckligt med intresse kommer jag till och med att göra det själv och lägga upp det. Men Mega är bara cirka $ 5 mer än UNO och ger dig 32 fler I/O så jag tror inte att det är en stor grej.
Det sista jag vill prata om är själva LED -spåren. Jag använde dessa från Amazon (https://www.amazon.com/gp/product/B077XBMJFZ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Jag kallade dem "trefärgade" lysdioder men om du söker efter dem kommer de att vara under "tvåfärgade". Detta beror på att de bara innehåller två lysdioder, en grön och röd. Men genom att slå på dem båda samtidigt blir du gul. Tänk också på att eftersom de är "gemensam anod" och att du applicerar 5V på den gemensamma stiftet och måste ansluta Arduino -stiftet till katoden. Detta gör att lysdioderna är "aktiva låga" så att de släcks när Arduino -stiftet är högt och tänt när det är lågt. Om du köper olika lysdioder som inte är vanliga anoder fungerar Arduino -koden inte som skrivet men kan enkelt anpassas. Slutligen spenderade jag mycket tid på att finjustera motståndsvärdena tills jag fick den gula färgen jag ville ha. Grönt är ljusare än rött så jag använder ett 1K ohm motstånd för att minska dess ljusstyrka. Ett annat alternativ är att ansluta lysdioderna till de digitala PWM -kanalerna och styra ljusstyrkan på analogWrite -funktionen (pin, värde).
FYI - tydligen tillåter Instructables.com inte användare att ladda upp.zip -filer längre så jag lägger alla skript och aurduino -kod i github. Gå in här.
github.com/mjoseph81/loop_pedal_public
Tja, jag hoppas att du gillade detta instruerbart. Låt mig veta om du har några frågor och glada looping.
Rekommenderad:
PIC16F877A -baserat RFID -system: 5 steg
PIC16F877A Baserat RFID -system: RFID -system är ett system som tillhandahåller identifiering av studenter, anställda och andra som använder RFID -tagg för att övervaka deras närvaro, arbete, arbetstid och många andra. Denna artikel är sponsrad av JLCPCB. Jag tackar verkligen JLCPCB för sponsringen
ESP32 -baserat telegrambot: 7 steg
ESP32 Based Telegram Bot: Telegram handlar om frihet och öppna källor, det tillkännagav det nya Telegram bot API 2015, som gjorde det möjligt för tredje part att skapa telegrambots för ESP32 som använder meddelandeprogrammet som deras huvudsakliga kommunikationsgränssnitt. Det betyder att vi
LoRa-baserat visuellt övervakningssystem för jordbruk Iot - Designa en frontad applikation med Firebase & Angular: 10 steg
LoRa-baserat visuellt övervakningssystem för jordbruk Iot | Designa en frontad applikation med Firebase & Angular: I föregående kapitel talar vi om hur sensorerna arbetar med loRa -modulen för att fylla i Firebase Realtime -databasen, och vi såg diagrammet på mycket hög nivå hur hela vårt projekt fungerar. I det här kapitlet kommer vi att prata om hur vi kan
IoT -baserat smart parkeringssystem med hjälp av NodeMCU ESP8266: 5 steg
IoT -baserat smart parkeringssystem som använder NodeMCU ESP8266: Numera är det mycket svårt att hitta parkering i livliga områden och det finns inget system för att få detaljer om parkeringstillgänglighet online. Tänk om du kan få information om parkeringsplatsens tillgänglighet på din telefon och du inte har roaming för att kontrollera
Automatiskt inomhus växthus baserat på Ikea Socker: 5 steg
Automatiskt inomhus växthus Baserat på Ikea Socker: Hej, det här är min första instruerbara. Jag lärde mig mycket med denna gemenskap, och jag tror att det är dags att återkomma med mina ödmjuka idéer. Jag är ledsen över min engelska, är dålig, men jag kommer att göra allt jag kan. Tanken var att göra ett växthus som låter mig odla frön och