Obsah:

Sekvencer sekcie rytmu MIDI Arduino: 8 krokov (s obrázkami)
Sekvencer sekcie rytmu MIDI Arduino: 8 krokov (s obrázkami)

Video: Sekvencer sekcie rytmu MIDI Arduino: 8 krokov (s obrázkami)

Video: Sekvencer sekcie rytmu MIDI Arduino: 8 krokov (s obrázkami)
Video: Casio SA-2 - Разбираем, мидируем, бендим 2024, Júl
Anonim
Sekvencer sekcie rytmu MIDI Arduino
Sekvencer sekcie rytmu MIDI Arduino
Sekvencer sekcie rytmu MIDI Arduino
Sekvencer sekcie rytmu MIDI Arduino
Sekvencer sekcie rytmu MIDI Arduino
Sekvencer sekcie rytmu MIDI Arduino

Mať dobrý softvérový bicie stroj je dnes jednoduché a lacné, ale používanie myši pre mňa predstavuje zábavu. Preto som si uvedomil, čo bolo pôvodne zamýšľané ako 64 -stupňový hardvérový MIDI bubnový sekvencer schopný spustiť až 12 rôznych bicích prvkov (častí), ale potom som sa vyvinul v sekvencer rytmickej sekcie …

… ideme na to!

Krok 1: Ako to funguje

Tento hardvér nemôže sám vytvárať zvuky, ale iba sekvencovať externý hardvér prostredníctvom MIDI. To znamená, že budete potrebovať zvukový generátor zvukov bicích (sampler alebo syntetizátor bicích nástrojov alebo počítač s vašim obľúbeným softvérom pre bicie alebo čokoľvek, čo uprednostňujete) schopný spustenia pomocou MIDI správ s poznámkami.

Skladá sa hlavne z matice 4 x 4 tlačidiel (s diódami LED), jednej pre každý krok lišty. Celá 64 kroková sekvencia je tvorená 16 krokmi vynásobenými 4 čiarami. Každý krok je 1/16 poznámky.

Existujú dva režimy prevádzky: živý režim a režim úprav.

V režime úprav môžete vlastne krok za krokom upravovať svoju sekvenciu definovaním, ktorý bubon bude hrať v každom kroku.

Váš externý hardvérový nástroj („bubon“) sa spustí odoslaním správy MIDI „not on“pre rôzne „čísla MIDI not“na kanáli číslo „10“. Štandardne sú tieto čísla poznámok

bubon č. 1 (t. j. kop) -> MIDI notové číslo „60“

bubon č. 2 (t. j. osídlo) -> MIDI notové číslo „62“

bubon č. 3 (t. j. tlesknutie) -> MIDI notové číslo „64“

bubon č. 4 (t.j. Hihat) -> MIDI notové číslo „65“

bubon č. 5 -> MIDI číslo poznámky „67“

bubon č. 6 -> MIDI číslo poznámky „69“

bubon č. 7 -> číslo MIDI poznámky „71“

bubon č. 8 -> MIDI číslo poznámky „72“

bubon č. 9 -> MIDI poznámka číslo „74“

bubon č. 10 -> číslo MIDI poznámky „76“

bubon #11 -> MIDI poznámka číslo „77“

bubon #12 -> MIDI poznámka číslo „79“

Tieto hodnoty (a MIDI kanál) v náčrte môžete zmeniť, ak chcete.

V živom režime stlačením krokových tlačidiel môžete naživo hrať na bicie súvisiace s každým krokom odosielaním MIDI správ prostredníctvom sériovej linky. Môžete naživo nahrávať stlačenia tlačidiel a/alebo prichádzajúce správy MIDI.

V živom režime aj v režime úprav môžete stlmiť (alebo zrušiť stlmenie) bubna, „prehrávať roll“aktuálne aktívny bubon a „hojdať“svoju sekvenciu.

Sekcia rytmu?

Väčšina bicích sekvencerov sú čisto MIDI spúšťače častí bicích s pevným číslom MIDI noty pre každý zvuk bicích. V tomto prípade máme „sekvencer sekcií rytmu“viac ako čistý „sekvencer sekvencie“, pretože môžete dokonca sekvencovať syntetizátory.

Prečítajte si PRÍRUČKU RÝCHLEHO SPUSTENIA, kde nájdete ďalšie podrobnosti a úplný zoznam funkcií.

Krok 2: Hardvér

Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér

Tento projekt je realizovaný okolo dosky Arduino DUE. Pokúsil som sa udržať hardvér čo najjednoduchší, t.j. vyhnúť sa použitiu ovládačov LED. Arduino DUE pravdepodobne nie je najvhodnejšou doskou na prácu s množstvom diód LED bez ovládača LED, pretože má limity výstupného prúdu (od 5 mA do 15 mA, v závislosti od kolíka), ale je to najrýchlejšie Arduino a načasovanie je všetko, čo sa deje. so sekvencermi. Majte preto na pamäti, že TÁTO hardvérová konfigurácia pravdepodobne tlačí váš Arduino DUE na svoje limity a môže ho poškodiť z dlhodobého hľadiska.

Ako už bolo povedané, hardvér je hlavne 16 tlačidiel, 16 LED (jeden pre každý krok) sekvencer s 5 ďalšími tlačidlami pre funkcie a 3 potenciometre. Po pridaní funkcie živého nahrávania som tiež pridal červenú LED.

Tu je kusovník:

- 1x Arduino DUE

- 16x okamžité, nezablokujúce sa tlačidlá s integrovanými diódami LED (ak chcete, môžete použiť externé diódy LED, ale nezabudnite použiť diódy LED s nízkym výkonom !!)

- 1x červená LED (nízky výkon!)

- 5x okamžité, nezablokujúce sa tlačidlá

- 3x 10K jednootáčkových, lineárnych, potenciometrov

- 3x 6,5 mm monofónna zásuvka pre montáž na panel

- 1x plastové puzdro (použil som puzdro 190x140x70 mm)

- 2x 5-kolíkový konektor DIN pre montáž na panel (MIDI)

- 1x obojstranná doštička 70x90 mm

- 2x 40 -pinový zástrčkový pásik s jedným radom kolíkov (2,54 mm), lepšie ak je pozlátený

- 1x optočlen H11L1

- 1x dióda 1N4148

- 23x 1000 ohmové odpory

- 3x 220 ohmový odpor

- 2x tranzistory BC547 pnp

… spájkovací drôt, niektoré káble, spájkovacia stanica, vŕtací nástroj … a voľný čas:)

Všimnite si prosím, že tlačidlá na obrázkoch boli nahradené iným typom (ešte lacnejších …) tlačidiel z dôvodu poburujúceho poskakovania …

Čas potrebný na dokončenie projektu: 8 - 10 hodín

UPOZORNENIE: Pri vŕtaní VŽDY noste ochranné okuliare a rukavice! Horké úlomky materiálu môžu byť premietané do vašich očí alebo môžu prísť do kontaktu s vašou pokožkou a spôsobiť popáleniny alebo dokonca vážnejšie poškodenie vás alebo ľudí vo vašom okolí

Krok 3: Zapojenie

Vodiče
Vodiče
Vodiče
Vodiče
Vodiče
Vodiče

Krokové tlačidlá sú priamo pripojené k pinom Arduino od 22 (krok 1) do 37 (krok16). Uzemnenie tlačidiel je zapojené do reťaze a je pripojené k zemi Arduino DUE. Nie je potrebné používať vyťahovacie alebo rozbaľovacie odpory, pretože integrované výsuvné odpory Arduino majú povolený softvér (pozri náčrt).

To isté platí pre ďalších 5 tlačidiel (kolíky Arduino 2, 3, 4, 5 a 6), ktoré sa používajú pre iné funkcie ako kroky. Paralelne s tlačidlom „štart“som umiestnil aj 6,5 mm konektor jack, aby som mohol na diaľku prehrávať a zastavovať svoje sekvencie.

LED diódy sú pripojené k uzemneniu (reťazec) a pinov Arduino DUE od 38 (krok č. 1) do 53 (krok č. 16) v sérii s odporom 1 K ohm, aby sa obmedzil odtok prúdu a zachoval sa mikrokontrolér.

Potenciometre sú zapojené podľa obrázku. Všimnite si, že referenčné napätie je 3,3 V, nie 5 V. Použité vstupy sú A0, A1 a A2.

Implementoval som tiež dva spúšťacie výstupy pre signály arpeggia, ako sú tie, ktoré sú potrebné na arpegáciu starého syntetizátora 80. rokov, ako sú Korg Polysix a Roland Juno 6/60. Sú pripojené k pinom A3 a A4, ale môžete použiť digitálne piny, ak dávate prednosť digitálnym signálom. V prípade, že sa chystáte sekvencovať syntetizátor kompatibilný so signálmi V-Trig (spúšťač napätia), bude postačovať rezistor s odporom 1 kOhm na zníženie súčasného odtoku; v prípade syntetizátora S-Trig (spínač spúšte) budete potrebovať jednoduchý obvod prepínača pnp (pozri priloženú schému).

Obvody MIDI IN a OUT sú schematizované na priložených obrázkoch. Všimnite si toho, že na rozdiel od väčšiny arduinov sú Rx1 a Tx1 predvolene používané na doskách DUE namiesto Rx0 a Tx0. Je to skvelé, pretože môžete načítať svoju skicu bez toho, aby ste museli Rx vždy odpojovať. Všimnite si tiež, že som použil optočlen H11L1, pretože som nemohol bežať tak, ako by mal bežný 6N138 v rámci limitu Arduino DUE 3.3V.

Krok 4: Softvér

Náčrt bol napísaný v IDE Arduino a musí byť nahraný na vašu dosku Arduino DUE. Nebudem zachádzať do podrobností o tom, ako nahrať skicu do svojho arduina DUE. Ak je to vaša prvá skúsenosť s Arduino DUE, prečítajte si to. Ak je to vaša prvá skúsenosť s arduino IDE, prečítajte si to tiež.

Aktualizovaný firmvér si môžete stiahnuť TU (odkaz na github).

Náčrt spolieha na vynikajúcu MIDI knižnicu FortySevenEffects. Knižnicu budete musieť nainštalovať do svojho arduino IDE.

MIDI výstupné poznámky priradené každému bubnu sú definované premennou drumNote [STEPS_NUM] v náčrte. Môžete ich ľubovoľne meniť.

Číslo kanála MIDI výstupu pre bicie je predvolene nastavené na „10“.

Nie som programátor v skutočnom živote a určite existujú lepšie spôsoby, ako kódovať to, čo tu potrebujeme. Ak ste kodér s akýmkoľvek návrhom, ste vítaní! Pošlite mi prosím akúkoľvek variáciu, ktorá môže zvýšiť účinnosť/efektivitu kódu, a ja ho zaradím do hlavného náčrtu (samozrejme s odvolaním sa na prispievateľa!).

Krok 5: Stručná príručka

BUBNY: SEKVENCIA KROK ZA KROKOM

Hneď ako zapnete sekvencer (alebo ho resetujete), načíta sa prázdna sekvencia. Sekvencer sa spustí v režime úprav, pričom prvá lišta je podržaná/zablokovaná a je vybratý prvý bubon (tj. Kop). To znamená, že stlačením akéhokoľvek tlačidla kroku týmto krokom okamžite priradíte „kop“. Hlasitosť, ktorou sa bubon spustí, je nastavená polohou potenciometra „hlasitosti“pri priradení bubna ku kroku. Opätovným stlačením predtým priradeného tlačidla kroku zrušíte priradenie aktuálneho bubna k tomuto kroku.

Ak stlačíte tlačidlo „štart“, vaše diódy LED začnú bežať zľava doprava, zhora nadol a hrať „kop“, kedykoľvek prejdete krokom kopu.

Podržaním stlačeného tlačidla „shift“sa rozsvieti kontrolka LED 1. kroku v 1. rade (to znamená, že je vybratý prvý bubon) a dióda LED prvého kroku vo štvrtom rade (to znamená, že ste uzamknutí v prvom pruhu). Teraz môžete zmeniť bubon, ktorý chcete sekvenovať, stlačením tlačidla ďalšieho kroku, pričom držte stlačené tlačidlo „shift“. Po výbere nového bubna uvoľnite „shift“. Všetky LED diódy zhasnú (pretože ste novému bubnu nepriradili žiadny krok) a môžete začať priraďovať nový bubon ku krokom. Opakujte pre všetky bubny, ktoré potrebujete (až 12).

Teraz, keď ste vytvorili pekný vzor, podržte stlačené „shift“a vypnite vysoko zarovnaný krok v dolnom rade (mal by to byť prvý krok 4. radu, ak ste prijali rovnaké rozloženie, aké som použil): máte len „ odomknutý “postupnosť, ktorá teraz prejde všetkými 4 pruhmi. Spodné surové LED diódy sa začnú „pohybovať“, čo indikuje, ktorá lišta sa práve hrá (priebeh lišty). Všimnete si, že iba vtedy, keď v prvom takte bude hrať sekvencia, pričom všetky ostatné 3 takty nebudú generovať žiadne zvuky. Dôvodom je, že ste priradili bubny iba k prvému taktu, ostatné zostali prázdne. Môžete ich vyplniť ručne (vyberte novú lištu stlačením jedného z posledných 4 krokových tlačidiel, pričom držte stlačené „shift“, vyberte jeden z bubnov, vyplňte kroky atď. Atď.) Alebo skopírujte a prilepte sekvenciu pruhov, ktorú ste vytvorili na všetky pruhy tak, že vstúpite do režimu úprav (znova sa uzamknete na prvú lištu) a stlačíte „záznam“(ktorý teraz preberá funkciu „vložiť“) a súčasne stlačíte „posun“. Ľahšie sa to robí, ako sa hovorí.

BUBNY: REŽIM ŽIVÉHO HRANIA

Pri spustení je sekvencer v režime úprav. Ak chcete opustiť režim úprav, podržte stlačené tlačidlo „Shift“a súčasne stlačte a podržte tlačidlo lišty (tlačidlo kroku v 4. rade je zapnuté). Tým sa vypne kontrolka LED predtým uzamknutej lišty a odomkne sa sekvencia. Teraz ste v režime živého prehrávania.

V režime živého prehrávania sa stlačením akéhokoľvek tlačidla kroku spustí bubon priradený k tomuto tlačidlu.

Ak chcete nahrať svoju sekvenciu naživo, spustite sekvenciu stlačením tlačidla „prehrať“a potom stlačte tlačidlo „nahrať“(iba v režime živého prehrávania). Rozsvieti sa červená LED dióda. Zaznamená sa vaše hranie na matici ovládacieho panela bicích sekvencerov alebo akákoľvek prichádzajúca správa MIDI (napr. Z externej MIDI klávesnice).

Ďalšie funkcie

Stlačením tlačidla „roll“sa v každom kroku (v hode) bude hrať aktuálne aktívny bubon. Funguje to v režimoch „krok za krokom“aj „naživo“.

Stlačením ľubovoľného tlačidla kroku a súčasným podržaním tlačidla „stlmiť“sa bubon priradený k tomuto kroku stlmí (alebo vypne). Funguje to v režimoch „krok za krokom“aj „naživo“.

Špecifickú sekvenciu valcov môžete vymazať stlačením tlačidla relatívneho kroku, pričom držte stlačené tlačidlo „REC“.

Celú sekvenciu (mäkký reset) môžete vymazať podržaním stlačeného tlačidla „štart“na viac ako 3 sekundy.

Svoju sekvenciu môžete „hojdať“otáčaním potenciometra „hojdačky“.

MIDI echo môžete vypnúť/povoliť stlačením tlačidla „stlmiť“a súčasne podržať tlačidlo „posunúť“. Keď je povolené MIDI echo (predvolené), všetky informácie, ktoré sú prítomné na konektore MIDI INPUT, budú odoslané do konektora MIDI OUTPUT (ozve sa iba MIDI nota zapnutá, nota vypnutá, ohyb tónu, aftertouch a zmena ovládania).

Vstup a výstup MIDI hodín sú štandardne implementované a povolené. V prípade, že nie je prijatý žiadny hodinový vstup, tempo sa nastaví špeciálnym potenciometrom. V prípade prijatia vstupu MIDI hodín sa z toho vypočíta tempo a potenciometer tempa nebude reagovať. MIDI hodiny sú vždy odoslané do MIDI výstupu.

Krok 6: Sekcia rytmu

Pôvodný nápad bol „čistý“64 -stupňový MIDI sekvencer bicích na sekvenovanie až 12 nezávislých častí bicích. Po niekoľkých testovaniach som si všimol, že by bolo pekné ovládať aj basovú linku, a funkciu premenlivej výšky tónu na krok som priradil iba najnovšiemu bubnu. Potom som znova upravil kód, aby som mohol zmeniť výšku v každom bubne a ovládať až 12 syntetizátorov. O revíziu neskôr som pridal polyfóniu (polyfónia na syntetizátor je v predvolenom nastavení obmedzená na 3).

Sumarizovať:

- v režime LIVE, ak je zapnuté LIVE nahrávanie a je spustená sekvencia, môžete prichádzajúce správy MIDI s poznámkami nahrávať polyfónne. Informácie o výške a objeme budú uložené. Informácie o zákrute a prítlaku sa stratia. Správy o zmene MIDI ovládania budú uložené. Majte na pamäti, že máte iba jeden slot CC na kanál, na krok.

- Ak je sekvencia zastavená, môžete nahrať až 3 hodnoty výšky tónu (akord) na konkrétny krok konkrétnej lišty podržaním stlačeného tlačidla cieľového kroku a stlačením (súčasne alebo jeden po druhom) požadovaných klávesov na klávesnica pripojená k portu MIDI IN.

Všimni si:

- nota spustená na kroku je „zabitá“hneď v nasledujúcom kroku. Ak chcete predĺžiť notu, konajte podľa parametra „release“VCA svojho syntetizátora.

- na rozdiel od bicích nie je možné hrať noty v hode stlačením tlačidla „hodiť“.

- Pri nahrávaní NAŽIVO sú údaje prichádzajúceho MIDI kanála uložené v príslušnom kroku „drum“(kanál MIDI č. 1 -> „bubon“č. 1 a tak ďalej).

Špecifickú sekvenciu syntetizátora môžete vymazať stlačením príslušného tlačidla kroku „bubon“, pričom držte stlačené tlačidlo „REC“. Ďalším stlačením vymažete aj sekvenciu valca. Ak bola zaznamenaná sekvencia CC, bude to prvé, ktoré bude vymazané, potom podľa poradia CC -> Synth -> Drum

Krok 7: Spúšťače Arpeggio

Syntezátory pre-MIDI začiatku 80. rokov sú často vybavené niekedy nazývaným „vstupný signál arpeggia“. Odoslaním signálu Trig od 2,5 do 5,0 V (V-trig alebo „napäťový spúšťač“) alebo uzemnením vstupu spúšte arpeggia (S-Trig alebo „spínací spínač“) môžete syntetizátoru povedať, aby postúpil o jeden krok v sekvencii arpeggia. To môže byť ťažké zvládnuť pomocou sekvencera bez vyhradeného spúšťača (niekedy „rimshot“zvuky z vyhradeného miesta, kde/sa používajú ako účelné pre syntetizátory V-trig), ale s doskou mikrokontroléra môžete taký signál a ovládanie jednoducho spravovať vaše syntetizátorové arpeggio tak, ako to bolo určené v továrni.

Tento sekvencer rytmickej sekcie obsahuje možnosť spustiť arpeggiator dvoch rôznych syntetizátorov nezávisle.

Použitie je veľmi jednoduché: zvoľte bubon 11 alebo 12 (stlačením kroku 11 alebo 12 stlačte tlačidlo „shift“) a aktivujte kroky, ktorými sa má arpeggiator posúvať o jeden krok. Týmto spôsobom môžete „naprogramovať“veľmi tesné 1/16 štandardného arpeggia s dĺžkou noty aktiváciou všetkých krokov alebo 1/8 aktiváciou každého ďalšieho kroku. Zložitejšie arpeggia môžete navyše programovať aktiváciou krokov po nepravidelnej ceste.

V závislosti od typu spúšťacieho signálu podporovaného syntetizátorom, ktorý chcete ovládať, budete potrebovať jednoduchú hardvérovú úpravu: v prípade V-trig (tj. Rolandových syntetizátorov) umiestnite odpor 1 Kohm do série s výstupom arduino spúšte. V prípade S-trig (tj. Korgových syntetizátorov) použite shematic pripojený ku kroku „zapojenia“na bezpečné spustenie spínača.

Krok 8: Ak veci nefungujú …

Aj relatívne jednoduchý projekt, ako je tento, s najväčšou pravdepodobnosťou nebude fungovať 100% pri prvom zapnutí. V tomto prípade je napríklad správna súlad medzi tlačidlami a diódami LED a neporovnateľné zapojenie spôsobí, že sekvencer bude nepoužiteľný.

Aby som otestoval všetky rôzne súčasti krokového sekvencera, napísal som jednoduchý testovací náčrt (pozri prílohu).

Najnovší testovací firmvér si môžete stiahnuť TU (odkaz na GitHub).

Testovací náčrt funguje nasledovne:

- stlačte tlačidlo krok: príslušná LED dióda by sa mala rozsvietiť a na MIDI výstup sa odošle MIDI nota na kanáli 10.

- stlačte funkčné tlačidlo: rozsvieti sa jedna z prvých 5 diód LED.

-otočte potenciometer: LED diódy sa rozsvietia podľa toho (prvý hrniec -> prvý riadok LED, druhý hrniec -> druhý riadok LED, tretí hrniec -> tretí riadok LED).

- ak je prijatá MIDI nota, prvá LED dióda bliká.

Majte na pamäti, že MIDI echo je predvolene povolené. To znamená, že ak máte MIDI slučku medzi syntetizátorom a MRSS, mohlo by to spôsobiť problémy (väčšinou som zažil predvídateľný dvojitý tón, ale tiež spustené veľmi nízke tóny a v zásade nereagujúca vstavaná klávesnica so syntetizátormi s MIDI vystupovať ako MIDI Throu … závisí to od syntetizátora). Ak je to tak, vypnite MIDI echo stlačením tlačidla "stlmiť" a súčasne podržte stlačené tlačidlo "shift".

Odporúča: