Sadržaj:

Arduino MIDI odjeljak za ritam odjeljak: 8 koraka (sa slikama)
Arduino MIDI odjeljak za ritam odjeljak: 8 koraka (sa slikama)

Video: Arduino MIDI odjeljak za ritam odjeljak: 8 koraka (sa slikama)

Video: Arduino MIDI odjeljak za ritam odjeljak: 8 koraka (sa slikama)
Video: Radim u Privatnom muzeju za bogate i slavne. Horor priče. Užas. 2024, Srpanj
Anonim
Arduino MIDI odjeljak za ritam odjeljak
Arduino MIDI odjeljak za ritam odjeljak
Arduino MIDI odjeljak za ritam odjeljak
Arduino MIDI odjeljak za ritam odjeljak
Arduino MIDI odjeljak za ritam odjeljak
Arduino MIDI odjeljak za ritam odjeljak

Imati dobar softverski bubanj danas je jednostavno i jeftino, ali korištenje miša mi ubija zabavu. Zato sam shvatio što je u početku bilo zamišljeno kao čisti hardverski MIDI sekvencer od 64 koraka sposoban pokrenuti do 12 različitih elemenata bubnja (dijelova), ali se zatim razvio u sekvencer ritam sekcije…

… idemo tamo!

Korak 1: Kako to radi

Ovaj hardver ne može sam generirati zvukove, već samo slijediti vanjski hardver putem MIDI -ja. To znači da će vam trebati generator zvuka vaših zvukova bubnja (uzorkivač ili sintisajzer bubnjeva ili računalo s vašim omiljenim softverom bubnja ili što god želite) koji se može pokrenuti MIDI bilješkama.

Uglavnom se sastoji od matrice gumba 4 x 4 (sa LED diodama), po jedne za svaki korak trake. Cijeli niz od 64 koraka sastoji se od 16 koraka pomnoženih s 4 stupca. Svaki korak je 1/16 bilješke.

Postoje dva načina rada: način rada uživo i način uređivanja.

U načinu uređivanja zapravo možete korak po korak urediti svoj slijed tako da definirate koji će bubanj svirati u svakom koraku.

Vaš vanjski hardverski instrument ("bubanj") aktivira se slanjem MIDI "note on" poruke za različite "MIDI note numbers" na broju kanala "10". Prema zadanim postavkama ti su brojevi bilješki

bubanj #1 (tj. udarac) -> broj MIDI note "60"

bubanj #2 (tj. zamka) -> broj MIDI note "62"

bubanj #3 (tj. pljesak) -> broj MIDI note "64"

bubanj #4 (tj. Hihat) -> broj MIDI note "65"

bubanj #5 -> MIDI nota broj "67"

bubanj #6 -> MIDI nota broj "69"

bubanj #7 -> MIDI nota broj "71"

bubanj #8 -> MIDI nota broj "72"

bubanj #9 -> MIDI nota broj "74"

bubanj #10 -> MIDI nota broj "76"

bubanj #11 -> MIDI nota broj "77"

bubanj #12 -> MIDI nota broj "79"

Ove vrijednosti (i MIDI kanal) u skici možete promijeniti ako želite.

U načinu rada uživo pritiskom na tipke za korake možete svirati bubnjeve povezane sa svakim korakom slanjem MIDI poruka serijskim putem. Možete uživo snimati pritiske na tipke i/ili dolazne MIDI poruke.

I u načinu rada uživo i u načinu uređivanja možete isključiti (ili uključiti) bubanj, "svirati" trenutno aktivni bubanj i "ljuljati" svoj slijed.

Ritam odjeljak?

Većina sekvencera bubnjeva isključivo su okidači MIDI dijelova bubnja, s fiksnim MIDI notnim brojem za svaki zvuk bubnja. U ovom slučaju imamo "sekvencer ritam sekcija" više od čistog "sekvencera bubnja" jer čak možete sekvencirati i sintisajzere.

Za više pojedinosti i potpuni popis značajki pročitajte VODIČ ZA BRZI POKRET.

Korak 2: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Ovaj projekt je realiziran oko Arduino DUE ploče. Pokušao sam hardver učiniti što jednostavnijim, tj. Izbjegavajući upotrebu LED upravljačkih programa. Arduino DUE vjerojatno nije najprikladnija ploča za rukovanje gomilom LED dioda bez LED upravljačkog programa zbog ograničenja izlazne struje (od 5 mA do 15 mA, ovisno o pinu), ali to je najbrži Arduino i vrijeme je sve u poslu sa sekvencijalima. Dakle, imajte na umu da OVA hardverska konfiguracija vjerojatno dovodi vaš Arduino DUE do krajnjih granica i može ga dugoročno oštetiti.

Rečeno je da je hardver uglavnom 16 sekvencera, 16 LED dioda (po jedna za svaki korak) s 5 dodatnih gumba za funkcije i 3 potenciometra. Također sam dodao crvenu LED diodu nakon dodavanja funkcije snimanja uživo.

Evo spiska materijala:

- 1x Arduino DUŽNO

- 16x kratki gumbi bez zatvaranja s integriranim LED diodama (po želji možete koristiti vanjske LED diode, ali ne zaboravite koristiti LED male snage !!)

- 1x crvena LED dioda (male snage!)

- 5x kratkih, bez zaključavanja tipki

- 3x 10K jednokretni, linearni, potenciometri

- ženska ženska utičnica za montiranje na ploču 3x 6,5 mm

- 1x plastično kućište (koristio sam kućište 190x140x70 mm)

- 2x 5-pinski DIN utičnica za montažu na žensku ploču (MIDI)

- 1x dvostrana perf ploča 70x90 mm

- 2x 40 -polni muški jednoredni zaglavlje s iglom (2,54 mm), bolje pozlaćeno

- 1x optika H11L1

- 1x 1N4148 dioda

- 23x 1000 ohmski otpornici

- 3x 220 ohmski otpornici

- 2x BC547 pnp tranzistor

… žica za lemljenje, neki kabeli, lemilica, alat za bušenje … i slobodno vrijeme:)

Imajte na umu da su gumbi na slikama zamijenjeni drugom vrstom (čak i jeftinijom …) tipkom zbog nečuvenog poskakivanja …

Vrijeme potrebno za dovršetak projekta: 8 - 10 sati

UPOZORENJE: Uvijek bušite zaštitne naočale i rukavice! Vruće ljuskice materijala mogu se projicirati na vaše oči ili doći u dodir s kožom te uzrokovati opekline ili još ozbiljniju štetu vama ili ljudima oko vas

Korak 3: Ožičenje

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

Step gumbi izravno su spojeni na Arduino pinove od 22 (korak 1) do 37 (korak 16). Gumbi uzemljeni su tratinčicom i povezani s Arduino DUE uzemljenjem. Nema potrebe za izvlačenjem ili povlačenjem otpornika jer su Arduino integrirani otpornici za podizanje softverski omogućeni (vidi skicu).

Isto vrijedi i za dodatnih 5 gumba (Arduino pinovi 2, 3, 4, 5 i 6), koji se koriste za druge funkcije osim koraka. Paralelno s tipkom "start" postavio sam i ženski konektor od 6,5 mm kako bih mogao daljinski reproducirati i zaustaviti svoje sekvence.

LED diode su spojene na uzemljenje (lanac s tratinčicama) i Arduino DUE pinove od 38 (korak #1) do 53 (korak #16) u nizu s po 1K ohmskim otpornikom za ograničavanje odvoda struje i očuvanje mikrokontrolera.

Potenciometri su spojeni kako je prikazano na priloženoj slici. Primijetite da je referentni napon 3,3 V, a ne 5 V. Koriste se ulazi A0, A1 i A2.

Također sam implementirao dva okidačka izlaza za arpeggio signale, poput onih potrebnih za arpegiranje starih 80 -ih, poput Korga Polysixa i Rolanda Juno 6/60. Spojeni su na pinove A3 i A4, ali možete koristiti digitalne pinove ako želite da budu digitalni signali. U slučaju da namjeravate sekvencionirati sintetizator kompatibilan sa signalima V-Trig (okidač napona), bit će dovoljan otpornik serije 1k ohma za smanjenje trenutnog odvoda; u slučaju S-Trig (prekidača okidača) sintetizatora, trebat će vam jednostavan sklop pnp sklopke (vidi priloženu shemu).

MIDI IN i OUT krugovi shematizirani su na priloženim slikama. Uočite da se, za razliku od većine arduina, Rx1 i Tx1 prema zadanim postavkama koriste na DUE pločama umjesto Rx0 i Tx0. Ovo je sjajno jer možete prenijeti svoju skicu bez potrebe za isključivanjem Rx svaki put. Uočite također da sam koristio optički sprežnik H11L1 jer nisam mogao raditi kako bi trebao uobičajeni 6N138 unutar ograničenja Arduino DUE 3.3V.

Korak 4: Softver

Skica je napisana unutar Arduino IDE -a i mora se učitati na vašu Arduino DUE ploču. Neću ulaziti u detalje o tome kako prenijeti skicu na vaš arduino DUE. Ako vam je ovo prvo iskustvo s Arduinom DUE, pročitajte ovo. Ako je ovo vaše prvo iskustvo s arduino IDE -om, pročitajte i ovo.

Ažurirani firmver možete preuzeti OVDJE (github veza).

Skica se oslanja na izvrsnu FortySevenEffects MIDI biblioteku. Morat ćete instalirati knjižnicu u svoj arduino IDE.

MIDI izlazne note dodijeljene svakom bubnju definirane su varijablom drumNote [STEPS_NUM] u skici. Možete ih promijeniti po svojoj volji.

Broj MIDI izlaznog kanala za bubnjeve prema zadanim je postavkama postavljen na "10".

Ja nisam koder u stvarnom životu i zasigurno postoje bolji načini da kodiramo ono što nam je potrebno ovdje. Ako ste koder s bilo kojim prijedlogom, dobrodošli ste! Molimo vas da mi pošaljete bilo koju varijaciju koja može povećati učinkovitost/djelotvornost koda i ja ću je uključiti u glavnu skicu (očito citirajući suradnika!).

Korak 5: Vodič za brzi početak

BUBNJEVI: STOPAK PO KORAK

Čim uključite sekvencer (ili ga resetirate), učitat će se prazna sekvenca. Sekvencer se podiže u načinu uređivanja, s držanjem/zaključavanjem prve trake i odabirom prvog bubnja (tj. Udarca). To znači da ćete pritiskom na bilo koji gumb za korake tim koracima odmah dodijeliti "udarac". Glasnoća bubnja koja će se aktivirati određena je položajem potenciometra "volumen" pri dodjeljivanju bubnja koraku. Ponovnim pritiskom na prethodno dodijeljenu tipku koraka prekinut ćete dodjelu trenutnog bubnja na tom koraku.

Ako pritisnete gumb "start", vidjet ćete kako vaše LED diode trče slijeva nadesno, odozgo prema dolje, sviraju "kick" svaki put kad se prijeđe korak udarca.

Držanjem pritisnute tipke "shift" vidjet ćete da je LED dioda za prvi korak uključena (što znači da je odabran prvi bubanj) i LED za prvi korak u četvrtom redu (što znači da ste zaključani za prvu traku). Sada možete promijeniti bubanj koji želite slijediti pritiskom na drugu tipku koraka držeći pritisnutu tipku "shift". Nakon odabira novog bubnja otpustite "shift". Sve LED diode će se isključiti (jer novi bubanj niste dodijelili nijednom koraku) i možete početi dodjeljivati novi bubanj koracima. Ponovite za sve bubnjeve koji su vam potrebni (do 12).

Sada kada ste stvorili lijep uzorak, držite pritisnut "shift" i isključite označeni korak u donjem redu (to bi trebao biti prvi korak 4. reda ako ste usvojili isti raspored koji sam koristio): samo ste " otključan "slijed koji će sada prolaziti kroz sve 4 trake. Donje sirove LED diode počet će se "pomicati", pokazujući koja se traka trenutno svira (napredovanje trake). Primijetit ćete da će se tek u prvom taktu svirati niz, a sve ostale 3 taktove ne stvaraju zvukove. To je zato što ste bubnjeve dodijelili samo prvoj traci, a ostali ostaju prazni. Možete ih napuniti ručno (odaberite novu traku pritiskom na jedan od zadnja 4 gumba koraka, držeći pritisnutu tipku "shift", odaberite jedan od bubnjeva, ispunite korake itd. Itd.) Ili kopirati i zalijepiti slijed traka koji ste stvorili na sve trake ulaskom u način uređivanja (ponovno zaključavanje na prvu traku) i pritiskom na "zapis" (koji sada preuzima funkciju "zalijepi") držeći pritisnutu tipku "shift". Lakše je učiniti nego što je rečeno.

BUBNJEVI: NAČIN IGRE UŽIVO

Prilikom pokretanja sekvencer je u načinu uređivanja. Da biste izašli iz načina uređivanja, morate držati pritisnut "shift" i pritisnuti gumb trake koji se trenutno drži/zaključava (gumb za korak u 4. retku je uključen). Ovo će isključiti LED prethodno zaključane trake i otključati slijed. Sada ste u načinu igranja uživo.

U načinu reprodukcije uživo pritiskom na bilo koju tipku koraka aktivirat će se bubanj povezan s tom tipkom.

Ako želite uživo snimiti svoju sekvencu, započnite sekvencu pritiskom na "play", zatim pritisnite tipku "record" (samo u načinu reprodukcije uživo). Uključit će se crvena LED dioda. Snimit će se vaše sviranje na matrici upravljačke ploče sekvence bubnja ili bilo koja dolazna MIDI bilješka (tj. S vanjske MIDI tipkovnice).

Ostale funkcije

Pritiskom na tipku "roll", trenutno aktivni bubanj svirat će se u svakom koraku (u roli). Ovo radi i u "korak-po-korak" i u "live-play" načinu rada.

Pritiskom na bilo koju tipku koraka, dok držite pritisnutu tipku za isključivanje zvuka, bubanj povezan s tim korakom bit će utišan (ili uključen). Ovo radi i u "korak-po-korak" i u "live-play" načinu rada.

Određenu sekvencu bubnja možete izbrisati pritiskom na tipku relativnog koraka, dok držite pritisnutu tipku "REC".

Možete izbrisati cijeli slijed (soft reset) držeći pritisnutu tipku "start" dulje od 3 sekunde.

Svoj slijed možete "zamahnuti" okretanjem potenciometra "zamah".

MIDI eho možete onemogućiti/omogućiti pritiskom na tipku "mute" držeći pritisnutu tipku "shift". Kad je omogućen MIDI eho (zadano), sve informacije prisutne na priključku MIDI INPUT bit će poslane na priključnicu MIDI OUTPUT (samo MIDI bilješka uključena, napomena isključena, ton savijanja, naknadni dodir i promjena kontrole).

I ulaz i izlaz sata MIDI implementirani su i omogućeni prema zadanim postavkama. U slučaju da se ne prima ulaz sata, tempo se postavlja namjenskim potenciometrom. U slučaju da se primi ulaz MIDI sata, tempo se izračunava iz toga, a potenciometar za tempo neće reagirati. MIDI sat se uvijek šalje na MIDI izlaz.

Korak 6: Ritam odjeljak

Prvotna ideja bila je "čisti" MIDI bubanj sekvencer od 64 koraka za sekvenciranje do 12 neovisnih dijelova bubnja. Nakon nekog testiranja, primijetio sam da bi bilo lijepo kontrolirati i bas liniju, pa sam značajku promjenjivog tona po koraku dodijelio samo najnovijem bubnju. Nakon toga sam ponovno izmijenio kôd kako bih mogao promijeniti visinu u svakom bubnju i kontrolirati do 12 sintisajzera. Kasnije sam dodao reviziju koja je dodala polifoniju (polifonija po sintetizaru je prema zadanim postavkama ograničena na 3).

Da rezimiramo:

- dok ste u načinu rada UŽIVO, ako je uključeno snimanje uživo i započinje slijed, možete dolazne MIDI bilješke zabilježiti, polifono. Podaci o visini i glasnoći bit će pohranjeni. Podaci o zavojima i naknadnom dodiru su izgubljeni. Poruke o promjeni MIDI kontrole bit će pohranjene. Imajte na umu da imate samo jedan CC utor po kanalu, po koraku.

- Ako je niz zaustavljen, možete snimiti do 3 vrijednosti visine tona (akord) na određeni korak određene trake držeći pritisnutu tipku odredišnog koraka i pritiskom (istovremeno ili jednu po jednu) željenih tipki na tipkovnica spojena na MIDI IN priključak.

Primijeti da:

- bilješka pokrenuta na koraku "ubije se" na sljedećem koraku. Kako biste povećali duljinu note, djelujte na "otpusni" VCA parametar vašeg sintisajzera.

- za razliku od bubnjeva, note se ne mogu svirati u roli pritiskom na tipku "roll".

- Prilikom snimanja UŽIVO, dolazni podaci MIDI kanala pohranjuju se u relativnom koraku "bubnja" (MIDI kanal #1 -> "bubanj" #1 i tako dalje).

Možete obrisati određeni niz sintetičara pritiskom na odgovarajuću tipku koraka "bubanj" držeći pritisnutu tipku "REC". Ponovnim pritiskom izbrisat ćete i niz bubnjeva. Ako je snimljen CC niz, to će se prvo izbrisati, a zatim slijedi redoslijed CC -> Synth -> Drum

Korak 7: Arpeggio okidači

Rani '80 -ti pre-MIDI sintisajzeri često su opremljeni s ponekad zvanim "ulaz za okidanje arpeđa". Slanjem signala okidanja od 2,5 do 5,0 V (V-okidač ili "naponski okidač") ili uzemljenjem ulaza okidača arpeđa (S-Trig ili "prekidač okidača") možete reći sintisajzeru da napreduje jedan korak u arpeggio sekvenci. To bi moglo biti teško upravljati pomoću sekvencera bez namjenskog izlaza okidača (ponekad zvukovi "rimshot" iz namjenskog izlaza gdje/se koriste kao prikladni za V-trig sintetičare), ali s pločom mikrokontrolera možete lako upravljati takvim signalom i upravljati vaš sintetički arpeggio kako je tvornički namjeravao.

Ovaj sekvencer ritam sekcija uključuje mogućnost pokretanja arpeggiatora dva različita sintetizatora, neovisno.

Upotreba je vrlo jednostavna: odaberite bubanj 11 ili 12 (pritisnite korak 11 ili 12 dok držite "shift") i aktivirajte korake za koje želite da se arpeggiator pomakne za jedan korak. Na ovaj način možete "programirati" vrlo uske 1/16 note dužine redovnih arpeđa aktivirajući sve korake, ili 1/8 aktivirajući svaki drugi korak. Osim toga, možete programirati složenije arpeđe aktiviranjem koraka slijedeći neredovitu putanju.

Ovisno o vrsti signala okidača koji podržava sintetizator koji želite kontrolirati, trebat će vam jednostavna hardverska modifikacija: u slučaju V-trig (tj. Rolandovih sintetizatora) postavite 1 Kohm otpornik u seriju s izlazom arduino okidača. U slučaju S-okidača (tj. Korgovih sintetizatora), upotrijebite shemu pričvršćenu na korak "ožičenja" za siguran okidač prekidača.

Korak 8: Ako stvari ne funkcioniraju …

Čak i relativno jednostavan projekt poput ovoga najvjerojatnije neće raditi 100% pri prvom uključivanju. Ovdje je, na primjer, omjer između gumba i LED dioda ključan, a nesavršeno ožičenje učinit će sekvencer beskorisnim.

Kako bih testirao sve različite komponente koje čine sekvencera koraka, napisao sam jednostavnu testnu skicu (vidi privitak).

Najnoviji testni firmver možete preuzeti OVDJE (GitHub veza).

Testna skica radi na sljedeći način:

- pritisnite tipku koraka: odgovarajuća LED dioda bi se trebala uključiti i na MIDI izlaz će se poslati napomena MIDI na kanalu 10.

- pritisnite funkcijski gumb: uključit će se jedna od prvih 5 LED dioda.

-okrenite potenciometar: LED diode će svijetliti u skladu s tim (prvi lonac -> prvi red LED dioda, drugi lonac -> drugi red LED dioda, treći lonac -> treći red LED dioda).

- ako je primljena MIDI nota, prva LED lampica će treperiti.

Imajte na umu da je MIDI odjek omogućen prema zadanim postavkama. To znači da ako imate MIDI petlju između sintetizatora i MRSS-a, to bi moglo uzrokovati probleme (doživio sam predvidljivu dvostruku notu koja se aktivira većinu vremena, ali i vrlo niske bilješke te općenito nereagirajuća ugrađena tipkovnica sa sintetizatorima s MIDI-jem djeluje kao MIDI kroz … ovisi o sintetizatoru). U tom slučaju onemogućite MIDI eho pritiskom na tipku "mute" držeći pritisnutu tipku "shift".

Preporučeni: