Turinys:

„Arduino MIDI“ritmo sekos sekvenatorius: 8 žingsniai (su nuotraukomis)
„Arduino MIDI“ritmo sekos sekvenatorius: 8 žingsniai (su nuotraukomis)

Video: „Arduino MIDI“ritmo sekos sekvenatorius: 8 žingsniai (su nuotraukomis)

Video: „Arduino MIDI“ritmo sekos sekvenatorius: 8 žingsniai (su nuotraukomis)
Video: Генератор ритмических паттернов Arduino 8x8 Gate Sequencer с двумя поворотными энкодерами и OLED- 2024, Liepa
Anonim
„Arduino MIDI“ritmo sekos sekų kūrėjas
„Arduino MIDI“ritmo sekos sekų kūrėjas
„Arduino MIDI“ritmo sekos sekų kūrėjas
„Arduino MIDI“ritmo sekos sekų kūrėjas
„Arduino MIDI“ritmo sekos sekos parinkiklis
„Arduino MIDI“ritmo sekos sekos parinkiklis

Turėti gerą programinės įrangos būgno mašiną šiandien yra paprasta ir pigu, tačiau pelės naudojimas man žudo. Štai kodėl aš supratau, kas iš pradžių buvo skirta kaip grynas 64 žingsnių aparatinės įrangos MIDI būgnų sekų sekimo įrenginys, galintis suaktyvinti iki 12 skirtingų būgno elementų (dalių), bet vėliau išsivystė ritmo sekos sekos keitiklyje…

… Štai mes!

1 žingsnis: kaip tai veikia

Ši aparatūra negali savarankiškai generuoti garsų, o tik sekti išorinę aparatūrą per MIDI. Tai reiškia, kad jums reikės būgno garsų garso generatoriaus (mėginių ėmiklio ar būgno sintezatoriaus arba kompiuterio su mėgstama būgno programine įranga ar bet kokios kitos), kurį gali suaktyvinti pranešimai apie MIDI.

Jį daugiausia sudaro 4 x 4 mygtukų matrica (su šviesos diodais), po vieną kiekvienam juostos žingsniui. Visa 64 žingsnių seka susideda iš 16 žingsnių, padaugintų iš 4 juostų. Kiekvienas žingsnis yra 1/16 natos.

Yra du veikimo režimai: tiesioginis ir redagavimo režimas.

Redagavimo režimu iš tikrųjų galite žingsnis po žingsnio redaguoti savo seką, nustatydami, kuris būgnas gros kiekviename žingsnyje.

Jūsų išorinis aparatūros instrumentas („būgnas“) suaktyvinamas siunčiant pranešimą MIDI „pastabą apie“skirtingiems „MIDI užrašų numeriams“kanalo numeriu „10“. Pagal numatytuosius nustatymus šie užrašų numeriai yra

būgnas Nr. 1 (t.y. smūgis) -> MIDI užrašo numeris „60“

būgnas Nr. 2 (t. y. spąstai) -> MIDI užrašo numeris „62“

būgnas Nr. 3 (t. y. plojimas) -> MIDI užrašo numeris „64“

būgnas #4 (t.y. Hihat) -> MIDI užrašo numeris „65“

būgnas #5 -> MIDI užrašo numeris „67“

būgnas #6 -> MIDI užrašo numeris „69“

būgnas #7 -> MIDI užrašo numeris „71“

būgnas #8 -> MIDI užrašo numeris „72“

būgnas #9 -> MIDI užrašo numeris „74“

būgnas #10 -> MIDI užrašo numeris „76“

būgnas #11 -> MIDI užrašo numeris „77“

būgnas #12 -> MIDI užrašo numeris „79“

Jei norite, eskize galite pakeisti šias reikšmes (ir MIDI kanalą).

Tiesioginiu režimu, paspausdami žingsnių mygtukus, galite tiesiogiai groti būgnus, susietus su kiekvienu žingsniu, siunčiant MIDI pranešimus serijiniu būdu. Galite tiesiogiai įrašyti mygtukų paspaudimus ir (arba) gaunamus MIDI pranešimus.

