Sadržaj:

Arduino MIDI Rhythm Section Sequencer: 8 koraka (sa slikama)
Arduino MIDI Rhythm Section Sequencer: 8 koraka (sa slikama)

Video: Arduino MIDI Rhythm Section Sequencer: 8 koraka (sa slikama)

Video: Arduino MIDI Rhythm Section Sequencer: 8 koraka (sa slikama)
Video: Arduino 64 Step Sequencer с минимальным аппаратным обеспечением, адаптированный из Drum Sequencer 2024, Juli
Anonim
Arduino MIDI Rhythm Section Sequencer
Arduino MIDI Rhythm Section Sequencer
Arduino MIDI Rhythm Section Sequencer
Arduino MIDI Rhythm Section Sequencer
Arduino MIDI Rhythm Section Sequencer
Arduino MIDI Rhythm Section Sequencer

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

… evo ga!

Korak 1: Kako to funkcionira

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 (sempler ili sintisajzer bubnjeva ili računar sa vašim omiljenim softverom bubnjeva ili šta god želite) koji se može pokrenuti MIDI bilješkama.

Uglavnom se sastoji od matrice sa 4 x 4 dugmeta (sa LED diodama), po jednom za svaki korak trake. Čitav niz od 64 koraka sastoji se od 16 koraka pomnoženih sa 4 takta. Svaki korak je 1/16 note.

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 sekvencu definiranjem bubnja koji će svirati u svakom koraku.

Vaš vanjski hardverski instrument ("bubanj") pokreće se slanjem MIDI "note on" poruke za različite "MIDI note numbers" na broju kanala "10". Podrazumevano su ovi brojevi bilješki

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

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

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

bubanj #4 (tj. Hihat) -> MIDI nota broj "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) na skici možete promijeniti ako želite.

U načinu rada uživo pritiskom na tipke za korake možete uživo 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" svoju sekvencu.

Ritam odjeljak?

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

Za više detalja i potpunu listu funkcija 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 održati hardver što jednostavnijim, odnosno 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 sekvencerom. 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 sastavljen od 16 dugmadi, 16 LED dioda (po jedna za svaki korak) sa 5 dodatnih dugmadi za funkcije i 3 potenciometra. Dodao sam i crvenu LED diodu nakon dodavanja funkcije snimanja uživo.

Evo spiska materijala:

- 1x Arduino DUE

- 16x kratkih, bez zaključavanja tipki 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 dugmadi

- 3x 10K jednokretni, linearni, potenciometri

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

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

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

- 1x dvostrana perx ploča 70x90 mm

- 2x 40 -polna muška jednoredna zaglavna traka (2,54 mm), bolje pozlaćena

- 1x optika H11L1

- 1x 1N4148 dioda

- 23x 1000 ohmski otpornici

- 3x 220 ohmski otpornici

- 2x BC547 pnp tranzistor

… žica za lemljenje, neki kablovi, 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 završetak projekta: 8 - 10 sati

UPOZORENJE: UVIJEK nosite zaštitne naočale i rukavice tokom bušenja! Vruće ljuskice materijala mogu se projicirati na vaše oči ili doći u kontakt s kožom i uzrokovati opekotine 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 tasteri su direktno povezani sa Arduino pinovima od 22 (korak 1) do 37 (korak 16). Gumbi uzemljeni su lančanicom i povezani s Arduino DUE uzemljenjem. Nema potrebe za pullup ili pulldown otpornicima jer su Arduino integrirani pullup otpornici softverski omogućeni (pogledajte 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 sa 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 masu (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 strujnog odvoda i očuvanje mikrokontrolera.

Potenciometri su povezani 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 više volite da budu digitalni signali. U slučaju da namjeravate sekvencirati 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 (pogledajte priloženu shemu).

MIDI IN i OUT kola su shematizirana 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. Obratite pažnju i na to da sam koristio optičku sprezaljku H11L1 jer nisam mogao raditi kako bi trebao uobičajeni 6N138 unutar Arduino DUE ograničenja 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 postaviti skicu na vaš arduino DUE. Ako je ovo vaše 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 odličnu FortySevenEffects MIDI biblioteku. Morat ćete instalirati biblioteku 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 je prema zadanim 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 efikasnost/efektivnost koda i ja ću je uključiti u glavnu skicu (očigledno citirajući saradnika!).

Korak 5: Vodič za brzi početak

BUBNJEVI: SEPENCIJIRANJE KORAK 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 koje dugme za korake odmah dodijeliti "udarac" tim koracima. Jačina zvuka bubnja koji će se aktivirati podešava se položajem potenciometra za jačinu zvuka prilikom dodeljivanja bubnja koraku. Ponovnim pritiskom na prethodno dodijeljeno dugme koraka prekinut ćete dodjelu trenutnog bubnja na tom koraku.

Ako pritisnete tipku "start", vidjet ćete da vaše LED diode idu s lijeva na desno, odozgo prema dolje, igrajući "kick" svaki put kada se pređe korak koraka.

Držanjem pritisnutog dugmeta "shift" vidjet ćete da je LED dioda prvog koraka uključena (što znači da je odabran prvi bubanj) i LED prvog koraka u četvrtom redu (što znači da ste zaključani za prvu traku). Sada možete promijeniti bubanj koji želite sekvencirati pritiskom na još jedno dugme dok držite 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čao "sekvencu koja će sada prelaziti sve 4 trake. Donje sirove LED diode počet će se "pomicati", pokazujući koja se traka trenutno reproducira (progresija trake). Primijetit ćete da će se tek u prvom taktu svirati niz, a sve ostale 3 taktove ne proizvode zvukove. To je zato što ste bubnjeve dodijelili samo prvoj traci, a ostali su ostavljeni prazni. Možete ih napuniti ručno (odaberite novu traku pritiskom na jedno od zadnja 4 koračna dugmeta držeći pritisnutu tipku "shift", odaberite jedan od bubnjeva, popunite korake itd. Itd.) Ili kopirajte i zalijepite niz 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 uraditi 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 pritisnuto "shift" i pritisnuti dugme trake koje se trenutno drži/zaključava (dugme za korak u 4. redu je uključeno). Ovo će isključiti LED prethodno zaključane trake i otključati niz. Sada ste u načinu rada za reprodukciju uživo.

U načinu reprodukcije uživo pritiskom na bilo koje dugme za korake aktivirat će se bubanj povezan s tim gumbom.

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čiće se crvena LED dioda. Vaše sviranje na matrici kontrolne ploče sekvence bubnja ili bilo koja dolazna MIDI bilješka (tj. S vanjske MIDI tipkovnice) bit će snimljena.

Ostale funkcije

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

Pritiskanjem bilo kojeg dugmeta za korake i držanjem tastera za isključivanje zvuka bubanj povezan sa tim korakom bit će utišan (ili uključen). Ovo radi i u "step-by-step" i "live-play" načinima.

Određenu sekvencu bubnja možete obrisati pritiskom na dugme relativnog koraka držeći pritisnuto dugme "REC".

Možete izbrisati cijeli niz (soft reset) držeći pritisnuto dugme "start" duže 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 pritisnutom tipku "shift". Kada je omogućen MIDI eho (zadano), sve informacije prisutne na priključku MIDI INPUT bit će poslane u priključak MIDI OUTPUT (samo MIDI bilješka uključena, napomena isključena, ton savijanja, naknadni dodir i promjena kontrole).

I ulaz i izlaz MIDI sata su implementirani 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 na MIDI sat, tempo se računa 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 nezavisnih dijelova bubnja. Nakon nekog testiranja, primijetio sam da bi bilo lijepo kontrolirati i bas liniju, pa sam dodijelio funkciju promjenjivog tona po koraku samo najnovijem bubnju. Nakon toga sam ponovo izmijenio kôd tako da sam mogao promijeniti visinu tona u svakom bubnju i kontrolirati do 12 sintisajzera. Kasnije sam dodao reviziju i dodao polifoniju (polifonija po sintetiziranju je prema zadanim postavkama ograničena na 3).

Da rezimiramo:

- dok ste u režimu UŽIVO, ako je snimanje UŽIVO uključeno i započinje sekvenca, možete dolazne MIDI bilješke bilježiti, polifono. Podaci o visini i jačini zvuka bit će pohranjeni. Informacije o krivini nagiba i naknadnom dodiru su izgubljene. Poruke o promjeni MIDI kontrole bit će pohranjene. Imajte na umu da imate samo jedan CC utor po kanalu, po koraku.

- Ako je sekvenca zaustavljena, možete snimiti do 3 vrijednosti visine tona (akord) na određeni korak određene trake držeći pritisnuto dugme odredišnog koraka i pritiskom (istovremeno ili jedan po jedan) na željene tipke na tastatura spojena na MIDI IN port.

Primijetite da:

- bilješka pokrenuta na koraku se "ubija" na sljedećem koraku. Da biste povećali dužinu note, djelujte na "otpusni" VCA parametar vašeg sintisajzera.

- za razliku od bubnjeva, note se ne mogu svirati u rolni pritiskom na dugme "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će dugme "drum" step dok držite pritisnuto dugme "REC". Ponovnim pritiskom izbrisat ćete i sekvencu bubnja. Ako je snimljen CC niz, to će se prvo izbrisati, a zatim slijedi redoslijed CC -> Synth -> Drum

Korak 7: Arpeggio okidači

Rani 80-ih pre-MIDI sintisajzeri često su opremljeni sa ponekad nazvanim "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. Ovo bi moglo biti teško upravljati pomoću sekvencera bez namjenskog izlaza okidača (ponekad zvukovi "rimshot" iz namjenskog izlaza gdje se/koriste kao korisni za V-trig sintetičare), ali s pločom mikrokontrolera možete lako upravljati takvim signalom i upravljati vaš sintetički arpeđo onako kako je to tvornica namjeravala.

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

Upotreba je vrlo jednostavna: odaberite bubanj 11 ili 12 (pritisnite korak 11 ili 12 dok držite tipku "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 povezanu na korak "ožičenja" za siguran okidač prekidača.

Korak 8: Ako stvari ne funkcioniraju …

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

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

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

Testna skica funkcionira na sljedeći način:

- pritisnite dugme sa korakom: odgovarajuća LED lampica bi se trebala uključiti i MIDI napomena na kanalu 10 će biti poslana na MIDI izlaz.

- pritisnite funkcijsko dugme: 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 echo prema zadanim postavkama omogućen. 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 note i 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čuje se: