Turinys:

„Arduino“kelių takelių MIDI kilpų stotis: 6 žingsniai
„Arduino“kelių takelių MIDI kilpų stotis: 6 žingsniai

Video: „Arduino“kelių takelių MIDI kilpų stotis: 6 žingsniai

Video: „Arduino“kelių takelių MIDI kilpų stotis: 6 žingsniai
Video: Arduino pamoka Nr. 5: Spaudžiame mygtukus 2024, Liepa
Anonim
„Arduino“kelių takelių MIDI kilpų stotis
„Arduino“kelių takelių MIDI kilpų stotis
„Arduino“kelių takelių MIDI kilpų stotis
„Arduino“kelių takelių MIDI kilpų stotis
„Arduino“kelių takelių MIDI kilpų stotis
„Arduino“kelių takelių MIDI kilpų stotis

Kilpinė stotis arba kilpelė iš esmės yra įrankis, leidžiantis realiuoju laiku atkurti instrumentinius rifus (kilpas). Ji skirta ne kaip įrašymo laikmena, o priemonė įkvėpimui formuoti nesiblaškant (ir galiausiai atlikti gyvai …).

Yra daug garso įrašymo kilpos stočių, tiek specialios aparatinės įrangos (beveik kiekvienas gitaros pedalų gamintojas turi savo produktą), tiek kompiuterinės programinės įrangos (puikus Linux Sooper Looper arba „Windows Mobius“) pavardės. Galėjau rasti tik keletą projektų apie „pasidaryk pats“ne garso, bet MIDI kilpinius įrenginius, o tai reiškia įrankį įrašyti MIDI įvykius ir iš karto juos atkurti; Dauguma šių projektų (sakyčiau, visi) yra apleisti arba prarasti … na, čia mes turime išsamų projektą visiems!

Ši „Arduino MIDI“kilpos stotis tiesiog stebi gaunamus MIDI įvykius ir juos atkuria. Jums tereikia paspausti įrašų pedalą, sukurti geriausią rifą ir sustabdyti įrašymą dar kartą paspaudus pedalą. Super lengva:)

Šis projektas pagrįstas lengvai randama atvira aparatine įranga („Arduino DUE“), programine įranga (mano programinė įranga ir „Arduino IDE“) ir gali būti pritaikyta pagal jūsų pageidavimus.

Padarykime tai!

PS: Taip, tai labai pigu!

1 žingsnis: ribos

Prieš pradėdami įsigyti techninės įrangos dalių projektui, leiskite man pasakyti, kokios yra jo ribos, kad galėtumėte nuspręsti eiti pirmyn arba sustoti čia.

- dėl aparatinės įrangos apribojimų (iš esmės „Aduino DUE“atmintis) numatytasis maksimalus įrašomos frazės ilgis yra ribojamas iki 46 sekundžių.

- išjungus kilpas negalima išsaugoti ir atkurti. Tačiau galite juos nusiųsti į kompiuterį ir išsaugoti.

- nėra užrašų kvantavimo.

- MIDI laikrodis yra palaikomas, tačiau šiuo metu jis yra preliminarus.

- Įrašyti MIDI pranešimai yra pastabos, užrašai, valdymo pakeitimai ir žingsnio posūkis; neatsižvelgiama į kitus MIDI pranešimus, pvz., po prisilietimo, programos pakeitimo, „SysEx“ir kt.

- maksimali polifonija nustatyta į 10 (vėlgi, „Aduino DUE“atminties apribojimai).

Pliusas yra tas, kad palaikomi MIDI srautai iš kelių skirtingų instrumentų, kiekvienas perduodamas savo kanalu; tai reiškia, kad galite įrašyti kelis MIDI instrumentus vienu metu, sluoksniuotai arba su savo takeliu (daugiau privalumų kitame žingsnyje;)).

Jei gyventi su šiais apribojimais atrodo protinga (ir man tai tinka), su šiuo dalyku praleisite labai gerai;)

2 žingsnis: kaip tai veikia

Čia esančią MIDI kilpos stotį valdyti labai paprasta. Jis veikia panašiai kaip ir tos aparatinės įrangos garso kilpos stotys, kurias kiekvienas gitaros pedalų gamintojas turi savo kataloge.

1) Pasirinkite takelį, į kurį norite įrašyti savo MIDI seką. Pagal numatytuosius nustatymus pasirinktas „vienas“takelis, tačiau jį galite pakeisti paspausdami vieną iš takelių mygtukų (po vieną kiekvienam takeliui).

2) Kai pirmą kartą paspaudžiate jungiklį/pedalą „REC“, kilpelė įjungiama. Užsidega žalias šviesos diodas. Prieš pradėdami įrašyti tikrąją seką/rifą, ji lauks, kol bus gauta jūsų pirmoji pastaba.

3) Baigę seką, dar kartą paspauskite „REC“jungiklį/pedalą, kad nustatytumėte tikrąjį rifo ilgį. Užsidega žalias šviesos diodas. Looperis nedelsdamas pradės atkurti jūsų MIDI seką. Jei pasieksite maksimalų laiką, įrašymas bus automatiškai sustabdytas ir seka bus pradėta atkurti ciklu.