Tiek tiesioginiu, tiek redagavimo režimu galite nutildyti (arba įjungti) būgną, „paleisti ritinį“šiuo metu aktyvų būgną ir „pasukti“savo seką.

Ritmo skyrius?

Dauguma būgnų sekų yra tik MIDI būgno dalių paleidikliai, turintys fiksuotą MIDI natų numerį kiekvienam būgno garsui. Šiuo atveju mes turime „ritmo sekos seką“daugiau nei gryną „būgno seką“, nes jūs netgi galite sekti sintezatorius.

Norėdami gauti daugiau informacijos ir išsamų funkcijų sąrašą, perskaitykite GREITO PRADŽIO VADOVĄ.

2 žingsnis: Aparatūra

Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga

Šis projektas įgyvendinamas aplink „Arduino DUE“plokštę. Stengiausi, kad aparatūra būtų kuo paprastesnė, t.y. vengdama naudoti LED tvarkykles. „Arduino DUE“greičiausiai nėra pati tinkamiausia plokštė, skirta valdyti daugybę šviesos diodų be LED tvarkyklės, nes jos išėjimo srovės ribos (nuo 5 mA iki 15 mA, priklausomai nuo kaiščio), tačiau tai yra greičiausias „Arduino“ir laikas yra viskas, kai reikia spręsti su sekėjais. Taigi, atminkite, kad ši aparatūros konfigūracija greičiausiai stumia jūsų „Arduino DUE“į ribas ir ilgainiui gali ją sugadinti.

Tai reiškia, kad aparatinė įranga daugiausia yra 16 mygtukų, 16 šviesos diodų (po vieną kiekvienam žingsniui) sekos, su 5 papildomais funkcijų mygtukais ir 3 potenciometrais. Pridėjus tiesioginio įrašymo funkciją, taip pat pridėjau raudoną šviesos diodą.

Štai medžiagų sąrašas:

- 1x „Arduino DUE“

- 16 kartų momentiniai, neužsifiksuojantys mygtukai su integruotais šviesos diodais (jei norite, galite naudoti išorinius šviesos diodus, tačiau nepamirškite naudoti mažos galios šviesos diodų !!)

- 1x raudonas šviesos diodas (mažos galios!)

- 5x momentiniai, neužsifiksuojantys mygtukai

- 3x 10K vieno posūkio, tiesiniai, potenciometrai

- 3x 6,5 mm monofoninis lizdas, montuojamas ant plokštės

- 1x plastikinis dėklas (naudojau 190x140x70 mm dėklą)

- 2x 5 kontaktų DIN moterų skydelio tvirtinimo lizdo jungtis (MIDI)

- 1x dvipusė 70x90 mm perforavimo lenta

- 2x 40 kontaktų vienos eilės kaiščio antgalio juostelė (2,54 mm), geriau jei padengta auksu

- 1x H11L1 optronas

- 1x 1N4148 diodas

- 23x 1000 omų rezistoriai

- 3x 220 omų rezistoriai

- 2x BC547 pnp tranzistoriai

… litavimo viela, kai kurie kabeliai, litavimo stotis, gręžimo įrankis … ir laisvas laikas:)

Atkreipkite dėmesį, kad paveikslėliuose esantys mygtukai buvo pakeisti kito tipo (dar pigesniais …) mygtukais dėl siaubingo atšokimo …

Laikas, reikalingas projektui užbaigti: 8 - 10 valandų

ĮSPĖJIMAS: gręždami visada dėvėkite apsauginius akinius ir pirštines! Karštos medžiagos dėmės gali būti nukreiptos į akis arba liestis su oda ir sukelti nudegimus ar dar rimtesnę žalą jums ar aplinkiniams

3 žingsnis: laidai

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Žingsnio mygtukai yra tiesiogiai prijungti prie „Arduino“kaiščių nuo 22 (1 žingsnis) iki 37 (16 žingsnis). Mygtukai yra sujungti grandinėmis ir prijungti prie „Arduino DUE“įžeminimo. Pritraukimo ar ištraukimo rezistorių nereikia, nes „Arduino“integruoti traukimo rezistoriai yra įjungti programine įranga (žr. Eskizą).

Tas pats pasakytina ir apie papildomus 5 mygtukus („Arduino“kaiščiai 2, 3, 4, 5 ir 6), kurie naudojami kitoms funkcijoms nei žingsniai. Taip pat lygiagrečiai su „start“mygtuku įdėjau 6,5 mm lizdo jungtį, kad galėčiau nuotoliniu būdu atkurti ir sustabdyti savo sekas.

Šviesos diodai yra prijungti prie žemės (daisy grandinė) ir „Arduino DUE“kaiščių nuo 38 (1 žingsnis) iki 53 (16 žingsnis) nuosekliai su 1K omo rezistoriumi, siekiant apriboti srovės nutekėjimą ir išsaugoti mikrovaldiklį.

Potenciometrai prijungti, kaip parodyta paveikslėlyje. Atkreipkite dėmesį, kad atskaitos įtampa yra 3,3 V, o ne 5 V. Naudojami įėjimai A0, A1 ir A2.

Aš taip pat įdiegiau du trigerinius išėjimus arpeggio signalams, tokius, kurie reikalingi senojo 80 -ųjų sintezės arpegiatavimui, pvz., „Korg Polysix“ir „Roland Juno 6/60“. Jie prijungti prie kaiščių A3 ir A4, tačiau, jei norite būti skaitmeniniais signalais, galite naudoti skaitmeninius kaiščius. Jei ketinate sekti sintezatorių, suderinamą su „V-Trig“(įtampos paleidimo) signalais, pakaks 1k omų serijos rezistoriaus srovės nutekėjimui sumažinti; S-Trig (jungiklio paleidimo) sintezės atveju jums reikės paprastos pnp jungiklio grandinės (žr. pridedamą schemą).

MIDI IN ir OUT grandinės yra schematiškai pateiktos pridėtose nuotraukose. Atkreipkite dėmesį, kad, priešingai nei daugelyje arduinos, Rx1 ir Tx1 pagal numatytuosius nustatymus DUE plokštėse naudojami vietoj Rx0 ir Tx0. Tai puiku, nes eskizą galite įkelti be reikalo kiekvieną kartą atjungti Rx. Taip pat atkreipkite dėmesį, kad naudojau optinį jungiklį H11L1, nes negalėjau paleisti taip, kaip turėtų būti įprasta 6N138, esant Arduino DUE 3.3V ribai.

4 žingsnis: programinė įranga

Eskizas buvo parašytas „Arduino IDE“ir turi būti įkeltas į „Arduino DUE“plokštę. Nesigilinsiu į detales, kaip įkelti eskizą į jūsų arduino DUE. Jei tai yra jūsų pirmoji patirtis naudojant „Arduino DUE“, perskaitykite tai. Jei tai yra jūsų pirmoji patirtis naudojant „arduino IDE“, perskaitykite ir tai.

Atnaujintą programinę -aparatinę įrangą galite atsisiųsti ČIA („github“nuoroda).

Eskizas remiasi puikia „FortySevenEffects“MIDI biblioteka. Turėsite įdiegti biblioteką savo arduino IDE.

Kiekvienam būgnui priskirtos MIDI išėjimo pastabos yra apibrėžtos eskizo kintamuoju „drumNote [STEPS_NUM]“. Galite juos pakeisti savo nuožiūra.

Pagal numatytuosius nustatymus būgnų MIDI išėjimo kanalo numeris yra „10“.

Realiame gyvenime nesu koduotoja ir tikrai yra geresnių būdų koduoti tai, ko mums čia reikia. Jei esate koduotojas su bet kokiu pasiūlymu, esate laukiami! Atsiųskite man bet kokį variantą, galintį padidinti kodo efektyvumą ir efektyvumą, ir aš jį įtraukiu į pagrindinį eskizą (aišku, cituodamas Autorių!).

5 veiksmas: greitas pradžios vadovas

Būgnai: ŽINGSNIŲ SEKPAI

Kai tik įjungsite sekos generatorių (arba iš naujo nustatysite), bus įkelta tuščia seka. Sekas įjungiamas redagavimo režimu, laikant/užrakinant pirmąją juostą ir pasirinkus pirmąjį būgną (t. Y. Smūgį). Tai reiškia, kad paspausdami bet kurį žingsnio mygtuką, jūs iš karto priskirsite šiems veiksmams „smūgį“. Būgno suveikimo garsumą nustato „tūrio“potenciometro padėtis, kai būgnas priskiriamas žingsniui. Dar kartą paspausdami anksčiau priskirtą žingsnio mygtuką, jūs panaikinsite dabartinio būgno priskyrimą tam žingsniui.

Jei paspausite mygtuką „Pradėti“, pamatysite, kad jūsų šviesos diodai veikia iš kairės į dešinę, iš viršaus į apačią ir žaidžia „smūgį“bet kuriuo metu, kai kirtamas žingsnis.

Laikydami nuspaustą „Shift“mygtuką, pamatysite 1 -ojo žingsnio šviesos diodą 1 -oje eilutėje (tai reiškia, kad pasirinktas pirmasis būgnas) ir pirmojo žingsnio šviesos diodą ketvirtoje eilėje (tai reiškia, kad esate užrakintas prie pirmosios juostos). Dabar galite pakeisti būgną, kurį norite sekti, paspausdami kitą žingsnio mygtuką, laikydami nuspaudę „Shift“. Pasirinkę naują būgną, atleiskite „shift“. Visi šviesos diodai užges (nes nepriskyrėte naujo būgno jokiam žingsniui) ir galite pradėti priskirti naują būgną žingsniams. Pakartokite visus reikiamus būgnus (iki 12).

Dabar, kai sukūrėte gražų modelį, palaikykite paspaudę „Shift“ir išjunkite aukščiausią žingsnį apatinėje eilutėje (jei pasirinkote tą patį išdėstymą, kurį naudojau, tai turėtų būti 1 -asis ketvirtosios eilutės žingsnis): ką tik “atrakino seką, kuri dabar bus rodoma per visas 4 juostas. Apatiniai neapdoroti šviesos diodai pradės „judėti“, nurodydami, kuri juosta šiuo metu grojama (juostos progresavimas). Jūs pastebėsite, kad tik tada, kai pirmoje juostoje bus paleista seka, o visos kitos 3 juostos neskleidžia jokių garsų. Taip yra todėl, kad būgnus priskyrėte tik pirmajai juostai, kiti liko tušti. Galite užpildyti juos rankiniu būdu (pasirinkite naują juostą paspausdami vieną iš paskutinių 4 žingsnių mygtukų, laikydami nuspaudę „Shift“, pasirinkite vieną iš būgnų, užpildykite veiksmus ir pan.) Arba nukopijuokite ir įklijuokite sukurtą juostų seką į visas juostas, įeinant į redagavimo režimą (vėl užrakinkite prie pirmosios juostos) ir paspausdami „įrašyti“(kuri dabar prisiima „įklijavimo“funkciją), laikydami nuspaudę „shift“. Lengviau padaryti nei pasakyta.

Būgnai: tiesioginio grojimo režimas

Paleidžiant sekvenceris yra redagavimo režime. Norėdami išeiti iš redagavimo režimo, turite paspausti „Shift“ir paspausti šiuo metu laikomą/užrakintą juostos mygtuką (įjungtas 4 -os eilutės mygtukas). Tai išjungs anksčiau užrakintos juostos šviesos diodą ir atrakins seką. Dabar esate tiesioginio grojimo režimu.

Tiesioginio grojimo režimu, paspaudus bet kurį žingsnio mygtuką, bus paleistas būgnas, susietas su tuo mygtuku.

Jei norite įrašyti savo seką tiesiogiai, pradėkite seką paspausdami „play“, tada paspauskite „record“mygtuką (tik tiesioginio atkūrimo režimu). Užsidegs raudonas šviesos diodas. Jūsų grojimas būgno sekos sekos valdymo pulto matricoje arba bet koks gaunamas MIDI užrašas (pvz., Iš išorinės MIDI klaviatūros) bus įrašytas.

Kitos funkcijos

Paspaudus mygtuką „ritinys“, šiuo metu aktyvus būgnas bus grojamas kiekviename žingsnyje (ritinyje). Tai veikia ir „žingsnis po žingsnio“, ir „tiesioginio grojimo“režimais.

Paspaudus bet kurį žingsnio mygtuką, laikant nuspaustą mygtuką „nutildyti“, su tuo veiksmu susijęs būgnas bus nutildytas (arba neįjungtas). Tai veikia tiek „žingsnis po žingsnio“, tiek „tiesioginio grojimo“režimais.

Galite išvalyti tam tikrą būgno seką paspausdami atitinkamo žingsnio mygtuką, laikydami nuspaudę mygtuką „REC“.

Galite išvalyti visą seką (minkštas atstatymas), laikydami nuspaustą mygtuką „Pradėti“ilgiau nei 3 sekundes.

Savo seką galite „pasukti“pasukdami „sūpynės“potenciometrą.

Galite išjungti/įjungti MIDI aidą, paspausdami „nutildyti“mygtuką, laikydami nuspaudę mygtuką „Shift“. Kai MIDI aidas įjungtas (numatytasis), visa informacija, esanti lizde MIDI INPUT, bus siunčiama į lizdą MIDI OUTPUT (aidi tik MIDI užrašas, išjungimas, pasvirimas, posūkis ir valdymo keitimas).

Tiek MIDI laikrodžio įėjimas, tiek išėjimas yra įdiegti ir įjungti pagal numatytuosius nustatymus. Jei laikrodžio įvestis negaunama, tempas nustatomas specialiu potenciometru. Jei gaunamas MIDI laikrodžio įvestis, iš to apskaičiuojamas tempas ir tempo potenciometras nereaguoja. MIDI laikrodis visada siunčiamas į MIDI išvestį.

6 žingsnis: ritmo sekcija

Pradinė idėja buvo „grynas“64 žingsnių MIDI būgnų sekų sekimo įrenginys, skirtas sekti iki 12 nepriklausomų būgno dalių. Po kelių bandymų pastebėjau, kad būtų buvę malonu valdyti ir boso liniją, ir kintamo žingsnio žingsnio funkciją priskyriau tik naujausiam būgnui. Po to dar kartą pakeičiau kodą, kad galėčiau pakeisti kiekvieno būgno aukštį ir valdyti iki 12 sintezatorių. Vėliau peržiūra pridėjau polifoniją (pagal numatytuosius nustatymus polifonija per sintezę apribota iki 3).

Apibendrinant:

- būdami LIVE režimu, jei LIVE įrašymas įjungtas ir seka pradėta, galite įrašyti gaunamus MIDI užrašų pranešimus polifoniškai. Informacija apie garsumą ir garsumą bus išsaugota. Prarandama informacija apie posūkį ir posūkį. MIDI valdymo keitimo pranešimai bus išsaugoti. Atminkite, kad kiekviename kanale turite atlikti tik vieną CC lizdą.

- Jei seka sustabdoma, galite įrašyti iki 3 aukščio reikšmių (akordo) į tam tikrą konkrečios juostos žingsnį, laikydami nuspaudę paskirties žingsnio mygtuką ir paspausdami (tuo pačiu metu arba po vieną) norimus klavišus. klaviatūra prijungta prie MIDI IN prievado.

Pastebėti, kad:

- pastaba, paleista ant žingsnio, „nužudoma“jau sekančiame žingsnyje. Norėdami padidinti natos ilgį, vadovaukitės sintezatoriaus „atleidimo“VCA parametru.

- priešingai nei būgnai, natos negali būti grojamos ritinyje, paspaudus mygtuką „ritinys“.

- Įrašant LIVE, gaunami MIDI kanalo duomenys saugomi atitinkamame „būgno“žingsnyje (MIDI kanalas Nr. 1 -> „būgnas“#1 ir pan.).

Galite išvalyti tam tikrą sintezatoriaus seką, paspausdami atitinkamą „būgno“žingsnio mygtuką ir laikydami nuspaudę „REC“mygtuką. Paspaudus dar kartą, būgno seka taip pat bus išvalyta. Jei buvo įrašyta CC seka, tai ji bus pirmoji ištrinta, vadovaudamiesi tvarka CC -> Synth -> Drum

7 žingsnis: „Arpeggio“paleidikliai

Dešimtojo dešimtmečio pradžios MIDI sintezatoriai dažnai būna aprūpinti kartais vadinama „arpeggio trigerio įvestimi“. Siųsdami 2,5–5,0 V trigerio signalą („V-trig“arba „įtampos paleidiklis“) arba įžemindami arpeggio trigerio įvestį („S-Trig“arba „jungiklio paleidiklis“), galite nurodyti sintezatoriui pereiti vieną žingsnį į arpeggio seką. Tai gali būti sunku valdyti naudojant sekos keitiklį be specialaus išjungimo (kartais „rimshot“skamba iš tam skirtos vietos, kur/yra naudojami kaip „V-trig“sintezatoriai), tačiau naudodami mikrovaldiklio plokštę galite lengvai valdyti tokį signalą ir valdymą jūsų sintezatoriaus arpeggio, kaip buvo numatyta gamykloje.

Šis ritmo sekos sekvenatorius apima galimybę nepriklausomai paleisti dviejų skirtingų sintezatorių arpegiatorių.

Naudojimas yra labai lengvas: pasirinkite 11 arba 12 būgną (paspauskite 11 arba 12 žingsnį, paspausdami „Shift“) ir suaktyvinkite veiksmus, kuriuos norite, kad arpeggiatorius judėtų vienu žingsniu. Tokiu būdu galite „užprogramuoti“labai griežtą 1/16 natos ilgio įprastus arpeggius, suaktyvindami visus žingsnius, arba 1/8 suaktyvindami kas antrą žingsnį. Be to, galite užprogramuoti sudėtingesnius arpeggius, suaktyvindami veiksmus, einančius netaisyklingu keliu.

Priklausomai nuo trigerio signalo tipo, kurį palaiko sintezė, kurią norite valdyti, jums reikės paprasto aparatūros pakeitimo: V-trig (t. Y. Rolando sintezatorių) atveju nuosekliai įdėkite 1 Kohm rezistorių su arduino trigerio išvestimi. Jei yra S-trig (t. Y. „Korg“sintezatoriai), saugaus jungiklio paleidimui naudokite jungtį, prijungtą prie „laidų“.

8 žingsnis: jei viskas neveikia …

Netgi toks paprastas projektas, kaip šis, greičiausiai neveiks 100% pirmą kartą jį įjungus. Štai, pavyzdžiui, labai svarbus yra mygtukų ir šviesos diodų ryšys, o neprilygstami laidai padarys sekos keitiklį nenaudingą.

Norėdami išbandyti visus skirtingus komponentus, sudarančius žingsnių seką, parašiau paprastą bandymo eskizą (žr. Priedą).

Naujausią bandomąją programinę -aparatinę įrangą galite atsisiųsti ČIA („GitHub“nuoroda).

Bandymo eskizas veikia taip:

- paspauskite žingsnio mygtuką: atitinkamas šviesos diodas turėtų užsidegti, o MIDI užrašas 10 kanale bus išsiųstas į MIDI išvestį.

- paspauskite funkcinį mygtuką: įsijungs vienas iš pirmųjų 5 šviesos diodų.

-pasukite potenciometrą: atitinkamai užsidegs šviesos diodai (pirmasis indas -> pirmoji šviesos diodų eilutė, antrasis indas -> antroji šviesos diodų eilutė, trečias indas -> trečioji šviesos diodų eilutė).

- jei gaunamas MIDI užrašas, pirmasis šviesos diodas mirksi.

Atminkite, kad MIDI aidas įjungtas pagal numatytuosius nustatymus. Tai reiškia, kad jei turite MIDI kilpą tarp sintezatoriaus ir MRSS, tai gali sukelti problemų (dažniausiai susidūriau su nuspėjama dviguba nata, bet suaktyvėjo labai žemos natos ir apskritai nereaguojama integruota klaviatūra su sintezatoriais su MIDI veikia kaip MIDI Throu … tai priklauso nuo sintezatoriaus). Tokiu atveju išjunkite MIDI aidą paspausdami mygtuką „nutildyti“, laikydami nuspaudę „perjungimo“mygtuką.

Rekomenduojamas: