INHOUDSOPGAWE:
- Stap 1: perke
- Stap 2: Hoe dit werk
- Stap 3: Hardeware
- Stap 4: sagteware
- Stap 5: Bedrading
- Stap 6: Wat as ek meer as een MIDI -bron het?
Video: Arduino multi-track MIDI lusstasie: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
'N Lusstasie, of 'n lus, is in wese 'n instrument om u instrumentale riffs (lusse) intyds te speel. Dit is nie bedoel as opnamemedia nie, maar 'n instrument om die inspirasie sonder afleiding te vorm (en uiteindelik live op te voer …).
Daar is baie klankopneemlusstasies, beide in die vorm van toegewyde hardeware (byna elke kitaarpedaalvervaardiger het sy eie produk) of rekenaarprogrammatuur (die uitstekende Linux Sooper Looper of Windows Mobius, om die bekendste aan te haal). Ek kon net 'n paar projekte vind oor DIY-nie-klank, maar MIDI-loopers, wat 'n instrument is om MIDI-gebeurtenisse op te neem en onmiddellik in 'n lus terug te speel; die meeste van hierdie projekte (almal, moet ek sê) word verlate of verlore … wel, hier is 'n volledige projek vir almal!
Hierdie Arduino MIDI -lusstasie hou eenvoudig die inkomende MIDI -gebeure by en speel dit af. U hoef net op die rekordpedaal te druk, u beste riff ooit te maak en die opname te stop deur weer op die pedaal te druk. Super maklik:)
Hierdie projek is gebaseer op maklik oop hardeware (Arduino DUE), sagteware (my eie firmware en Arduino IDE) en kan aangepas word om u voorkeure te weerspieël.
Kom ons doen dit!
PS: ja, dit is super goedkoop!
Stap 1: perke
Voordat u begin om hardeware -onderdele vir die projek aan te skaf, moet ek u vertel wat die grense daarvan is, sodat u kan besluit om voort te gaan of hier te stop.
- as gevolg van hardeware -beperkings (in wese Aduino DUE -geheue), is die standaard maksimum lengte van die frase wat u kan opneem tot 46 sekondes beperk.
- lusse kan nie gestoor en gespeel word nadat dit gesluit is nie. U kan dit egter na 'n rekenaar stuur en dit stoor.
- daar is geen kwantisering van notas nie.
- MIDI -klok word ondersteun, maar tans op 'n voorlopige stadium.
- Die opgetekende MIDI -boodskappe is notas aan, noot af, veranderings in beheer en toonhoogte; ander MIDI -boodskappe soos na aanraking, programverandering, SysEx, ens. word nie in ag geneem nie.
- maksimum polifonie is standaard op 10 gestel (weer Aduino DUE geheue perke).
Aan die positiewe kant word MIDI -strome van verskeie verskillende instrumente ondersteun, wat elk op sy eie kanaal stuur; dit beteken dat u verskeie MIDI -instrumente tegelyk kan opneem, in lae of met hul eie snit (meer voordele in die volgende stap;)).
As dit redelik lyk (en dit is vir my) om met hierdie beperkings te leef, sal u dit baie geniet;)
Stap 2: Hoe dit werk
Die MIDI -lusstasie hier is baie eenvoudig om te gebruik. Dit werk op 'n manier soortgelyk aan die hardeware klanklusstasies wat elke vervaardiger van kitaarpedale in sy eie katalogus het.
1) Kies die snit waarop u u MIDI -reeks wil opneem. Standaard word 'een' gekies, maar u kan dit verander deur op een van die snitknoppies te druk (een vir elke snit).
2) As u die eerste keer op die "REC" -skakelaar/voetpedaal druk, word die gordel ingeskakel. Die groen LED brand. Dit sal wag totdat u eerste nota ontvang word voordat u die werklike volgorde/riff begin opneem.
3) As u klaar is met die volgorde, druk dan weer op die "REC" skakelaar/voetpedaal om die werklike lengte van die riff te bepaal. Die groen LED brand. Die lusmaker sal u MIDI -reeks onmiddellik weergee. As u die maksimum tyd bereik, stop die opname outomaties en begin die volgorde in 'n lus.
4) Nou kan u besluit om u volgorde op die huidige snit te oordubbel, of 'n nuwe snit te kies en daarop op te neem deur op die "REC" skakelaar/voetpedaal te druk. In albei gevalle sal die geel LED brand, selfs al is die nuwe snit leeg, want dit is 'n "slaaf" snit (slaaf tot die heel eerste snit wat opgeneem is). Druk weer om die oordubbing te stop (geel LED gaan af).
Vir diegene wat gemaklik is met klanklusstasies, word hierdie MIDI -progressie 'REC/PLAY/OVERDUB' genoem en is die enigste ondersteuning.
As u te eniger tyd voel dat u nuutste overdub nie reg is nie, kan u dit verwyder deur op die "ontdoen" -skakelaar/voetpedaal te druk. U kan die hele huidige snit skoonmaak deur die "REC" -pedaal langer as 3 sekondes ingedruk te hou; u kan die looper herstel (sagteware herstel) deur op die eerste drie snitknoppies gelyktydig te druk of deur al die gebruikte snitte uit te vee.
U kan 'n snit demp/demp deur op die snitknoppie van die huidige snit te druk.
U kan 'n PANIEK stuur! boodskap deur op die paniekknoppie te druk. U kan selfs 'n PANIEK stuur! boodskap deur op die eerste twee snitknoppies gelyktydig te druk.
Die lusbuis het 'n ingeboude eenvoudige metronoom: 'n nota op die MIDI -boodskap vir nootnommer "64" word teen 100 BPM op kanaal 10 gestuur (die kanaal waarna u trommelmasjien vermoedelik luister). U kan die tempo verhoog of verlaag deur die optiese encoder te draai; Deur die skakelaar van die optiese encoder in te druk, kan u die metronoom aktiveer/deaktiveer. Let op dat u drommasjien ingestel moet wees om 'n geluid te speel (strik, bas of watter klank u ook al verkies) wanneer u die MIDI -noot "64" ontvang, anders is die metronoom stil.
'N Kaalbeenweergawe van hierdie MIDI -lusstasie kan bestaan uit 'n enkele voetskakelaar om die opname te begin en te stop. Deur die skakelaar langer as 3 sekondes ingedruk te hou, word die lusstasie herinitialiseer.
As u ekstra tyd wil spandeer om die hardeware te ontwikkel, sal die lusstasie meer buigsaam wees deur die toevoeging van skakelaars en knoppies. Op die foto is hoe ek my vier snitte (tot vyf word ondersteun) met 'n volledige lusstasie opgestel het.
BELANGRIKE OPMERKING: die hardeware op my foto's is 'n prototipe. Ek het meer jack -voetstukke gebruik as wat nodig was, maar slegs vier knoppies vir snitte. Dit was omdat ek met die aanvang van die projek nie heeltemal seker was wat die finale vereistes sou wees nie.
Knoppies en voetskakelaars is elektronies ekwivalente, en u kan die een in plaas van die ander gebruik; Vir my behoeftes, omdat daar altyd te min vloeroppervlakte is (verdomde mooi effekpedale;)), het ek voetpedale beperk tot die enkele REC -funksie.
Stap 3: Hardeware
Materiaallêer:
Volledige 5-snitte MIDI-lusstasie
1x Arduino DUE
7x kort drukknoppies
1x plastiekhouer (ek het 'n omhulsel van 150 x 110 x 70 mm gebruik)
2x MIDI-aansluiting met 5-pins DIN-wyfie-paneelmontering
1x 6,3 mm paneelsteun -aansluiting
1x dubbelzijdig 50x70 mm perf bord
5x 3 mm LED (groen)
1x 3 mm LED (geel)
1x optiese encoder
1x H11L1 optokoppelaar
1x 1N4148 diode
3x 1000 ohm weerstande
3x 220 ohm weerstande
Weerstands van 10 x 470 ohm
Sommige soldeerdraad, 'n paar kabels, soldeerstasie … en vrye tyd:)
Tyd benodig om die projek te voltooi: 6-9 uur
Waarom nie 'n UNO nie?
Die eerste toetse (en 'n aanvangskode) is op 'n 'gewone' arduino UNO -bord geskryf. Hierdie bord het RAM -perke wat my gedwing het om die polifonie tot "4" te verminder, maksimum lengte tot minder as 4 sekondes en 'n resolusie van 40 ms by maks. Dit sonder veelkanaals hantering. Deur ook die snelheidsopsporing te verwyder, kon ek die opnametyd tot 7 sekondes verhoog.
Met 'n UNO kan u dan 'n 'werkende' MIDI -lusstasie realiseer, maar baie beperk.
Stap 4: sagteware
Die sagteware maak sterk staat op die FortySevenEffects MIDI -biblioteek. Hierdie biblioteek is wonderlik en maak hierdie soort projekte moontlik, selfs vir nie -kodeerders soos ek.
Arduino IDE en sy gemeenskap is nog 'n belangrike deel van hierdie 'sukses'.
Ek gaan nie in op die besonderhede oor hoe u die skets na u arduino DUE kan oplaai nie. As dit u eerste ervaring met arduino IDE is, lees dit dan eers.
Ek het twee verskillende weergawes van die kode geskryf, gebaseer op twee heeltemal verskillende benaderings.
Die werkbeginsel van weergawe 1 is dat tydens die opname of oordubbing van Arduino DUE die ondersteunde MIDI -gebeurtenisse in die (vlugtige) geheue nagegaan en geberg word (let op, let op, verander verandering en toonhoogte); tydas word in 20 ms -stappe gekwantiseer en ontvangde boodskappe word dienooreenkomstig in die gleuwe geberg. Tydens die speel word gestoorde MIDI -boodskappe teruggestuur na die synth met inagneming van die tydskwantisering.
Die werkbeginsel van weergawe 2 is in plaas daarvan om die midi -gebeurtenis en die tyd waarop die gebeurtenis geaktiveer moet word, eenvoudig op te teken. Weergawe 2 het ander perke as weergawe 1 (gelys in 'n vorige stap). probeer albei en gebruik die een wat vir u beter werk.
Daar is ook 'n voorafgaande klokhantering, maar dit sal 'n paar aanpassings benodig om te werk soos dit moet. Die kode veronderstel dat u 'n 4/4 - 4 bars lus (16 slae) opneem.
U kan die eksterne horlosie deaktiveer deur die "paniek" -knoppie ingedruk te hou as u die lusskakelaar aanskakel.
Kodes word HIER opgelaai. Opmerkings word oral geplaas, sodat u die firmware na u wil kan buig;)
Stap 5: Bedrading
MIDI IN- en MIDI OUT -stroombane word in die aangehegte foto's gerapporteer. Let op dat TX1 en RX1 gebruik word, nie TX0 en RX0 nie.
Arduino DUE -invoerpenne kan nie 5V hanteer nie, maar 3.3V; daarom word 'n H11L1 -optokoppelaar gebruik in plaas van 'n meer algemene 6N138. Ek het bewyse dat die gebruik van 'n 6N138 tesame met 'n spanningsverdeler om die seinspanning na TX1 te verlaag, soos in my eerste prototipe, in sommige opstellings onreëlmatig kan werk.
LED's is verbind met Arduino DUE -uitvoerpenne via 470 Ohm -weerstande. U kan weerstande tot 1K ohm gebruik om die stroom na LED's te verminder en hul helderheid te verminder.
Knoppies/skakelaars/aansluitings is direk gekoppel aan Arduino -invoerpenne danksy ingangspulweerstands, geaktiveer in die skets. Daar is geen behoefte aan eksterne (aftrek) weerstande.
Die optiese encoder is gekoppel aan GND en +5V. Dit gaan na Arduino -invoerpenne wat deur 2 480 ohm weerstande gaan, een vir elke optiese data -uitset.
Arduino DUE word direk gevoed deur 'n 5V -pen en gemaal via 'n +5V DC -hub.
Alle gronde is saamgevoeg.
Aangeheg is 'n tafel met verbindings van arduino -penne na IN/OUT randapparatuur. Arduino -speldnommers weerspieël dié in my proptipe -hardeware en kan ewekansig lyk (soms is dit …). U kan die ligging van die pen in die skets maklik na u wil verander;)
Stap 6: Wat as ek meer as een MIDI -bron het?
Na 'n kort soektog na 'n MIDI -samesmelting, het ek gevind dat die mees praktiese (en goedkoop) oplossing 'n MIDI -skakelaar is.
'N MIDI -skakelaar is 'n passiewe toestel wat 'n MIDI -bron moontlik maak en al die ander bronne uitskakel. So eenvoudig soos dit.
Die hart van 'n MIDI -skakelaar is 'n multi -posisionele (myne is met 6 posisies), 2 -polige skakelaar. Dit is baie belangrik dat die aantal pole '2' is, want elke MIDI -aansluiting moet heeltemal gesny word as dit nie gekies word nie en nie in kommunikasie met die ander nie. Hierby is 'n foto van die een wat ek vir my eie gebruik besef het.
By HIERDIE SKAKEL 'n skema.
Aanbeveel:
DRAAGBARE MINI MULTI-VOLTAGE PSU MET USB, FLITSLAMP, KOMPONENTTESTER EN INGEBOU LADER: 6 stappe
DRAAGBARE MINI-VOLTAGE-PSU MET USB, FLITSLAMP, KOMPONENTTESTER EN INGEBOU LADER: Welkom by my eerste instruksies! Met hierdie instruksies kan u 'n dodgy/cheap solar powerbank (met 'n paar ekstra onderdele) omskep in iets nuttigs. Iets wat u elke dag kan gebruik, net soos ek, want dit is regtig wonderlik om te gebruik! Die meeste van
Arduino Multi Light Controller: 7 stappe (met foto's)
Arduino Multi Light Controller: 'n Kollega en kunstenaar Jim Hobbs was van plan om 'n vrystaande installasie te bou vir 'n uitstalling wat hy saamgestel het. Hierdie installasie sal bestaan uit 8 rakke wat 'n paraboliese vorm vorm. Elkeen van die 8 rakke moes 10 gloeilampe hê
Arduino Uno Multi-LED-projek: 8 stappe
Arduino Uno Multi-LED-projek: Die projek wat ek gekies het om te skep, is 'n beginner-vlak Arduino-skets wat LED's elke 1000 ms (1 sekonde) in 'n opeenvolgende patroon verlig. Ek het dit baie geniet om te leer oor die verskillende maniere waarop verskeie LED's met die Arduino Un gemanipuleer kan word
DIY multi -featured robot met Arduino: 13 stappe (met foto's)
DIY multi -featured robot met Arduino: Hierdie robot is hoofsaaklik gebou om Arduino te verstaan en verskillende projekte van Arduino te kombineer om 'n multi featured Arduino robot te vorm. En verder, wie wil nie 'n troeteldierrobot hê nie? Dus noem ek dit BLUE ROVIER 316. Ek kon 'n pragtige
MIDI 5V LED Strip Light Controller vir die Spielatron of ander MIDI Synth: 7 stappe (met foto's)
MIDI 5V LED Strip Light Controller vir die Spielatron of ander MIDI Synth: hierdie kontroleerder flits drie-kleur LED strookligte vir 50mS per noot. Blou vir G5 tot D#6, rooi vir E6 tot B6 en groen vir C7 tot G7. Die kontroleerder is 'n ALSA MIDI -toestel, sodat MIDI -sagteware op dieselfde tyd na die LED's kan oorgedra word as 'n MIDI synth -toestel