4) Dabar galite nuspręsti perrašyti savo seką dabartiniame takeliu arba pasirinkti naują takelį ir įrašyti į jį, paspausdami „REC“jungiklį/pedalą. Abiem atvejais geltonas šviesos diodas užsidegs, net jei naujas takelis yra tuščias, nes tai yra „vergas“(pavergtas pirmam įrašytam takeliui). Paspauskite dar kartą, kad sustabdytumėte perkaitimą (geltonas šviesos diodas užgęsta).

Tiems iš jūsų, kurie patogiai naudoja garso atkūrimo stotis, ši MIDI eiga vadinama „REC/PLAY/OVERDUB“ir yra vienintelė palaikoma.

Jei bet kuriuo metu manote, kad jūsų paskutinis perdavimas nėra tinkamas, galite jį ištrinti paspausdami „anuliuoti“jungiklį/pedalą. Galite išvalyti visą dabartinį takelį, laikydami nuspaustą „REC“pedalą ilgiau nei 3 sekundes; galite atkurti kilpą (programinės įrangos atstatymas) vienu metu paspausdami pirmuosius tris takelio mygtukus arba išvalydami visus naudojamus takelius.

Galite nutildyti/įjungti takelį paspausdami dabartinio takelio takelio mygtuką.

Galite atsiųsti paniką! pranešimą paspausdami panikos mygtuką. Jūs netgi galite atsiųsti PANIKĄ! pranešimą vienu metu paspausdami pirmuosius du takelių mygtukus.

„Looper“turi įmontuotą paprastą metronomą: pastaba apie MIDI pranešimą apie pastabos numerį „64“siunčiama 100 BPM 10 kanalu (kanalu, kurį, tikėtina, klausosi būgno aparatas). Galite padidinti arba sumažinti tempą pasukdami optinį kodavimo įrenginį; paspausdami optinio kodavimo jungiklį, galite įjungti/išjungti metronomą. Atkreipkite dėmesį, kad jūsų būgno mašina turi būti nustatyta taip, kad gautų MIDI užrašą „64“(skambesį, bosą ar bet kokį kitą jums patinkantį garsą), nes priešingu atveju metronomas bus nutildytas.

Šios MIDI kilpos stoties „barebone“versija gali būti sudaryta naudojant vieną kojos jungiklį, kad būtų galima pradėti ir sustabdyti įrašymą. Laikant nuspaustą jungiklį ilgiau nei 3 sekundes, kilpos stotis bus iš naujo inicijuota.

Jei norite investuoti šiek tiek daugiau laiko kurdami aparatūrą, pridėję jungiklius ir mygtukus, kilpos stotis taps lankstesnė. Paveikslėlyje parodyta, kaip aš sukonfigūravau savo keturis takelius (palaikoma iki penkių) pilnai veikiančią kilpos stotį.

SVARBI PASTABA: aparatūra mano nuotraukose yra prototipas. Aš naudojau daugiau lizdų lizdų, nei reikia, bet tik keturis mygtukus takeliams. Taip yra todėl, kad pradėdamas projektą aš nebuvau visiškai tikras, kokie bus galutiniai reikalavimai.

Mygtukai ir kojų jungikliai yra elektroniniai atitikmenys, todėl galite naudoti vieną, o ne kitą; mano poreikiams, kadangi visada yra per mažai grindų vietos (velniškai gražūs efektų pedalai;)), aš apribojau kojų pedalus vienai REC funkcijai.

3 žingsnis: Aparatūra

Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga

Sąmata:

Pilna 5 takelių MIDI kilpos stotis

1x „Arduino DUE“

7x momentiniai mygtukai

1x plastikinis dėklas (naudojau 150 x 110 x 70 mm dėklą)

2x 5 kontaktų DIN moterų skydelio laikiklio MIDI lizdo jungtis

1x 6,3 mm skydo laikiklio lizdas

1x dvipusė 50x70 mm perforavimo lenta

5x 3 mm LED (žalia)

1x 3 mm šviesos diodas (geltonas)

1x optinis kodavimo įrenginys

1x H11L1 optronas

1x 1N4148 diodas

3x 1000 omų rezistoriai

3x 220 omų rezistoriai

10x 470 omų rezistoriai

Kažkas lydmetalio viela, kai kurie kabeliai, litavimo stotis … ir laisvas laikas:)

Projektui atlikti reikalingas laikas: 6-9 valandos

Kodėl ne UNO?

Pirmieji bandymai (ir pradinis darbo kodas) buvo parašyti „įprastoje“arduino UNO lentoje. Ši plokštė turi RAM apribojimus, kurie privertė mane sumažinti polifoniją iki „4“, maksimalų ilgį iki mažiau nei 4 sekundžių ir maksimalią 40 ms skiriamąją gebą. Tai be daugiakanalio valdymo. Pašalinus greičio sekimą, įrašymo laiką galėjau padidinti iki 7 sekundžių.

Naudodami UNO galite realizuoti „veikiančią“MIDI kilpos stotį, tačiau labai ribotą.

4 žingsnis: programinė įranga

Programinė įranga labai priklauso nuo „FortySevenEffects“MIDI bibliotekos. Ši biblioteka yra puiki ir leidžia atlikti tokius projektus net ir nekoderiams, tokiems kaip aš.

„Arduino IDE“ir jos bendruomenė yra dar viena svarbi šios „sėkmės“dalis.

Nesigilinsiu į detales, kaip įkelti eskizą į jūsų arduino DUE. Jei tai yra jūsų pirmoji patirtis naudojant „arduino IDE“, pirmiausia perskaitykite tai.

Parašiau dvi skirtingas kodo versijas, pagrįstas dviem visiškai skirtingais požiūriais.

1 versijos veikimo principas yra tas, kad įrašymo ar perrašymo metu „Arduino DUE“patikrina ir išsaugo (nepastovioje) atmintyje palaikomus MIDI įvykius (pastabą, užrašą, valdymo keitimą ir pakreipimą); laiko ašis yra kvantuojama 20 ms žingsniais ir gauti pranešimai atitinkamai saugomi tuose laiko tarpsniuose. Žaidžiant išsaugoti MIDI pranešimai siunčiami atgal į sintezatorių, atsižvelgiant į laiko kvantavimą.

2 versijos veikimo principas yra „tiesiog“įrašyti midi įvykį ir laiką, kada įvykis turi būti suaktyvintas. 2 versijos apribojimai skiriasi nuo 1 versijos (išvardyti ankstesniame veiksme). Išbandykite abu ir naudokite tą, kuris jums labiau tinka.

Taip pat yra išankstinis laikrodžio valdymas, tačiau jį reikės šiek tiek patobulinti, kad jis veiktų taip, kaip turėtų. Kodas daro prielaidą, kad įrašote 4/4 - 4 juostų kilpą (16 dūžių).

Galite išjungti išorinį laikrodį laikydami nuspaudę „panikos“mygtuką, kai įjungiate kilpą.

Kodai įkeliami ČIA. Visur yra komentarai, kad galėtumėte sulenkti tą programinę -aparatinę įrangą savo nuožiūra;)

5 žingsnis: laidai

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

MIDI IN ir MIDI OUT grandinės pateikiamos pridėtose nuotraukose. Atkreipkite dėmesį, kad naudojami TX1 ir RX1, o ne TX0 ir RX0.

„Arduino DUE“įvesties kaiščiai negali valdyti 5 V, bet 3,3 V; todėl vietoj įprastesnio 6N138 naudojamas optinis jungiklis H11L1. Turiu įrodymų, kad naudojant 6N138 kartu su įtampos skirstytuvu, siekiant sumažinti signalo įtampą, einančią į TX1, kaip ir mano pirmajame prototipe, kai kuriose konfigūracijose gali veikti klaidingai.

Šviesos diodai yra prijungti prie „Arduino DUE“išvesties kaiščių per 470 omų rezistorius. Galite naudoti iki 1K omų rezistorius, kad sumažintumėte šviesos diodų srovę ir sumažintumėte jų šviesumą.

Mygtukai/jungikliai/lizdai yra tiesiogiai prijungti prie „Arduino“įvesties kaiščių dėl įvesties traukimo rezistorių, suaktyvintų eskize. Nereikia išorinių (ištraukiamų) rezistorių.

Optinis kodavimo įrenginys prijungtas prie GND ir +5V. Jis eina į „Arduino“įvesties kaiščius, einančius per 2 480 omų rezistorius, po vieną kiekvienam optiniam duomenų išėjimui.

„Arduino DUE“maitinamas tiesiai iš 5 V kaiščio ir įžeminamas per +5 V nuolatinės srovės stebulę.

Visi pagrindai yra susieti.

Pridedama lentelė su jungtimis nuo „arduino“kaiščių prie „IN/OUT“išorinio įrenginio. „Arduino“kaiščių skaičiai atspindi tuos, kurie yra mano propotipo aparatinėje įrangoje, ir gali atrodyti atsitiktinai (jie kažkaip yra …). Jūs galite lengvai pakeisti kaiščio vietą eskize savo nuožiūra;)

6 žingsnis: Ką daryti, jei turiu daugiau nei vieną MIDI šaltinį?

Ką daryti, jei turiu daugiau nei vieną MIDI šaltinį?
Ką daryti, jei turiu daugiau nei vieną MIDI šaltinį?

Trumpai ieškojęs MIDI susijungimo, radau, kad praktiškiausias (ir pigiausias) sprendimas yra MIDI perjungiklis.

MIDI perjungiklis yra pasyvus įrenginys, įgalinantis MIDI šaltinį ir išjungiantis visus kitus šaltinius. Paprasta taip.

MIDI perjungiklio širdis yra daugiafunkcinis (mano 6 pozicijų), 2 polių jungiklis. Labai svarbu, kad polių skaičius būtų „2“, nes kiekvienas MIDI lizdas turi būti visiškai nutrauktas, jei nepasirinktas, o ne bendraujant su kitais. Pridedu paveikslėlį to, kurį supratau savo reikmėms.

Šioje nuorodoje schema.

Rekomenduojamas: