Orodha ya maudhui:

Arduino Multi-track Kituo cha Kitanzi cha MIDI: 6 Hatua
Arduino Multi-track Kituo cha Kitanzi cha MIDI: 6 Hatua

Video: Arduino Multi-track Kituo cha Kitanzi cha MIDI: 6 Hatua

Video: Arduino Multi-track Kituo cha Kitanzi cha MIDI: 6 Hatua
Video: Forgotten Rail Yard Under Chicago's Largest Historic Building - Merchandise Mart 2024, Julai
Anonim
Arduino Multi-track Kituo cha Kitanzi cha MIDI
Arduino Multi-track Kituo cha Kitanzi cha MIDI
Arduino Multi-track Kituo cha Kitanzi cha MIDI
Arduino Multi-track Kituo cha Kitanzi cha MIDI
Arduino Multi-track Kituo cha Kitanzi cha MIDI
Arduino Multi-track Kituo cha Kitanzi cha MIDI

Kituo cha kitanzi, au kitanzi, kimsingi ni chombo cha kuchezesha kwa wakati halisi viboko vyako vya kitanzi (vitanzi). Haikusudiwa kama media ya kurekodi, lakini kifaa cha kuunda msukumo bila usumbufu (na mwishowe fanya moja kwa moja…).

Kuna vituo vingi vya kitanzi vya kurekodi sauti huko nje, zote mbili kwa njia ya vifaa vya kujitolea (karibu kila mtengenezaji wa gitaa ina bidhaa yake) au programu ya kompyuta (bora Linux Sooper Looper au windows Mobius, kutaja inayojulikana zaidi). Ningeweza kupata miradi michache tu juu ya DIY zisizo za sauti lakini vitanzi vya MIDI, ikimaanisha chombo cha kurekodi hafla za MIDI na kuzicheza mara moja nyuma kwenye kitanzi; nyingi ya miradi hii (yote, napaswa kusema) imeachwa au imepotea… vizuri, hapa tuko na mradi kamili kwa kila mtu!

Kituo hiki cha kitanzi cha Arduino MIDI hufuatilia tu hafla zinazoingia za MIDI na kuzicheza tena. Lazima ubonyeze tu kanyagio la rekodi, unda mkali wako bora kabisa na uacha kurekodi kwa kubonyeza kanyagio tena. Rahisi sana:)

Mradi huu unategemea kupata vifaa vya wazi (Arduino DUE), programu (firmware yangu mwenyewe na Arduino IDE) na inaweza kuboreshwa kukuonyesha upendeleo.

Wacha tufanye!

PS: ndio, ni rahisi sana!

Hatua ya 1: Mipaka

Kabla ya kuanza kupata sehemu za vifaa vya mradi huo, wacha nikuambie ni ipi mipaka yake ili uweze kuamua kwenda mbele au kuacha hapa.

- kwa sababu ya mipaka ya vifaa (kumbukumbu ya Aduino DUE kimsingi), urefu wa kiwango cha juu cha kifungu unachoweza kurekodi ni mdogo kwa sekunde 46.

- matanzi hayawezi kuhifadhiwa na kuchezwa baada ya kuzima. Unaweza kuwatuma kwa PC na kuwaokoa, ingawa.

- hakuna uhesabuji wa maelezo.

- Saa ya MIDI inasaidiwa, lakini kwenye hatua ya awali kwa wakati huu.

- Ujumbe wa MIDI uliorekodiwa umeandikwa, kumbuka, kudhibiti mabadiliko na bend ya lami; jumbe zingine za MIDI kama vile baada ya kugusa, mabadiliko ya programu, SysEx, n.k hazipuuzwi.

- max polyphony imewekwa hadi 10 kwa chaguo-msingi (tena, mipaka ya kumbukumbu ya Aduino DUE).

Kwa upande mzuri, mito ya MIDI kutoka kwa anuwai anuwai, kila moja inapitisha kwenye kituo chake, inasaidiwa; hii inamaanisha kuwa unaweza kurekodi ala nyingi za MIDI mara moja, zilizowekwa au na wimbo wao wenyewe (faida zaidi kwenye hatua inayofuata;)).

Ikiwa kuishi na mapungufu haya inaonekana kuwa ya busara (na ni kwangu), utakuwa na wakati mzuri sana na jambo hili;)

Hatua ya 2: Jinsi inavyofanya kazi

Kituo cha kitanzi cha MIDI hapa ni rahisi sana kufanya kazi. Inafanya kazi kwa njia sawa na vituo vile vya kitanzi vya sauti vya sauti kila mtengenezaji wa kanyagio ana katalogi yake mwenyewe.

1) Chagua wimbo ambao unataka kurekodi mlolongo wako wa MIDI. Kwa chaguo-msingi "moja" imechaguliwa, lakini unaweza kuibadilisha kwa kubonyeza kitufe kimoja cha nyimbo (moja kwa kila wimbo).

2) Unapobonyeza kitufe cha "REC" kubadili / kugeuza miguu mara ya kwanza, looper anahusika. Taa ya kijani inaangaza. Itasubiri hadi barua yako ya kwanza ipokewe kabla ya kuanza kurekodi mlolongo / riff halisi.

3) Unapomaliza mlolongo wako, bonyeza kitufe cha "REC" kubadili / kugeuza mguu tena ili kufafanua urefu halisi wa yule anayetamba. Taa ya kijani inazima. Looper ataanza kuzaliana mlolongo wako wa MIDI mara moja. Ukifikia wakati wa juu, kurekodi kutaacha moja kwa moja na mlolongo utaanza kuzalishwa kwa kitanzi.

4) Sasa, unaweza kuamua kupitisha mlolongo wako kwenye wimbo wa sasa au chagua wimbo mpya na urekodi juu yake, kwa kukatisha tamaa ya kubadili "REC" / mguu wa miguu. Katika visa vyote viwili LED ya manjano itawaka, hata ikiwa wimbo mpya hauna kitu, kwa sababu ni wimbo wa "mtumwa" (umetumwa kwa wimbo wa kwanza kabisa uliorekodiwa). Bonyeza tena ili kuacha kunywa kupita kiasi (taa ya manjano inazimwa).

Kwa wale ambao mnaweza kushikamana na vituo vya kupaza sauti, maendeleo haya ya MIDI yanaitwa "REC / PLAY / OVERDUB" na ndio pekee inayoungwa mkono.

Ikiwa wakati wowote unajisikia kuwa overdub yako ya hivi karibuni sio sawa, unaweza kuifuta kwa kubonyeza kitufe cha "tendua" sweta / mguu. Unaweza kufuta wimbo wote wa sasa kwa kushika kanyagio cha "REC" kwa zaidi ya sekunde 3; unaweza kuweka upya looper (kuweka upya programu) kwa kubonyeza vitufe vitatu vya kwanza vya wimbo kwa wakati mmoja au kwa kusafisha nyimbo zote zilizotumiwa.

Unaweza kunyamazisha / kunyamazisha wimbo kwa kubonyeza kitufe cha wimbo wa wimbo wa sasa.

Unaweza kutuma HABARI! ujumbe kwa kubonyeza kitufe cha hofu. Unaweza hata kutuma PANIC! kwa kubonyeza vifungo viwili vya kwanza vya nyimbo kwa wakati mmoja.

Looper imejengwa kwa metronome rahisi: noti kwenye ujumbe wa MIDI kwa nambari ya nambari "64" inatumwa kwa 100 BPM kwenye kituo cha 10 (kituo ambacho labda mashine yako ya ngoma inasikiliza). Unaweza kuongeza au kupunguza tempo kwa kujaribu encoder ya macho; kwa kukandamiza swichi ya usimbuaji wa macho unaweza kuwezesha / kulemaza metronome. Angalia kuwa mashine yako ya ngoma lazima iwekwe kucheza sauti (mtego, bass au sauti yoyote unayopendelea) wakati wa kupokea noti ya MIDI "64" au metronome itakuwa bubu.

Toleo la barebone la kituo hiki cha MIDI linaweza kutengenezwa na kubadili mguu mmoja kuanza na kuacha kurekodi. Kuweka swichi kubonyeza kwa zaidi ya sekunde 3 kutaanzisha tena kituo cha kitanzi.

Ikiwa unataka kuwekeza wakati wa ziada kutengeneza vifaa, kuongeza swichi na vifungo kutafanya kituo cha kitanzi kiwe rahisi zaidi. Katika picha ni jinsi nilivyosanidi nyimbo zangu nne (hadi tano zinaungwa mkono) kituo kamili cha kitanzi.

KUMBUKA MUHIMU: vifaa kwenye picha zangu ni mfano. Nilitumia soketi zaidi ya jack kuliko inahitajika lakini vifungo vinne tu vya nyimbo. Hii ni kwa sababu wakati nilianza mradi sikuwa na hakika kabisa mahitaji ya mwisho yatakuwa nini.

Vifungo na swichi za miguu ni sawa na elektroniki na unaweza kutumia moja badala ya nyingine; kwa mahitaji yangu, kwa kuwa kila wakati kuna nafasi ndogo sana ya sakafu (miguu ya athari ya kupendeza;)), nimezuia miguu ya miguu kwa kazi moja ya REC.

Hatua ya 3: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

Muswada wa vifaa:

Kamili iliyoangaziwa-5-tracks kituo cha kitanzi cha MIDI

1x Arduino KUTOKANA

Vifungo 7x vya kushinikiza kwa muda mfupi

Kesi ya plastiki ya 1x (nilitumia kesi ya 150 x 110 x 70 mm)

2x 5-pin DIN jopo la kike mlima kiunganishi cha tundu la MIDI

1x 6.3 mm paneli mlima tundu la jack

1x pande mbili 50x70 mm bodi ya manukato

5x 3 mm LED (kijani)

1x 3 mm LED (njano)

Usimbuaji wa macho wa 1x

Optocoupler ya 1x H11L1

1x 1N4148 diode

Vipinzani vya 3x 1000 ohm

Vipinzani vya 3x 220 ohm

Vipinzani vya 10x 470 ohm

Baadhi ya waya za solder, nyaya zingine, kituo cha kuuza … na muda wa ziada:)

Wakati unaohitajika kukamilisha mradi: masaa 6-9

Kwa nini sio UNO?

Vipimo vya kwanza (na nambari ya kuanza kazi) iliandikwa kwenye bodi ya "kawaida" ya arduino UNO. Bodi hii ina mipaka ya RAM ambayo ilinilazimisha kupunguza polyphony kuwa "4", max urefu hadi chini ya sekunde 4 na azimio la 40 ms kwa max. Hii bila utunzaji wa njia nyingi. Kwa kuondoa ufuatiliaji wa kasi pia, niliweza kuongeza muda wa kurekodi hadi sekunde 7.

Ukiwa na UNO unaweza kutambua kituo cha "kufanya kazi" cha kitanzi cha MIDI basi, lakini ni mdogo sana.

Hatua ya 4: Programu

Programu hiyo inategemea sana maktaba ya FortySevenEffects MIDI. Maktaba hii ni nzuri na inafanya miradi ya aina hii kufanywa hata kwa wahusika wasio na nambari kama mimi.

Arduino IDE na jamii ni sehemu nyingine muhimu ya "mafanikio" haya.

Sitatoa maelezo juu ya jinsi ya kupakia mchoro kwenye DUU yako ya arduino. Ikiwa hii ndio uzoefu wako wa kwanza na IDU ya arduino, tafadhali soma hii kwanza.

Niliandika matoleo mawili tofauti ya nambari, kwa kuzingatia njia mbili tofauti kabisa.

Kanuni ya kufanya kazi ya toleo la 1 ni kwamba wakati wa kurekodi au kupitisha zaidi ukaguzi wa Arduino DUE na duka kwenye kumbukumbu (tete) ya hafla za MIDI zilizosaidiwa (kumbuka, kumbuka, kudhibiti mabadiliko na kuinama kwa lami); mhimili wa muda umehesabiwa kwa hatua za ms 20 na ujumbe uliopokelewa huhifadhiwa katika nafasi hizo ipasavyo. Wakati wa kucheza, barua zilizohifadhiwa za MIDI zinarudishwa kwa sinth kuheshimu upimaji wa wakati.

Kanuni ya kufanya kazi ya toleo la 2, badala yake, ni "tu" kurekodi hafla ya midi na wakati ambao hafla hiyo inapaswa kusababishwa. Toleo la 2 lina mipaka tofauti na toleo 1 (iliyoorodheshwa kwenye hatua ya awali). jaribu zote mbili na utumie inayokufaa zaidi.

Kuna utunzaji wa saa ya awali pia, lakini itahitaji viboreshaji kadhaa kufanya kazi kama inavyostahili. Nambari hufikiria kuwa unarekodi kitanzi cha baa 4/4 - 4 (beats 16).

Unaweza kuzima saa ya nje kwa kushinikiza kitufe cha "hofu" wakati wa kuwasha kitanzi.

Nambari zimepakiwa HAPA. Maoni yamewekwa juu yao yote, ili uweze kupindua hizo firmware kwa mapenzi yako;)

Hatua ya 5: Wirings

Wirings
Wirings
Wirings
Wirings
Wirings
Wirings

Mizunguko ya MIDI IN na MIDI OUT imeripotiwa kwenye picha zilizoambatanishwa. Kumbuka kuwa TX1 na RX1 hutumiwa, sio TX0 na RX0.

Pini za kuingiza za Arduino DUE haziwezi kushughulikia 5V, lakini 3.3V; hii ndio sababu optocoupler ya H11L1 hutumiwa badala ya 6N138 ya kawaida. Nina ushahidi kwamba kutumia 6N138 pamoja na mgawanyiko wa voltage kupunguza voltage ya ishara inayoenda kwa TX1, kama ilivyo kwenye prototipe yangu ya kwanza, inaweza kufanya kazi vibaya katika seti zingine.

LED zinaunganishwa na pini za pato la Arduino DUE kupitia vipingaji 470 vya Ohm. Unaweza kutumia vipinga hadi 1K ohm ili kupunguza sasa kwenda kwa LED na kupunguza mwangaza wao.

Vifungo / swichi / jacks zimeunganishwa moja kwa moja na pini za kuingiza za Arduino shukrani kwa vipingaji vya pullup ya pembejeo, iliyoamilishwa kwenye mchoro. Hakuna haja ya vipinga nje (pulldown).

Encoder ya macho imeunganishwa na GND na + 5V. Inakwenda kwa pini za kuingiza za Arduino zinazopitia vipingamizi 2 280 ohm, moja kwa kila pato la data ya macho.

Arduino DUE inaendeshwa moja kwa moja kutoka kwa pini ya 5V na ardhi kupitia kitovu cha + 5V DC.

Sababu zote zimefungwa ikiwa.

Iliyoambatanishwa ni meza na unganisho kutoka kwa pini za arduino hadi pembezoni mwa IN / OUT. Nambari za siri za Arduino zinaonyesha zile zilizo kwenye vifaa vyangu vya aina na zinaweza kuangalia (kwa njia fulani ni…) bila mpangilio. Unaweza kurekebisha kwa urahisi eneo la pini kwenye mchoro kwa mapenzi yako;)

Hatua ya 6: Je! Ikiwa nina Chanzo cha MIDI Zaidi ya Moja?

Je! Ikiwa Nina Chanzo cha MIDI Zaidi ya Moja?
Je! Ikiwa Nina Chanzo cha MIDI Zaidi ya Moja?

Baada ya utaftaji mfupi wa ujumuishaji wa MIDI, niligundua kuwa suluhisho la vitendo (na la bei rahisi) lilikuwa kibadilishaji cha MIDI.

Kiboreshaji cha MIDI ni kifaa kisichofaa kinachowezesha chanzo cha MIDI na kulemaza vyanzo vingine vyote. Rahisi kama hiyo.

Moyo wa kibadilishaji cha MIDI ni anuwai nyingi (yangu ni msimamo 6), swichi 2 za miti. Ni muhimu sana kwamba idadi ya nguzo ni "2" kwa sababu kila tundu la MIDI lazima likatwe kabisa ikiwa halijachaguliwa na sio kwa mawasiliano na zingine. Imeambatanishwa ni picha ya ile niliyoitambua kwa matumizi yangu mwenyewe.

Kwenye LINK HII mpango.

Ilipendekeza: