Satura rādītājs:

Arduino MIDI ritma sekciju sekvenceris: 8 soļi (ar attēliem)
Arduino MIDI ritma sekciju sekvenceris: 8 soļi (ar attēliem)

Video: Arduino MIDI ritma sekciju sekvenceris: 8 soļi (ar attēliem)

Video: Arduino MIDI ritma sekciju sekvenceris: 8 soļi (ar attēliem)
Video: Генератор ритмических паттернов Arduino 8x8 Gate Sequencer с двумя поворотными энкодерами и OLED- 2024, Jūlijs
Anonim
Arduino MIDI ritma sekciju sekvence
Arduino MIDI ritma sekciju sekvence
Arduino MIDI ritma sekciju sekvence
Arduino MIDI ritma sekciju sekvence
Arduino MIDI ritma sekciju sekvence
Arduino MIDI ritma sekciju sekvence

Labas programmatūras bungu mašīnas iegūšana mūsdienās ir vienkārša un lēta, taču peles lietošana man sagādā prieku. Tāpēc es sapratu, kas sākotnēji bija paredzēts kā tīrs 64 soļu aparatūras MIDI bungu sekvenceris, kas spēj iedarbināt līdz 12 dažādiem bungu elementiem (detaļām), bet pēc tam attīstījās ritma sekciju sekvencētājā…

… tur mēs ejam!

1. darbība. Kā tas darbojas

Šī aparatūra nevar radīt skaņas pašas, bet tikai secīgi sakārtot ārējo aparatūru, izmantojot MIDI. Tas nozīmē, ka jums būs nepieciešams bungu skaņu skaņas ģenerators (paraugu ņemšanas iekārta vai bungu sintezators vai dators ar iecienītāko bungu programmatūru vai visu, ko vēlaties), ko var iedarbināt ar MIDI piezīmju ziņojumiem.

Tas galvenokārt sastāv no 4 x 4 pogu matricas (ar gaismas diodēm), pa vienam katram joslas solim. Visa 64 soļu secība sastāv no 16 soļiem, kas reizināti ar 4 joslām. Katrs solis ir 1/16 daļa no piezīmes.

Ir divi darbības režīmi: tiešais režīms un rediģēšanas režīms.

Rediģēšanas režīmā jūs faktiski varat pakāpeniski rediģēt secību, nosakot, kurš bungas atskaņos katrā solī.

Jūsu ārējais aparatūras instruments ("bungas") tiek aktivizēts, nosūtot MIDI piezīmi par "dažādiem" MIDI piezīmju numuriem "kanāla numurā" 10 ". Pēc noklusējuma šie piezīmju numuri ir

bungas #1 (t.i., sitiens) -> MIDI piezīmes numurs "60"

bungas #2 (t.i., lamatas) -> MIDI piezīmes numurs "62"

bungas #3 (t.i. aplaudēšana) -> MIDI piezīmes numurs "64"

bungas #4 (ti, Hihat) -> MIDI piezīmes numurs "65"

bungas #5 -> MIDI piezīmes numurs "67"

bungas #6 -> MIDI piezīmes numurs "69"

bungas #7 -> MIDI piezīmes numurs "71"

bungas #8 -> MIDI piezīmes numurs "72"

bungas #9 -> MIDI piezīmes numurs "74"

bungas #10 -> MIDI piezīmes numurs "76"

bungas #11 -> MIDI piezīmes numurs "77"

bungas #12 -> MIDI piezīmes numurs "79"

Ja vēlaties, skicē varat mainīt šīs vērtības (un MIDI kanālu).

Tiešraides režīmā, nospiežot soļu pogas, jūs varat tiešraidē atskaņot bungas, kas saistītas ar katru darbību, nosūtot MIDI ziņojumus, izmantojot seriālos. Varat tiešraidē ierakstīt pogu nospiešanu un/vai ienākošos MIDI ziņojumus.

Gan tiešajā režīmā, gan rediģēšanas režīmā jūs varat izslēgt (vai ieslēgt) bungas, "atskaņot" pašreiz aktīvo bungu un "šūpot" savu secību.

Ritma sadaļa?

Lielākā daļa bungu sekvencētāju ir tīri MIDI bungu detaļu palaidēji, ar fiksētu MIDI piezīmes numuru katrai bungas skaņai. Šajā gadījumā mums ir "ritma sekciju sekvenceris" vairāk nekā tīrs "bungu sekvenceris", jo jūs pat varat secināt sintezatorus.

Lai iegūtu sīkāku informāciju un pilnu funkciju sarakstu, izlasiet ĀTRĀS SĀKŠANAS ROKASGRĀMATU.

2. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Šis projekts tiek realizēts ap Arduino DUE plati. Es centos saglabāt aparatūru pēc iespējas vienkāršāku, t.i., izvairoties no LED draiveru izmantošanas. Arduino DUE, visticamāk, nav vispiemērotākā tāfele, lai apstrādātu virkni gaismas diodes bez LED draivera, jo tai ir izejas strāvas ierobežojumi (no 5 mA līdz 15 mA, atkarībā no tapas), taču tas ir ātrākais Arduino, un laiks ir viss, strādājot ar sekvencētājiem. Tātad, paturiet prātā, ka ŠĪ aparatūras konfigurācija, visticamāk, novirza jūsu Arduino DUE uz maksimālajām robežām un ilgtermiņā var to sabojāt.

To sakot, aparatūra galvenokārt ir 16 pogas, 16 gaismas diodes (pa vienam katram solim) sekvenceris ar 5 papildu pogām funkcijām un 3 potenciometri. Pēc tiešraides ieraksta funkcijas pievienošanas es pievienoju arī sarkanu gaismas diodi.

Šeit ir materiālu saraksts:

- 1x Arduino DUE

- 16x īslaicīgas, nenoslēdzamas spiedpogas ar integrētām gaismas diodēm (ja vēlaties, varat izmantot ārējās gaismas diodes, taču neaizmirstiet izmantot mazjaudas gaismas diodes !!)

- 1x sarkana gaismas diode (zema jauda!)

- 5x īslaicīgas, nenoslēdzamas spiedpogas

- 3x 10K viens pagrieziens, lineāri, potenciometri

- 3x 6,5 mm mono ligzdas paneļa stiprinājums

- 1x plastmasas korpuss (es izmantoju 190x140x70 mm korpusu)

- 2x 5 kontaktu DIN sieviešu paneļa stiprinājuma ligzdas savienotājs (MIDI)

- 1x divpusēja 70x90 mm perforācijas plāksne

- 2x 40 kontaktu tērauda vienas rindas tapas galvenes sloksne (2,54 mm), labāk, ja tā ir pārklāta ar zeltu

- 1x H11L1 optronis

- 1x 1N4148 diode

- 23x 1000 omu rezistori

- 3x 220 omi rezistori

- 2x BC547 pnp tranzistori

… lodēšanas stieple, daži kabeļi, lodēšanas stacija, urbšanas rīks … un brīvais laiks:)

Lūdzu, ņemiet vērā, ka bildēs redzamās pogas ir nomainītas pret cita veida (pat lētākām) spiedpogām, jo šausmīgi atlec …

Projekta pabeigšanai nepieciešamais laiks: 8 - 10 stundas

BRĪDINĀJUMS: urbšanas laikā vienmēr valkājiet aizsargbrilles un cimdus! Karstas materiāla plaisas var tikt projicētas uz acīm vai nonākt saskarē ar ādu, izraisot apdegumus vai vēl nopietnākus bojājumus jums vai apkārtējiem cilvēkiem

3. solis: vadi

Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi

Solis pogas ir tieši savienotas ar Arduino tapām no 22 (1. darbība) līdz 37 (16. darbība). Pogas ir saslēgtas ķēdē un savienotas ar Arduino DUE zemi. Pievilkšanas vai nolaižamie rezistori nav nepieciešami, jo Arduino integrētie pullup rezistori ir iespējoti ar programmatūru (sk. Skici).

Tas pats attiecas uz papildu 5 pogām (Arduino tapas 2, 3, 4, 5 un 6), ko izmanto citām funkcijām, nevis soļiem. Es paralēli pogai "start" ievietoju arī 6,5 mm ligzdas savienotāju, lai varētu attālināti atskaņot un apturēt savas sekvences.

Gaismas diodes ir savienotas ar zemi (margrietiņas ķēde) un Arduino DUE tapām no 38 (1. solis) līdz 53. (16. solis) virknē ar 1K omu rezistoru, lai ierobežotu strāvas aizplūšanu un saglabātu mikrokontrolleru.

Potenciometri ir pievienoti, kā parādīts pievienotajā attēlā. Ņemiet vērā, ka atskaites spriegums ir 3.3V, nevis 5V. Izmantotās ieejas ir A0, A1 un A2.

Es arī ieviesu divus sprūda izejas arpeggio signāliem, piemēram, tos, kas nepieciešami veco 80. gadu sintezatoru arpeģēšanai, piemēram, Korg Polysix un Roland Juno 6/60. Tie ir savienoti ar tapām A3 un A4, taču, ja vēlaties būt digitālajiem signāliem, varat izmantot digitālās tapas. Gadījumā, ja jūs gatavojaties secīgi sintezēt ar V-Trig (sprieguma sprūda) signāliem, pietiek ar 1k omu sērijas rezistoru, lai samazinātu strāvas aizplūšanu; S-Trig (slēdža sprūda) sintezētāja gadījumā jums būs nepieciešama vienkārša pnp slēdža ķēde (skat. pievienoto shēmu).

MIDI IN un OUT shēmas ir shematiski parādītas pievienotajos attēlos. Ņemiet vērā, ka pretēji lielākajai daļai arduinos RX1 un Tx1 pēc noklusējuma tiek izmantoti DUE dēļos, nevis Rx0 un Tx0. Tas ir lieliski, jo jūs varat augšupielādēt savu skici bez nepieciešamības katru reizi atvienot Rx. Ņemiet vērā arī to, ka esmu izmantojis optisko savienotāju H11L1, jo es nevarēju darboties, kā vajadzētu, parastam 6N138 Arduino DUE 3.3V robežās.

4. solis: programmatūra

Skice ir uzrakstīta Arduino IDE, un tā ir jāaugšupielādē jūsu Arduino DUE panelī. Es neiedziļināšos detaļās par to, kā augšupielādēt skici jūsu arduino DUE. Ja šī ir jūsu pirmā pieredze ar Arduino DUE, izlasiet šo. Ja šī ir jūsu pirmā pieredze ar arinoino IDE, lūdzu, izlasiet arī šo.

Jūs varat lejupielādēt atjaunināto programmaparatūru ŠEIT (github saite).

Skice balstās uz lielisko FortySevenEffects MIDI bibliotēku. Jums būs jāinstalē bibliotēka arduino IDE.

Katrai cilindram piešķirtās MIDI izejas piezīmes definē skices mainīgais drumNote [STEPS_NUM]. Jūs varat tos mainīt pēc savas vēlēšanās.

Bungu MIDI izejas kanāla numurs pēc noklusējuma ir iestatīts uz "10".

Es neesmu kodētājs reālajā dzīvē, un noteikti ir labāki veidi, kā kodēt to, kas mums šeit ir vajadzīgs. Ja esat kodētājs ar jebkādiem ieteikumiem, laipni lūdzam! Lūdzu, atsūtiet man visus variantus, kas var palielināt koda efektivitāti/efektivitāti, un es to iekļaušu galvenajā skicē (acīmredzot atsaucoties uz līdzautoru!).

5. darbība. Īsā lietošanas pamācība

BUNGAS: Soli pa solim secība

Tiklīdz ieslēdzat sekvenceri (vai atiestatāt to), tiks ielādēta tukša secība. Sekvenceris sāk darboties rediģēšanas režīmā, turot/bloķējot pirmo joslu un atlasot pirmo bungu (t.i., sitienu). Tas nozīmē, ka, nospiežot jebkuru soļa pogu, jūs šīm darbībām nekavējoties piešķirsit "kick". Skaļumu, kas tiks iedarbināts ar cilindru, nosaka “skaļuma” potenciometra pozīcija, kad bungu piešķir solim. Atkārtoti nospiežot iepriekš piešķirto soļa pogu, jūs atcelsit pašreizējā cilindra piešķiršanu šim solim.

Nospiežot pogu "Sākt", jūs redzat, ka jūsu gaismas diodes darbojas no kreisās puses uz labo, no augšas uz leju un spēlē "kick" jebkurā laikā, kad tiek šķērsots sitiena solis.

Turot nospiestu "Shift" pogu, jūs redzēsiet 1. soļa gaismas diodi 1. rindā, kas ir ieslēgta (tas nozīmē, ka ir izvēlēts pirmais cilindrs), un pirmā soļa LED ceturtajā rindā (tas nozīmē, ka esat bloķēts pirmajā joslā). Tagad jūs varat mainīt bungu, kuru vēlaties secīgi nospiest, nospiežot citu soli, vienlaikus turot nospiestu "Shift". Pēc jaunā cilindra izvēles atlaidiet "shift". Visas gaismas diodes izslēgsies (jo jūs neesat piešķīris jauno cilindru nevienam solim), un jūs varat sākt piešķirt jauno cilindru darbībām. Atkārtojiet visas nepieciešamās bungas (līdz 12).

Tagad, kad esat izveidojis jauku modeli, turiet nospiestu "Shift" un izslēdziet augstāko soli apakšējā rindā (tai vajadzētu būt 4. rindas 1. solim, ja esat pieņēmis to pašu izkārtojumu, ko es izmantoju): jums ir tikai " atbloķēja "secību, kas tagad iet pāri visām 4 joslām. Apakšējās neapstrādātās gaismas diodes sāks "kustēties", norādot, kura josla pašlaik tiek atskaņota (joslas progresēšana). Jūs pamanīsit, ka tikai tad, kad pirmajā joslā tiks atskaņota secība, un pārējās 3 joslas neradīs skaņas. Tas ir tāpēc, ka jūs esat piešķīris bungas tikai pirmajai joslai, pārējās paliek tukšas. Jūs varat tos aizpildīt ar rokām (atlasiet jaunu joslu, nospiežot vienu no pēdējām 4 soļu pogām, vienlaikus turot nospiestu taustiņu "Shift", izvēlieties vienu no bungām, aizpildiet soļus utt. Utt.) Vai arī kopējiet un ielīmējiet izveidoto joslu secību uz visām joslām, ieejot rediģēšanas režīmā (atkārtoti bloķējiet pirmo joslu) un nospiežot "record" (kas tagad uzņemas "ielīmēšanas" funkciju), vienlaikus turot nospiestu "shift". Vieglāk izdarīts nekā teikts.

BUNGAS: TIEŠRAIDES REŽĪMS

Startēšanas laikā sekvenceris ir rediģēšanas režīmā. Lai izietu no rediģēšanas režīma, turiet nospiestu "Shift" un nospiediet pašreiz turēto/bloķēto joslas pogu (4. rindas solis ir ieslēgts). Tas izslēgs iepriekš bloķētās joslas LED un atbloķēs secību. Jūs tagad esat tiešraides režīmā.

Tiešraides režīmā, nospiežot jebkuru soļa pogu, tiks iedarbināta ar šo pogu saistītā bungas.

Ja vēlaties ierakstīt sekvenci tiešraidē, sāciet to, nospiežot "play", pēc tam nospiediet pogu "record" (tikai tiešraides režīmā). Iedegsies sarkana gaismas diode. Jūsu spēle uz bungu sekvences vadības paneļa matricas vai jebkura ienākoša MIDI piezīmes ziņa (t.i., no ārējas MIDI tastatūras) tiks ierakstīta.

Citas funkcijas

Nospiežot pogu "roll", katrā solī tiks atskaņots pašlaik aktīvais bungas (rullī). Tas darbojas gan "soli pa solim", gan "tiešraides" režīmā.

Nospiežot jebkuru soli, vienlaikus turot nospiestu pogu "izslēgt", ar šo darbību saistītais cilindrs tiks izslēgts (vai izslēgts). Tas darbojas gan "soli pa solim", gan "tiešraides" režīmā.

Jūs varat notīrīt konkrētu bungu secību, nospiežot atbilstošo soļu pogu, vienlaikus turot nospiestu pogu "REC".

Jūs varat notīrīt visu secību (mīkstā atiestatīšana), turot nospiestu pogu "Sākt" ilgāk par 3 sekundēm.

Jūs varat "šūpot" savu secību, pagriežot "šūpoles" potenciometru.

Jūs varat atspējot/iespējot MIDI atbalsi, nospiežot pogu “izslēgt”, vienlaikus turot nospiestu “pārslēgšanas” pogu. Kad MIDI atbalss ir iespējots (noklusējums), visa informācija, kas atrodas ligzdā MIDI INPUT, tiks nosūtīta uz ligzdu MIDI OUTPUT (tiek atskaņota tikai MIDI piezīme, izslēgta piezīme, izliekums, pēcskāriens un vadības maiņa).

Gan MIDI pulksteņa ievade, gan izvade tiek ieviesta un iespējota pēc noklusējuma. Gadījumā, ja netiek saņemta pulksteņa ievade, tempu nosaka ar speciālu potenciometru. Ja tiek saņemta MIDI pulksteņa ievade, no tā tiek aprēķināts temps, un tempa potenciometrs nereaģēs. MIDI pulkstenis vienmēr tiek nosūtīts uz MIDI izeju.

6. solis: ritma sadaļa

Sākotnējā ideja bija "tīrs" 64 soļu MIDI bungu sekvenceris, lai secīgi izveidotu līdz 12 neatkarīgām bungu daļām. Pēc dažām pārbaudēm es pamanīju, ka būtu bijis jauki kontrolēt arī basa līniju, un es piešķīru mainīga augstuma soļa funkciju tikai jaunākajai bungai. Pēc tam es vēlreiz modificēju kodu, lai varētu mainīt bungu piķi un kontrolēt līdz 12 sintezatoriem. Pārskatīšana vēlāk pievienoju polifoniju (polifonija sintezatorā pēc noklusējuma ir ierobežota līdz 3).

Sasummēt:

- LIVE režīmā, ja ir aktivizēta LIVE ierakstīšana un sākta secība, varat ierakstīt ienākošos MIDI piezīmju ziņojumus polifoniski. Informācija par augstumu un skaļumu tiks saglabāta. Tiek zaudēta informācija par līkumu un pēcapstrādi. MIDI vadības maiņas ziņojumi tiks saglabāti. Ņemiet vērā, ka jums ir tikai viens CC slots katrā kanālā vienā solī.

- Ja secība tiek apturēta, jūs varat ierakstīt līdz 3 piķa vērtībām (akords) konkrētā joslas noteiktā solī, turot nospiestu galamērķa soļa pogu un nospiežot (vienlaicīgi vai pa vienam) vēlamos taustiņus tastatūra ir pievienota MIDI IN portam.

Ievērojiet, ka:

- piezīme, kas iedarbināta uz soļa, tiek “nogalināta” nākamajā solī. Lai palielinātu piezīmes garumu, rīkojieties atbilstoši sintezatora VCA parametram "atbrīvot".

- pretēji bungām, piezīmes nevar atskaņot rullī, nospiežot pogu "roll".

- Ierakstot LIVE, ienākošie MIDI kanāla dati tiek saglabāti relatīvajā "bungas" solī (MIDI kanāls Nr. 1 -> "bungas" #1 un tā tālāk).

Jūs varat notīrīt noteiktu sintezatora secību, nospiežot relatīvo "bungas" soli, vienlaikus turot nospiestu pogu "REC". Nospiežot to vēlreiz, tiks notīrīta arī bungu secība. Ja tika ierakstīta CC secība, tā tiks dzēsta pirmā, tad sekojot secībai CC -> Synth -> Drum

7. solis: Arpeggio trigeri

80. gadu sākuma pirms MIDI sintezatori bieži ir aprīkoti ar dažreiz dēvētu "arpeggio trigger input". Nosūtot 2,5 līdz 5,0 V sprūda signālu (V-trig vai "sprieguma sprūda") vai iezemējot arpeggio sprūda ieeju (S-Trig vai "slēdža sprūda"), jūs varat pateikt, ka sintezators veic vienu soli uz priekšu arpeggio secībā. To varētu būt grūti pārvaldīt, izmantojot sekvenceri bez īpašas sprūda izejas (dažreiz “rimshot” atskan no speciālas izejas, kur/tiek izmantoti kā palīglīdzeklis V-trig sintezatoriem), bet ar mikrokontrollera paneli jūs varat viegli pārvaldīt šādu signālu un kontroli jūsu sintezatora arpeggio, kā tas bija paredzēts rūpnīcā.

Šis ritma sekciju sekvenceris ietver iespēju neatkarīgi iedarbināt divu dažādu sintezatoru arpeggiatoru.

Lietošana ir ļoti vienkārša: atlasiet 11. vai 12. cilindru (nospiediet 11. vai 12. soli, vienlaikus nospiežot "Shift") un aktivizējiet darbības, kuras vēlaties, lai arpeggiators pārvietotos vienu soli. Tādā veidā jūs varat "ieprogrammēt" ļoti stingru 1/16 nošu garumu parastos arpeggios, aktivizējot visus soļus, vai 1/8, aktivizējot katru otro soli. Turklāt jūs varat ieprogrammēt sarežģītākus arpeggios, aktivizējot darbības, ievērojot neregulāru ceļu.

Atkarībā no sprūda signāla veida, ko atbalsta sintezators, kuru vēlaties kontrolēt, jums būs nepieciešama vienkārša aparatūras modifikācija: V-trig (piemēram, Rolanda sintezatoru) gadījumā sērijveidā ievietojiet 1 Kohm rezistoru ar arduino sprūda izeju. S-trig (piemēram, Korg sintezatoru) gadījumā drošai slēdža palaišanai izmantojiet shematiku, kas pievienota "elektroinstalācijas" solim.

8. solis: ja lietas nedarbojas…

Pat šāds salīdzinoši vienkāršs projekts, visticamāk, nedarbosies 100%, pirmo reizi to ieslēdzot. Šeit, piemēram, korozija starp pogām un gaismas diodēm ir izšķiroša, un nepārspējama elektroinstalācija padarīs sekvenceri nelietojamu.

Lai pārbaudītu visas dažādās sastāvdaļas, kas veido soļu sekvencētāju, es uzrakstīju vienkāršu testa skici (skat. Pielikumu).

Jaunāko testa programmaparatūru varat lejupielādēt ŠEIT (GitHub saite).

Testa skice darbojas šādi:

- nospiediet soli: atbilstošajai gaismas diodei jāiedegas, un MIDI piezīme 10. kanālā tiks nosūtīta uz MIDI izvadi.

- nospiediet funkcijas pogu: iedegsies viena no pirmajām 5 gaismas diodēm.

-pagrieziet potenciometru: gaismas diodes iedegsies attiecīgi (pirmais katls -> pirmā gaismas diodes rinda, otrā katla -> otrā gaismas diodes rinda, trešā poda -> trešā gaismas diodes rinda).

- ja tiek saņemta MIDI piezīme, pirmā gaismas diode mirgos.

Paturiet prātā, ka MIDI atbalss ir iespējots pēc noklusējuma. Tas nozīmē, ka, ja jums ir MIDI cilpa starp sintezatoru un MRSS, tas var radīt problēmas (es piedzīvoju paredzamu dubultās piezīmes aktivizēšanu lielākajā daļā gadījumu, bet arī ļoti zemas notis un vispār nereaģējošu iebūvētu tastatūru ar sintezatoriem ar MIDI darbojas kā MIDI Throu … tas ir atkarīgs no sintezatoru). Ja tas tā ir, atspējojiet MIDI atbalsi, nospiežot "izslēgšanas" pogu, vienlaikus turot nospiestu "pārslēgšanas" pogu.

Ieteicams: