INHOUDSOPGAWE:

Arduino multi-track MIDI lusstasie: 6 stappe
Arduino multi-track MIDI lusstasie: 6 stappe

Video: Arduino multi-track MIDI lusstasie: 6 stappe

Video: Arduino multi-track MIDI lusstasie: 6 stappe
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, November
Anonim
Arduino multi-track MIDI lusstasie
Arduino multi-track MIDI lusstasie
Arduino multi-track MIDI lusstasie
Arduino multi-track MIDI lusstasie
Arduino multi-track MIDI lusstasie
Arduino multi-track MIDI lusstasie

'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

Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
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

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
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?

Wat as ek meer as een MIDI -bron het?
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: