Përmbajtje:

Renditësi i Seksionit të Ritmit Arduino MIDI: 8 hapa (me fotografi)
Renditësi i Seksionit të Ritmit Arduino MIDI: 8 hapa (me fotografi)

Video: Renditësi i Seksionit të Ritmit Arduino MIDI: 8 hapa (me fotografi)

Video: Renditësi i Seksionit të Ritmit Arduino MIDI: 8 hapa (me fotografi)
Video: Arduino 64 Step Sequencer с минимальным аппаратным обеспечением, адаптированный из Drum Sequencer 2024, Korrik
Anonim
Renditësi i Seksionit të Ritmit Arduino MIDI
Renditësi i Seksionit të Ritmit Arduino MIDI
Renditësi i Seksionit të Ritmit Arduino MIDI
Renditësi i Seksionit të Ritmit Arduino MIDI
Renditësi i Seksionit të Ritmit Arduino MIDI
Renditësi i Seksionit të Ritmit Arduino MIDI

Të kesh një makinë të mirë daulle softuerike është e lehtë dhe e lirë sot, por përdorimi i një miu më vret kënaqësinë për mua. Kjo është arsyeja pse unë kuptova atë që fillimisht ishte menduar si një sekuencues i pastër i pajisjeve MIDI me hapa 64 hapa të aftë për të shkaktuar deri në 12 elementë të ndryshëm të daulleve (pjesë), por më pas evoluoi në një sekuencues të seksionit të ritmit …

… Ja ku po shkojmë!

Hapi 1: Si funksionon

Ky harduer nuk mund të gjenerojë tinguj më vete, por vetëm të rendisë harduerin e jashtëm përmes MIDI. Kjo do të thotë që ju do të keni nevojë për një gjenerator të zërit të tingujve tuaj të daulles (një mostër ose një sintetizues daulle ose një kompjuter me programin tuaj të preferuar të daulleve ose çfarëdo që preferoni) i aftë të nxitet nga mesazhet e shënimeve MIDI.

Composedshtë e përbërë kryesisht nga një matricë 4 x 4 butona (me LED), një për çdo hap të një shiriti. E gjithë sekuenca e 64 hapave përbëhet nga 16 hapa të shumëzuar me 4 shirita. Çdo hap është 1/16 e një shënimi.

Ekzistojnë dy mënyra të funksionimit: modaliteti i drejtpërdrejtë dhe modaliteti i redaktimit.

Në modalitetin e redaktimit ju në të vërtetë mund të redaktoni sekuencën tuaj hap pas hapi duke përcaktuar se cili daulle do të luajë në secilin hap.

Instrumenti juaj i jashtëm harduerik ("daulle") aktivizohet duke dërguar një mesazh MIDI "në" për mesazhe të ndryshëm "MIDI shënim" në numrin e kanalit "10". Si parazgjedhje, këto numra shënimesh janë

daulle #1 (dmth goditje) -> Numri i shënimit MIDI "60"

daulle #2 (d.m.th. kurth) -> Numri i shënimit MIDI "62"

daulle #3 (dmth. duartrokitje) -> Numri i shënimit MIDI "64"

daulle #4 (d.m.th. Hihat) -> Numri i shënimit MIDI "65"

daulle #5 -> Numri i shënimit MIDI "67"

daulle #6 -> Numri i shënimit MIDI "69"

daulle #7 -> Numri i shënimit MIDI "71"

daulle #8 -> Numri i shënimit MIDI "72"

daulle #9 -> Numri i shënimit MIDI "74"

daulle #10 -> Numri i shënimit MIDI "76"

daulle #11 -> Numri i shënimit MIDI "77"

daulle #12 -> Numri i shënimit MIDI "79"

Nëse preferoni, mund t'i ndryshoni këto vlera (dhe kanalin MIDI) në skicë.

Në modalitetin e drejtpërdrejtë duke shtypur butonat e hapave mund të luani daulle të luajtura të lidhura me secilin hap duke dërguar mesazhe MIDI përmes serialit. Mund të regjistroni drejtpërdrejt shtypjet e butonave dhe/ose mesazhet e ardhura MIDI.

Si në modalitetin e drejtpërdrejtë ashtu edhe në modalitetin e redaktimit, mund të heshtni (ose të çaktivizoni) një daulle, të "rrokullisni" daullen aktualisht aktive dhe të "lëvizni" sekuencën tuaj.

Seksioni i ritmit?

Shumica e sekuencatorëve të daulleve janë thjesht nxitës të pjesëve të daulleve MIDI, me një numër fiks MIDI shënimi për secilin tingull daulle. Në këtë rast, ne kemi një "sekuencues të seksionit të ritmit" më shumë sesa një "sekuencues daulle" të pastër, sepse mund të rendisni edhe sintetizuesit.

Lexoni UDHZUESIN E SHPEJT T START FILLIMIT për më shumë detaje dhe një listë të plotë të veçorive.

Hapi 2: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Ky projekt është realizuar rreth një bordi Arduino DUE. Unë u përpoqa ta mbaja harduerin sa më të thjeshtë, domethënë duke shmangur përdorimin e drejtuesve LED. Arduino DUE ka të ngjarë të mos jetë bordi më i përshtatshëm për të trajtuar një sërë LED pa një shofer LED për shkak të kufijve të tij aktual të daljes (nga 5 mA në 15 mA, në varësi të kunjit), por është Arduino më i shpejtë dhe koha është gjithçka kur merret me sekuencues. Pra, mbani në mend se ky konfigurim i harduerit ka të ngjarë të shtyjë Arduino -në tuaj për shkak të kufijve të tij dhe mund ta dëmtojë atë në një afat të gjatë.

Duke u thënë kështu, hardueri është kryesisht një sekuencues 16 butona, 16 LED (një për secilin hap) me 5 butona shtesë për funksionet dhe 3 potenciometra. Unë gjithashtu shtova një LED të kuq pasi shtova një funksion regjistrimi të drejtpërdrejtë.

Këtu është fatura e materialeve:

- 1x Arduino për shkak

- 16x butona çasti, pa fiksim me LED të integruar (mund të përdorni LED të jashtëm nëse preferoni, por mos harroni të përdorni LED me fuqi të ulët !!)

- 1x LED i kuq (fuqi e ulët!)

- 5 herë butona shtypi, të cilët nuk fiksohen

- 3x 10K kthesë e vetme, lineare, potenciometra

- 3x monton montim 3x 6.5 mm femër

- 1 x kuti plastike (kam përdorur një kuti 190x140x70 mm)

- Lidhës 2x 5-pin DIN për panelin e montimit të panelit femëror (MIDI)

- 1x dërrasë e dyanshme 70x90 mm

- Shirit me kokë me pin me rreshta të vetëm 2 x 40 kunja (2.54 mm), më mirë nëse është i veshur me ar

- 1 x optokoupler H11L1

- 1 diodë 1N4148

- Rezistenca 23x 1000 ohm

- Rezistorë 3x 220 ohm

- 2x transistorë BC547 pnp

… tela lidhës, disa kabllo, stacion saldimi, një mjet shpimi … dhe kohë të lirë:)

Ju lutemi vini re se butonat në fotografi janë zëvendësuar me një lloj tjetër butonash (edhe më të lirë …) për shkak të kërcimit të egër…

Koha e nevojshme për të përfunduar projektin: 8 - 10 orë

KUJDES: GJITHMON vishni syze dhe doreza mbrojtëse gjatë shpimit! Pikat e nxehta të materialit mund të shfaqen në sytë tuaj ose të vijnë në kontakt me lëkurën tuaj dhe të shkaktojnë djegie ose dëmtime edhe më serioze për ju ose njerëzit përreth jush

Hapi 3: Wirings

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Butonat e hapit lidhen drejtpërdrejt me kunjat Arduino nga 22 (hapi 1) deri në 37 (hapi16). Butonat e tokës janë të lidhur me margaritë dhe të lidhur me tokën Arduino DUE. Nuk ka nevojë për rezistencë tërheqëse ose tërheqëse sepse rezistencat tërheqëse të integruara Arduino janë të aktivizuara nga softueri (shiko skicën).

E njëjta gjë vlen edhe për 5 butona shtesë (kunjat Arduino 2, 3, 4, 5 dhe 6), të përdorura për funksione të tjera përveç hapave. Unë gjithashtu vendosa një lidhës fole femrash 6.5 mm paralelisht me butonin "start" në mënyrë që të mund të luaja dhe ndaloja sekuencat e mia në distancë.

LED -të janë të lidhur me tokëzimin (zinxhiri i daisit) dhe kunjat Arduino DUE nga 38 (hapi #1) deri në 53 (hapi #16) në seri me një rezistencë 1K ohm secila për të kufizuar rrjedhjen aktuale dhe për të ruajtur mikrokontrolluesin.

Potenciometrat janë të lidhur siç tregohet në figurën e bashkangjitur. Vini re se voltazhi i referencës është 3.3V, jo 5V. Hyrjet e përdorura janë A0, A1 dhe A2.

Kam zbatuar gjithashtu dy dalje të shkaktimit për sinjalet arpexho, si ato që kërkohen për të arpegjizuar sintezën e vjetër të viteve 80 si Korg Polysix dhe Roland Juno 6/60. Ato janë të lidhura me kunjat A3 dhe A4, por ju mund të përdorni kunjat dixhitale nëse preferoni të jeni sinjale dixhitale. Në rast se do të rendisni një sintet të pajtueshëm me sinjalet V-Trig (shkaktuesi i tensionit), një rezistencë e serisë 1k ohm për të zvogëluar rrjedhjen aktuale do të jetë e mjaftueshme; në rast të një sintetike S-Trig (kaloni shkas), do t'ju duhet një qark i thjeshtë kalimi pnp (shihni skemën e bashkangjitur).

Qarqet MIDI IN dhe OUT janë skematizuar në fotot e bashkangjitura. Vini re se, në kundërshtim me shumicën e arduinos, Rx1 dhe Tx1 përdoren si parazgjedhje në bordet DUE në vend të Rx0 dhe Tx0. Kjo është e mrekullueshme sepse mund të ngarkoni skicën tuaj pa pasur nevojë të shkëputni Rx çdo herë. Vini re gjithashtu se kam përdorur një optokiftues H11L1 sepse nuk isha në gjendje të kandidoja ashtu siç duhej një 6N138 i zakonshëm brenda kufirit Arduino DUE 3.3V.

Hapi 4: Softuer

Skica është shkruar brenda Arduino IDE dhe duhet të ngarkohet në tabelën tuaj Arduino DUE. Unë nuk do të hyj në detaje se si ta ngarkoni skicën në arduino tuaj për shkak. Nëse kjo është përvoja juaj e parë me Arduino DUE lexojeni këtë. Nëse kjo është përvoja juaj e parë me arduino IDE, ju lutemi lexoni edhe këtë.

Ju mund të shkarkoni firmware -in e përditësuarHERE (lidhja github).

Skica mbështetet në bibliotekën e shkëlqyer FortySevenEffects MIDI. Ju do të duhet të instaloni bibliotekën në IDE tuaj arduino.

Shënimet MIDI të caktuara për secilën daulle përcaktohen nga variabla drumNote [STEPS_NUM] në skicë. Ju mund t'i ndryshoni ato sipas dëshirës tuaj.

Numri i kanalit MIDI jashtë për daulle është vendosur në "10" si parazgjedhje.

Unë nuk jam një kodues në jetën reale dhe me siguri ka mënyra më të mira për të koduar atë për të cilën kemi nevojë këtu. Nëse jeni kodues me ndonjë sugjerim, jeni të mirëpritur! Ju lutemi më dërgoni çdo ndryshim që mund të rrisë efikasitetin/efektivitetin e kodit dhe unë do ta përfshij atë në skicën kryesore (duke cituar Kontribuesin padyshim!).

Hapi 5: Udhëzuesi për fillimin e shpejtë

BARNA: SHEPQIMI HAP-NY HAP

Sapo të ndizni sekuencerin tuaj (ose ta rivendosni atë), një sekuencë boshe do të ngarkohet. Sekuenceri ndizet në modalitetin e redaktimit, me shiritin e parë të mbajtur/mbyllur dhe daullen e parë (domethënë goditjen) të zgjedhur. Kjo do të thotë që duke shtypur çdo buton hap, menjëherë do t'i caktoni "goditje" atyre hapave. Vëllimi i daulles që do të aktivizohet përcaktohet nga pozicioni i potenciometrit "volum" kur caktoni daullen në hap. Duke shtypur përsëri një buton hap të caktuar më parë, do të çaktivizoni daullen aktuale në atë hap.

Nëse shtypni butonin "start", shihni LED -të tuaj që funksionojnë nga e majta në të djathtë, nga lart poshtë, duke luajtur "kick" sa herë që një hap goditjeje kryqëzohet.

Duke mbajtur të shtypur butonin "shift" do të shihni të ndezur LED -in e hapit të parë në rreshtin e parë (do të thotë që daulle e parë është zgjedhur) dhe LED -in e hapit të parë në rreshtin e katërt (që do të thotë se jeni të kyçur në shiritin e parë). Tani mund të ndryshoni daullen që dëshironi të renditni duke shtypur një buton tjetër hap duke mbajtur të shtypur "shift". Pas zgjedhjes së daulles së re, lëshoni "shift". Të gjitha LED -të do të fiken (sepse nuk e keni caktuar daullen e re në asnjë hap) dhe mund të filloni caktimin e daulles së re në hapa. Përsëriteni për të gjitha daullet që ju nevojiten (deri në 12).

Tani që keni krijuar një model të bukur, mbani shtypur "shift" dhe fikni hapin me rreshta të lartë në rreshtin e poshtëm (duhet të jetë hapi i parë i rreshtit të 4 -të nëse keni miratuar të njëjtin plan urbanistik që kam përdorur): keni vetëm " zhbllokuar "sekuencën e cila tani do të kalojë në të 4 shufrat. LED -të e para të papërpunuara do të fillojnë të "lëvizin", duke treguar se cila shirit aktualisht po luhet (përparimi i shiritit). Ju do të vini re se vetëm kur në shiritin e parë do të luajë një sekuencë, me të gjitha 3 shiritat e tjerë që nuk prodhojnë tinguj. Kjo ndodh sepse ju keni caktuar bateri vetëm në shiritin e parë, ndërsa të tjerat lihen bosh. Ju mund t'i mbushni ato me dorë (zgjidhni një shirit të ri duke shtypur një nga butonat e fundit me 4 hapa duke mbajtur shtypur "shift", zgjidhni një nga daullet, mbushni hapat etj. Etj.) Ose kopjoni dhe ngjitni sekuencën e shiritit që keni krijuar në të gjitha shiritat duke hyrë në modalitetin e redaktimit (ri-kyçeni në shiritin e parë) dhe duke shtypur "record" (i cili tani merr funksionin "paste") duke mbajtur të shtypur "shift". Bëhet më lehtë sesa u tha.

DRUMS: MODE PLAY LIVE

Me fillimin, sekuencuesi është në modalitetin e redaktimit. Për të dalë nga modaliteti i redaktimit ju duhet të mbani të shtypur "shift" dhe shtypni butonin e shiritit të mbajtur aktualisht/të kyçur (butoni i hapit në rreshtin e 4 -të i ndezur). Kjo do të fikë LED -in e shiritit të kyçur më parë dhe do të zhbllokojë sekuencën. Tani jeni në modalitetin e luajtjes së drejtpërdrejtë.

Në modalitetin e luajtjes live, duke shtypur çdo buton hap, daulle e lidhur me atë buton do të aktivizohet.

Nëse doni të regjistroni drejtpërdrejt sekuencën tuaj, filloni sekuencën duke shtypur "luaj", pastaj shtypni butonin "regjistro" (vetëm në modalitetin e luajtjes live). Një LED i kuq do të ndizet. Luajtja juaj në matricën e panelit të kontrollit të sekuencerit të daulleve ose ndonjë mesazh të shënimit MIDI në hyrje (dmth. Nga një tastierë e jashtme MIDI) do të regjistrohet.

Funksione të tjera

Duke shtypur butonin "roll", daulle aktualisht aktive do të luhet në çdo hap (në një rrotull). Kjo funksionon në të dy mënyrat "hap pas hapi" dhe "live-play".

Duke shtypur ndonjë buton hap duke mbajtur shtypur butonin "hesht", daulleja e lidhur me atë hap do të mbyllet (ose pa zë). Kjo funksionon në të dyja mënyrat "hap pas hapi" dhe "live-play".

Ju mund të pastroni një sekuencë të veçantë daulleje duke shtypur butonin e hapit relativ duke mbajtur të shtypur butonin "REC".

Ju mund të pastroni të gjithë sekuencën (rivendosja e butë) duke mbajtur presed butonin "start" për më shumë se 3 sekonda.

Ju mund të "lëkundni" sekuencën tuaj duke e kthyer potenciometrin "lëkundës".

Ju mund të çaktivizoni/aktivizoni jehonën MIDI duke shtypur butonin "heshtje" ndërsa shtypni butonin "shift". Kur jehona MIDI është e aktivizuar (e parazgjedhur), çfarëdo informacioni që është i pranishëm në folenë MIDI INPUT do të dërgohet në folenë MIDI OUTPUT (vetëm joshja e shënimit MIDI të aktivizuar, shënimi i fikur, përkulja e katranit, pas -prekjes dhe kontrollit).

Të dy hyrjet dhe daljet e orës MIDI zbatohen dhe aktivizohen si parazgjedhje. Në rast se nuk merret asnjë hyrje e orës, tempi vendoset me potenciometrin e dedikuar. Në rast se merret një hyrje e orës MIDI, tempo llogaritet nga ajo dhe potenciometri i tempit nuk do të përgjigjet. Ora MIDI i dërgohet gjithmonë MIDI jashtë.

Hapi 6: Seksioni i ritmit

Ideja origjinale ishte një sekuencues "i pastër" 64 -hapësh i daulleve MIDI për të renditur deri në 12 pjesë të pavarura të daulleve. Pas disa testimeve, vura re se do të ishte mirë të kontrolloja edhe një linjë basi, dhe e caktova veçorinë e një ndryshimi të hapit për hap vetëm në daullen e fundit. Pas kësaj, ndryshova përsëri kodin në mënyrë që të mund të ndryshoja lartësinë në çdo daulle dhe të kontrolloja deri në 12 sintetizues. Një rishikim më vonë shtova polifoni (polifonia për sintet e kufizuar në 3 si parazgjedhje).

Për të përmbledhur:

- ndërsa jeni në modalitetin LIVE, nëse regjistrimi LIVE është i përfshirë dhe sekuenca fillon, ju mund të regjistroni mesazhe hyrëse të shënimeve MIDI, polifonike. Informacioni i lartësisë dhe vëllimit do të ruhet. Informacioni i lakimit të katranit dhe i pasthoutch humbin. Mesazhet e ndryshimit të kontrollit MIDI do të ruhen. Mbani në mend se keni vetëm një vend CC për kanal, për hap.

- Nëse sekuenca është ndalur, mund të regjistroni deri në 3 vlera të hapit (akord) në një hap specifik të një shiriti të caktuar duke mbajtur të shtypur butonin e hapit të destinacionit dhe duke shtypur (në të njëjtën kohë ose një nga një) çelësat e dëshiruar në tastiera e lidhur me portën MIDI IN.

Vini re se:

- shënimi i shkaktuar në një hap "vritet" në hapin tjetër. Për të rritur gjatësinë e shënimit, veproni sipas parametrit VCA të "lëshimit" të sintetizuesit tuaj.

- në kundërshtim me daullet, notat nuk mund të luhen në një rrotull duke shtypur butonin "rrokulliset".

- Kur regjistroni LIVE, të dhënat hyrëse të kanalit MIDI ruhen në hapin relativ të "daulles" (kanali MIDI #1 -> "daulle" #1 dhe kështu me radhë).

Ju mund të pastroni një sekuencë specifike sintetike duke shtypur butonin relativ të hapit "daulle" duke mbajtur të shtypur butonin "REC". Shtypja e tij përsëri do të pastrojë edhe sekuencën e daulles. Nëse është regjistruar një sekuencë CC, ajo do të jetë e para që do të fshihet, pastaj duke ndjekur rendin CC -> Synth -> Drum

Hapi 7: Shkakton Arpeggio

Sintetat e hershme të viteve '80 para-MIDI shpesh janë të pajisura me një nganjëherë të quajtur "hyrje e shkrepjes arpegjio". Duke dërguar një sinjal trig prej 2.5 deri 5.0 V (V-trig ose "shkaktues i tensionit") ose duke tokëzuar hyrjen e shkyçësit arpeggio (S-Trig ose "kaloni këmbëzën") ju mund t'i thoni sintetizuesit të përparojë një hap në një sekuencë arpexho. Kjo mund të jetë e vështirë për tu menaxhuar me një sekuencues pa një shkas të dedikuar (nganjëherë tingëllon "rimshot" nga një vend i dedikuar ku/përdoren si një mjet për sintetet V-trig) por me një bord mikrokontrollues ju lehtë mund të menaxhoni një sinjal dhe kontroll të tillë sintet arpexhioja juaj siç ishte menduar nga fabrika.

Ky sekuencues i seksionit të ritmit përfshin mundësinë për të shkaktuar arpeggiatorin e dy sintetizuesve të ndryshëm, në mënyrë të pavarur.

Përdorimi është shumë i lehtë: zgjidhni daullen 11 ose 12 (shtypni hapin 11 ose 12 ndërsa shtypni "shift") dhe aktivizoni hapat që dëshironi që arpeggiatori të lëvizë një hap. Në këtë mënyrë ju mund të "programoni" shumë fort 1/16 -tën e një shënimi që zgjat arpegjitë e rregullta duke aktivizuar të gjitha hapat, ose 1/8 duke aktivizuar çdo hap tjetër. Përveç kësaj, ju mund të programoni arpezhe më komplekse duke aktivizuar hapat që ndjekin një rrugë jo të rregullt.

Në varësi të llojit të sinjalit të shkasit të mbështetur nga sintetika që dëshironi të kontrolloni, do t'ju duhet një modifikim i thjeshtë i harduerit: në rast të V-trig (dmth. Roland synths) vendosni një rezistencë 1 Kohm në seri me dalje të shkyçjes arduino. Në rast të një S-trig (dmth. Korg synths) përdorni atë shematic të bashkangjitur në hapin "instalime elektrike" për një shkas të sigurt të kalimit.

Hapi 8: Nëse gjërat nuk funksionojnë…

Edhe një projekt relativisht i thjeshtë si ky ka shumë të ngjarë që nuk do të funksionojë 100% herën e parë që e ndizni. Këtu, Për shembull, korrespondenca midis butonave dhe LED -ve është vendimtare, dhe një instalime elektrike e pakrahasueshme do ta bëjë sekuencerin të padobishëm.

Për të testuar të gjithë përbërësit e ndryshëm që përbëjnë sekuencuesin e hapave, unë shkrova një skicë të thjeshtë testi (shiko shtojcën).

Ju mund të shkarkoni firmware -in e fundit të provës KETU (lidhja GitHub).

Skica e testit funksionon si më poshtë:

- shtypni një buton hap: LED përkatës duhet të ndizet dhe një shënim MIDI në kanalin 10 do të dërgohet në daljen MIDI.

- shtypni një buton funksioni: një nga 5 LED -et e para do të ndizet.

-ktheni një potenciometër: LEDS do të ndizet në përputhje me rrethanat (tenxhere e parë -> rreshti i parë i LED -ve, tenxherja e dytë -> rreshti i dytë i LED -ve, tenxhereja e tretë -> rreshti i tretë i LED -ve).

- nëse merret një shënim MIDI, LED i parë do të pulsojë.

Mbani në mend se jehona MIDI është e aktivizuar si parazgjedhje. Kjo do të thotë që nëse keni një lak MIDI midis një sintetike dhe MRSS, kjo mund të shkaktojë probleme (kam përjetuar një shënim të parashikueshëm të dyfishtë që shkakton shumicën e rasteve, por edhe shënime shumë të ulëta të shkaktuara dhe një tastierë të integruar përgjithësisht të pandjeshme me sinteza me MIDI duke vepruar si MIDI Throu … varet nga sintetika). Nëse ky është rasti, çaktivizoni MIDI echo duke shtypur butonin "heshtje" duke mbajtur të shtypur butonin "shift".

Recommended: