Kazalo:

Arduino MIDI Rhythm Section Sequencer: 8 korakov (s slikami)
Arduino MIDI Rhythm Section Sequencer: 8 korakov (s slikami)

Video: Arduino MIDI Rhythm Section Sequencer: 8 korakov (s slikami)

Video: Arduino MIDI Rhythm Section Sequencer: 8 korakov (s slikami)
Video: Arduino 64 Step Sequencer с минимальным аппаратным обеспечением, адаптированный из Drum Sequencer 2024, Julij
Anonim
Arduino MIDI odsek ritmov
Arduino MIDI odsek ritmov
Arduino MIDI odsek ritmov
Arduino MIDI odsek ritmov
Arduino MIDI odsek ritmov
Arduino MIDI odsek ritmov

Dober programski bobnarski stroj je danes enostaven in poceni, vendar uporaba miške zame ubija zabavo. Zato sem spoznal, kaj je bilo sprva mišljeno kot strojni 64 -stopenjski strojni MIDI sekvenčni boben, ki je sposoben sprožiti do 12 različnih elementov bobna (delov), nato pa se je razvil v sekvencer ritmičnih odsekov …

… No pa gremo!

1. korak: Kako deluje

Ta strojna oprema ne more sama ustvarjati zvokov, ampak samo zaporedje zunanje strojne opreme prek MIDI. To pomeni, da boste potrebovali generator zvoka vaših zvokov bobna (vzorčevalnik ali sintetizator bobnov ali osebni računalnik z vašo najljubšo programsko opremo za bobne ali kar vam je ljubše), ki ga lahko sprožijo sporočila MIDI note.

V glavnem je sestavljen iz matrike 4 x 4 gumbov (z LED), po enega za vsak korak vrstice. Celotno zaporedje 64 korakov je sestavljeno iz 16 korakov, pomnoženih s 4 črticami. Vsak korak je 1/16 zapiska.

Obstajata dva načina delovanja: način v živo in način urejanja.

V načinu urejanja lahko dejansko korak za korakom uredite zaporedje, tako da določite, kateri boben bo igral v vsakem koraku.

Vaš zunanji strojni instrument ("boben") se sproži s pošiljanjem sporočila MIDI "note on" za različne "MIDI note numbers" na številki kanala "10". Privzeto so te številke zapiskov

boben #1 (t.j. kick) -> številka note MIDI "60"

boben #2 (tj. snare) -> številka note MIDI "62"

boben #3 (t.j. klap) -> številka note MIDI "64"

boben #4 (tj. Hihat) -> številka note MIDI "65"

boben #5 -> številka note MIDI "67"

boben #6 -> številka note MIDI "69"

boben #7 -> številka note MIDI "71"

boben #8 -> številka note MIDI "72"

boben #9 -> številka note MIDI "74"

boben #10 -> številka note MIDI "76"

boben #11 -> številka note MIDI "77"

boben #12 -> številka note MIDI "79"

Te vrednosti (in kanal MIDI) v skici lahko spremenite, če želite.

V načinu v živo s pritiskom na gumbe za korake lahko predvajate bobne v živo, povezane z vsakim korakom, tako da pošiljate MIDI sporočila po zaporedju. Svoje pritiske na gumbe in/ali dohodna sporočila MIDI lahko snemate v živo.

Tako v načinu v živo kot v načinu urejanja lahko utišate (ali vklopite) boben, "roll play" trenutno aktivni boben in "swing" zaporedje.

Odsek ritma?

Večina sekvenčnikov bobnov so izključno sprožilci MIDI bobnskih delov, s fiksno številko note MIDI za vsak zvok bobna. V tem primeru imamo "sekvencer ritmičnih odsekov" več kot čisti "sekvenčni sesalnik bobna", ker lahko celo sekvencirate sintetizatorje.

Za več podrobnosti in celoten seznam funkcij preberite VODIČ ZA HITRI ZAČETK.

2. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Ta projekt se izvaja okoli plošče Arduino DUE. Trudil sem se, da je strojna oprema čim bolj enostavna, tj. Izogibanje uporabi gonilnikov LED. Arduino DUE verjetno ni najprimernejša plošča za krmiljenje kopice LED brez gonilnika LED zaradi omejitev izhodnega toka (od 5 mA do 15 mA, odvisno od zatiča), vendar je najhitrejši Arduino in čas je vse, kar je pri obravnavi z zaporedji. Zato ne pozabite, da ta konfiguracija strojne opreme najverjetneje potisne vaš Arduino DUE do meja in bi jo lahko dolgoročno poškodovala.

Kot rečeno, je strojna oprema v glavnem 16 gumbov, 16 LED (po ena za vsak korak) sekvenčnik s 5 dodatnimi gumbi za funkcije in 3 potenciometri. Po dodajanju funkcije snemanja v živo sem dodal tudi rdečo LED.

Tukaj je seznam materialov:

- 1x Arduino DUE

- 16 -kratni gumbi, ki se ne zapirajo, z vgrajenimi LED diodami (po želji lahko uporabite zunanje LED, vendar ne pozabite uporabiti LED z nizko porabo !!)

- 1x rdeča LED (nizka moč!)

- 5 -krat kratki gumbi brez zapiranja

- 3x 10K linearni potenciometri z enim obratom

- 3x 6,5 mm mono vtičnica za montažo na ploščo

- 1x plastično ohišje (uporabil sem ohišje 190x140x70 mm)

- 2x 5-polni DIN vtič za vgradnjo na žensko ploščo (MIDI)

- 1x dvostranska plošča 70x90 mm perf

- 2x 40 -polni moški enoredni zatič (2,54 mm), bolje pozlačen

- 1x optični sklopnik H11L1

- 1x 1N4148 dioda

- 23x 1000 ohmski upori

- 3x 220 ohmski upori

- 2x BC547 pnp tranzistorji

… spajkalna žica, nekaj kablov, spajkalna postaja, vrtalno orodje … in prosti čas:)

Upoštevajte, da so bili gumbi na slikah zaradi nezaslišanega poskakovanja zamenjani z drugo vrsto (še cenejšo …).

Čas, potreben za dokončanje projekta: 8 - 10 ur

OPOZORILO: Med vrtanjem vedno nosite zaščitna očala in rokavice! Vroče kosmiči materiala se lahko projicirajo v oči ali pridejo v stik s kožo in povzročijo opekline ali še hujšo škodo vam ali ljudem okoli vas

3. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Koraki so neposredno povezani z zatiči Arduino od 22 (korak 1) do 37 (korak 16). Gumbi so vezani z marjeticami in povezani z ozemljitvijo Arduino DUE. Vpenjalni ali spustni upori niso potrebni, ker so vgrajeni uporni upori Arduino programsko omogočeni (glej skico).

Enako velja za dodatnih 5 gumbov (Arduino zatiči 2, 3, 4, 5 in 6), ki se uporabljajo za funkcije, ki niso koraki. Vzporedno s tipko "start" sem postavil tudi 6,5 -milimetrski konektor za žensko vtičnico, da sem lahko na daljavo predvajal in ustavil svoje zaporedje.

Svetleče diode so serijsko povezane z ozemljitvijo (marjetica veriga) in Arduino DUE zatiči od 38 (korak #1) do 53 (korak #16) z 1K ohmskim uporom, da omejijo trenutni odtok in ohranijo mikrokrmilnik.

Potenciometri so povezani, kot je prikazano na priloženi sliki. Upoštevajte, da je referenčna napetost 3,3 V, ne 5 V. Uporabljeni vhodi so A0, A1 in A2.

Izvedel sem tudi dva sprožilna izhoda za arpeggio signale, na primer tiste, ki so potrebni za arpegiranje starih 80 -ih, kot sta Korg Polysix in Roland Juno 6/60. Priključeni so na nožice A3 in A4, vendar lahko uporabite digitalne zatiče, če želite digitalne signale. V primeru, da boste sekvencirali sintetizator, združljiv s signali V-Trig (napetostni sprožilec), bo zadosten upor serije 1k ohm za zmanjšanje odtoka toka; v primeru sintetizatorja S-Trig (sprožilec stikala) boste potrebovali preprosto vezje stikala pnp (glejte priloženo shemo).

Vezja MIDI IN in OUT so shematizirana na priloženih slikah. Upoštevajte, da se v nasprotju z večino arduinov Rx1 in Tx1 privzeto uporabljata na ploščah DUE namesto Rx0 in Tx0. To je super, ker lahko naložite svojo skico, ne da bi morali vsakič odklopiti Rx. Upoštevajte tudi, da sem uporabil optični sklopnik H11L1, ker nisem mogel teči, kot bi moral običajni 6N138 znotraj omejitve Arduino DUE 3.3V.

4. korak: Programska oprema

Skica je napisana v Arduino IDE in jo je treba naložiti na ploščo Arduino DUE. Ne bom se spuščal v podrobnosti o tem, kako naložiti skico na vaš arduino DUE. Če je to vaša prva izkušnja z Arduinom DUE, preberite to. Če je to vaša prva izkušnja z arduino IDE, preberite tudi to.

Posodobljeno vdelano programsko opremo lahko prenesete TUKAJ (povezava github).

Skica temelji na odlični knjižnici FortySevenEffects MIDI. Knjižnico boste morali namestiti v arduino IDE.

Izhodne note MIDI, dodeljene vsakemu bobnu, so določene s spremenljivko drumNote [STEPS_NUM] v skici. Po svoji volji jih lahko spremenite.

Številka izhodnega kanala MIDI za bobne je privzeto nastavljena na "10".

V resničnem življenju nisem koder in zagotovo obstajajo boljši načini za kodiranje tega, kar potrebujemo. Če ste kodirnik s kakršnim koli predlogom, ste dobrodošli! Prosim, pošljite mi kakršno koli različico, ki lahko poveča učinkovitost/uspešnost kode in jo bom vključil v glavno skico (očitno citiram sodelavca!).

5. korak: Navodila za hiter začetek

BUBNJI: ZASTOPANJE PO KORAKU

Takoj, ko vklopite sekvencer (ali ga ponastavite), se naloži prazno zaporedje. Sekvencer se zažene v načinu za urejanje, pri čemer je prva palica zadržana/zaklenjena in izbran prvi boben (t.j. kick). To pomeni, da boste s pritiskom na kateri koli gumb za korake tem korakom takoj dodelili "kick". Glasnost, ki jo bo sprožil boben, je nastavljena s položajem potenciometra za glasnost pri dodeljevanju bobna stopnici. S ponovnim pritiskom na prej dodeljeni gumb koraka boste prekinili dodelitev trenutnega bobna na tem koraku.

Če pritisnete gumb "start", vidite, da LED diode tečejo od leve proti desni, od zgoraj navzdol in igrajo "kick" vsakič, ko prečkate korak udarca.

Če držite pritisnjen gumb "shift", boste v 1. vrstici vklopili LED za prvi korak (kar pomeni, da je izbran prvi boben) in LED za prvi korak v četrti vrstici (kar pomeni, da ste zaklenjeni na prvo vrstico). Zdaj lahko spremenite boben, ki ga želite zaporedje, tako da pritisnete drugo tipko za korake, hkrati pa držite pritisnjeno tipko "shift". Ko izberete nov boben, spustite "shift". Vse LED diode se bodo ugasnile (ker novemu bobnu niste dodelili nobenega koraka) in lahko začnete dodeljevati novi boben korakom. Ponovite za vse bobne, ki jih potrebujete (do 12).

Zdaj, ko ste ustvarili lep vzorec, držite pritisnjeno tipko "shift" in izklopite označeni korak v spodnji vrstici (to bi moral biti prvi korak 4. vrstice, če ste sprejeli isto postavitev, ki sem jo uporabil): samo " odklenil "zaporedje, ki bo zdaj potekalo po vseh 4 vrsticah. Spodnje surove LED diode se bodo začele "premikati", kar kaže, kateri stolpec se trenutno predvaja (napredovanje vrstice). Opazili boste, da se bo šele v prvi vrstici predvajalo zaporedje, pri čemer vse ostale 3 vrstice ne bodo oddajale zvokov. To je zato, ker ste bobne dodelili samo prvi vrstici, ostali pa ostanejo prazni. Lahko jih napolnite ročno (izberite novo vrstico s pritiskom na enega od zadnjih štirih gumbov s koraki, hkrati pa držite pritisnjeno tipko "shift", izberite enega od bobnov, napolnite korake itd.) Ali kopirajte in prilepite zaporedje vrstic, ki ste ga ustvarili na vse vrstice tako, da vstopite v način urejanja (znova zaklenite na prvo vrstico) in pritisnete »zapis« (ki zdaj prevzame funkcijo »prilepi«), hkrati pa držite pritisnjeno tipko »shift«. Lažje narediti kot rečeno.

BUBANI: NAČIN IGRE V ŽIVO

Ob zagonu je sekvencer v načinu urejanja. Če želite zapustiti način urejanja, morate držati pritisnjeno tipko "shift" in pritisniti trenutno postavljeno/zaklenjeno vrstico (vklopljen je gumb za korak v 4. vrstici). To bo ugasnilo LED predhodno zaklenjene vrstice in odklenilo zaporedje. Zdaj ste v načinu predvajanja v živo.

V načinu predvajanja v živo se s pritiskom na kateri koli gumb za korak sproži boben, povezan s tem gumbom.

Če želite posneti zaporedje v živo, začnite zaporedje s pritiskom na "play", nato pritisnite gumb "record" (samo v načinu predvajanja v živo). Prižgala se bo rdeča LED. Posneto bo vaše igranje na matrici nadzorne plošče zaporedja bobnov ali katero koli dohodno sporočilo o zapisu MIDI (npr. Z zunanje tipkovnice MIDI).

Druge funkcije

S pritiskom na gumb "roll" se bo na vsakem koraku (v zvitku) predvajal trenutno aktivni boben. To deluje tako v načinih "korak za korakom" kot v načinu "igra v živo".

Če pritisnete kateri koli gumb za korak in hkrati držite gumb za izklop zvoka, bo boben, povezan s tem korakom, izklopljen (ali vklopljen). To deluje tako v načinih "korak za korakom" kot v načinu "igra v živo".

Določeno zaporedje bobna lahko počistite tako, da pritisnete gumb za ustrezen korak, hkrati pa držite gumb "REC".

Celotno zaporedje (mehka ponastavitev) lahko počistite tako, da pritisnete gumb za zagon več kot 3 sekunde.

Zaporedje lahko "zavrtite" z obračanjem potenciometra "zamah".

MIDI odmev lahko onemogočite/omogočite tako, da pritisnete gumb za izklop zvoka in hkrati pritisnete gumb za premik. Ko je odmev MIDI omogočen (privzeto), bodo vse informacije, ki so prisotne na vhodu MIDI INPUT, poslane v priključek MIDI OUTPUT (odmevajo samo opombe MIDI, opomba izključena, upogibanje višine tona, naknadni dotik in sprememba nadzora).

Vhod in izhod ure MIDI sta privzeto omogočena in omogočena. Če vhod ure ni sprejet, se tempo nastavi z namenskim potenciometrom. Če je sprejet vhod ure MIDI, se od tega izračuna tempo in potenciometer za tempo se ne odziva. MIDI ura je vedno poslana na izhod MIDI.

6. korak: Oddelek za ritem

Prvotna zamisel je bil "čisti" 64 -stopenjski MIDI bobnarski sekvencer za zaporedje do 12 neodvisnih delov bobna. Po nekaj preizkušanjih sem opazil, da bi bilo lepo nadzorovati tudi nizkotonce, zato sem funkcijo spremenljive višine tona na korak dodelil samo najnovejšemu bobnu. Po tem sem kodo znova spremenil, tako da sem lahko spremenil višino v vsakem bobnu in nadzoroval do 12 sintetizatorjev. Kasneje sem dodal še revizijo (polifonija na sintetizator je privzeto omejena na 3).

Da povzamem:

- če ste v načinu LIVE, če je snemanje v živo in se zaporedje začne, lahko dohodna sporočila o zapisih MIDI snemate večglasno. Podatki o višini in glasnosti bodo shranjeni. Informacije o upogibanju in naknadnem stiku se izgubijo. Sporočila MIDI Control Change bodo shranjena. Upoštevajte, da imate na en kanal samo eno režo CC na korak.

- Če je zaporedje ustavljeno, lahko na določen korak določene vrstice posnamete do 3 vrednosti višine tona (akord), tako da držite pritisnjeno tipko ciljnega koraka in pritisnete (hkrati ali eno za drugo) želene tipke na tipkovnico, priključeno na vrata MIDI IN.

Upoštevajte, da:

- opomba, sprožena na koraku, se "ubije" že na naslednjem koraku. Če želite povečati dolžino note, delujte na "sprostitvenem" parametru VCA vašega sintetizatorja.

- v nasprotju z bobni, zapisov ni mogoče predvajati v zvitku s pritiskom na gumb "roll".

- Pri snemanju v živo se podatki o dohodnem kanalu MIDI shranijo v relativnem koraku "boben" (kanal MIDI #1 -> "boben" #1 in tako naprej).

Določeno zaporedje sintetizatorja lahko počistite tako, da pritisnete gumb za ustrezen korak "boben", hkrati pa držite gumb "REC". Ponovni pritisk bo izbrisal tudi zaporedje bobnov. Če je bilo posneto zaporedje CC, se to najprej izbriše, nato pa sledi vrstnemu redu CC -> Synth -> Drum

7. korak: Sprožilci Arpeggio

Zgodovinski osemdesetih let pred MIDI sintetizatorji so pogosto opremljeni z včasih imenovanim "vhodom za sprožitev arpeđa". S pošiljanjem sprožilnega signala 2,5 do 5,0 V (V-sprožilec ali "napetostni sprožilec") ali z ozemljitvijo vhoda sprožilca arpeggio (S-Trig ali "stikalo za stikalo") lahko sintetizatorju poveste, da napreduje za en korak v zaporedju arpeggio. To bi lahko bilo težko upravljati z zaporedjem brez namenskega sprožilca (včasih se zvoki "rimshot" iz namenskega izhoda, kjer/se uporabljajo kot primerni za sintetizatorje V-trig), vendar z mikrokrmilno ploščo lahko preprosto upravljate tak signal in nadzor vaš sintetični arpeggio, kot je bilo mišljeno v tovarni.

Ta sekvencer za ritmične odseke vključuje možnost, da neodvisno sproži arpeggiator dveh različnih sintetizatorjev.

Uporaba je zelo enostavna: izberite boben 11 ali 12 (pritisnite korak 11 ali 12, medtem ko pritisnete "shift") in aktivirajte korake, ki jih želite arpeggiator premakniti za en korak. Na ta način lahko "zelo težko" programirate 1/16 redne arpeggio dolžine note z aktiviranjem vseh korakov ali 1/8 z aktiviranjem vseh drugih korakov. Poleg tega lahko zapletene arpeggio programirate tako, da aktivirate korake po nenavadni poti.

Odvisno od vrste sprožilnega signala, ki ga podpira sintetizator, ki ga želite nadzorovati, boste potrebovali preprosto spremembo strojne opreme: v primeru V-trig (tj. Rolandovih sintetizatorjev) zaporedoma postavite 1 Kohm upor z izhodom sprožilca arduino. V primeru S-trig (tj. Korgovih sintetizatorjev) uporabite shemo, pritrjeno na korak "ožičenja", za sprožilec varnega stikala.

8. korak: Če stvari ne delujejo …

Tudi tako razmeroma preprost projekt, kot je ta, najverjetneje ne bo deloval 100%, ko ga prvič vklopite. Tu je na primer pomembna prisotnost med gumbi in LED diodami, zaradi neustreznega ožičenja pa bo sekvencer neuporaben.

Da bi preizkusil vse različne komponente, ki sestavljajo zaporedje korakov, sem napisal preprosto preskusno skico (glej prilogo).

Najnovejšo testno vdelano programsko opremo lahko prenesete TUKAJ (povezava GitHub).

Preskusna skica deluje na naslednji način:

- pritisnite gumb za korak: ustrezna LED dioda se mora prižgati in na MIDI izhod bo poslano obvestilo MIDI na kanalu 10.

- pritisnite funkcijski gumb: vklopi se ena od prvih 5 LED.

-obrnite potenciometer: LED -diode se bodo ustrezno prižgale (prvi lonec -> prva vrstica LED, druga posoda -> druga vrstica LED, tretja posoda -> tretja vrstica LED).

- če prejmete opombo MIDI, bo prva LED utripala.

Upoštevajte, da je odmev MIDI privzeto omogočen. To pomeni, da če imate zanko MIDI med sintetizatorjem in MRSS, bi to lahko povzročilo težave (večkrat sem doživel predvidljivo dvojno noto, sprožilo pa se je tudi zelo nizko število zapiskov in na splošno neodzivna vgrajena tipkovnica s sintetizatorji z MIDI deluje kot MIDI Throu … odvisno od sintetizatorja). V tem primeru onemogočite MIDI odmev tako, da pritisnete gumb za izklop zvoka, hkrati pa držite pritisnjen gumb za premik.

Priporočena: