Sisukord:

Arduino mitmerajaline MIDI Loop Station: 6 sammu
Arduino mitmerajaline MIDI Loop Station: 6 sammu

Video: Arduino mitmerajaline MIDI Loop Station: 6 sammu

Video: Arduino mitmerajaline MIDI Loop Station: 6 sammu
Video: YOU can control my workshop - Twitch + Arduino IOT 2024, Detsember
Anonim
Arduino mitmerajaline MIDI-silmusjaam
Arduino mitmerajaline MIDI-silmusjaam
Arduino mitmerajaline MIDI-silmusjaam
Arduino mitmerajaline MIDI-silmusjaam
Arduino mitmerajaline MIDI-silmusjaam
Arduino mitmerajaline MIDI-silmusjaam

Silmusjaam või looper on sisuliselt tööriist instrumentaalsete riffide (silmuste) reaalajas taasesitamiseks. See pole mõeldud salvestusmeediumiks, vaid vahendiks inspiratsiooni kujundamiseks ilma tähelepanu kõrvale juhtimata (ja lõpuks esinema otsepildis …).

Seal on palju helisalvestussilmuste jaamu, nii spetsiaalse riistvara (peaaegu igal kitarripedaali tootjal on oma toode) kui ka arvutitarkvara (suurepärane Linux Sooper Looper või Windows Mobius, kõige tuntumate) kujul. Ma leidsin vaid vähe projekte DIY mitteheli, kuid MIDI looperite kohta, mis tähendab tööriista MIDI sündmuste salvestamiseks ja nende koheseks esitamiseks; enamik neist projektidest (ma peaksin ütlema, et kõik) on hüljatud või kadunud … noh, siin on meil täielik projekt kõigile!

See Arduino MIDI silmusjaam jälgib lihtsalt sissetulevaid MIDI sündmusi ja esitab neid. Peate vajutama ainult salvestuspedaali, looma oma parima riffi ja lõpetama salvestamise, vajutades uuesti pedaali. Super lihtne:)

See projekt põhineb hõlpsasti leitaval riistvaral (Arduino DUE), tarkvaral (minu enda püsivara ja Arduino IDE) ning seda saab kohandada vastavalt teie eelistustele.

Teeme seda!

PS: Jah, see on super odav!

Samm: piirangud

Enne kui hakkate projekti jaoks riistvaraosi hankima, lubage mul öelda, millised on selle piirid, et saaksite otsustada, kas minna edasi või peatuda siin.

- riistvarapiirangute tõttu (põhiliselt Aduino DUE mälu) on salvestatava fraasi maksimaalne vaikepiirang 46 sekundit.

- silmuseid ei saa pärast sulgemist salvestada ega taasesitada. Siiski saate need arvutisse saata ja salvestada.

- pole märkmete kvantimist.

- MIDI -kella toetatakse, kuid praegu on see esialgne.

- Salvestatud MIDI -teated on märkus sisse, märkus välja lülitatud, kontrollimuudatused ja helikõrgus; muid MIDI -teateid, näiteks pärast puudutamist, programmi muutmist, SysExi jne, eiratakse.

- max polüfoonia on vaikimisi seatud 10 -le (jällegi Aduino DUE mälu piirangud).

Plussiks on see, et toetatakse MIDI -vooge mitmest erinevast instrumendist, millest igaüks edastab oma kanalil; see tähendab, et saate salvestada mitu MIDI -instrumenti korraga, kihiliselt või koos oma looga (rohkem plusse järgmisel etapil;)).

Kui nende piirangutega elamine tundub mõistlik (ja see on minu jaoks), on teil selle asjaga väga hea;)

2. toiming: kuidas see toimib

Siinset MIDI silmusjaama on väga lihtne kasutada. See toimib sarnaselt riistvara helisilmusjaamadega, mida igal kitarripedaali tootjal on oma kataloogis.

1) Valige rada, kuhu soovite oma MIDI jada salvestada. Vaikimisi on valitud lugu "üks", kuid saate seda muuta, vajutades ühte lugude nuppu (üks iga pala jaoks).

2) Kui vajutate lülitit/jalgpedaali "REC" esimest korda, lülitatakse looper sisse. Roheline LED süttib. Enne reaalse järjestuse/riffi salvestamise alustamist ootab see seni, kuni teie esimene noot on vastu võetud.

3) Kui olete oma jada lõpetanud, vajutage uuesti nuppu "REC"/jalgpedaali, et määrata rifi tegelik pikkus. Roheline LED süttib. Looper hakkab kohe teie MIDI jada taasesitama. Kui jõuate maksimaalse ajani, lõpetatakse salvestamine automaatselt ja järjestust hakatakse kordama.

4) Nüüd saate otsustada praegusel rajal oma järjestuse üleliidetavuse või valida uue raja ja sellele salvestada, vajutades lülitit „REC”/jalgpedaali. Mõlemal juhul süttib kollane LED, isegi kui uus rada on tühi, sest see on alamrada (orjastatud esimesele salvestatud rajale). Ülekubamise lõpetamiseks vajutage uuesti (kollane LED kustub).

Neile, kes tunnevad end helisilmustusjaamadega mugavalt, nimetatakse seda MIDI -edenemist "REC/PLAY/OVERDUB" ja see on ainus toetatud.

Kui tunnete, et teie viimane ülelaadimine pole kunagi korras, saate selle kustutada, vajutades lülitit/tagasipöördumisnuppu. Saate tühjendada kogu praeguse raja, hoides pedaali "REC" üle 3 sekundi all; saate looperi lähtestada (tarkvara lähtestamine), vajutades korraga kolme esimest raja nuppu või tühjendades kõik kasutatud rajad.

Loo vaigistamiseks/vaigistuse tühistamiseks vajutage praeguse raja pala nuppu.

Võite saata paanika! teade, vajutades paanikanuppu. Võite isegi paanika saata! sõnumit, vajutades samaaegselt kahte esimest pala nuppu.

Looperil on sisseehitatud lihtne metronoom: märkus numbri "64" kohta MIDI -teate kohta saadetakse kanalil 10 (kanal, mida teie trummimasin tõenäoliselt kuulab) kiirusega 100 BPM. Saate optilise kodeerija pööramisega tempot suurendada või vähendada; optilise kodeerija lülitit vajutades saate metronoomi lubada/keelata. Pange tähele, et teie trummimasin peab olema seadistatud esitama heli (lõks, bass või mis iganes heli teile meeldib), kui saate MIDI noodi "64", vastasel juhul on metronoom vaigistatud.

Selle MIDI silmusjaama palja luust versiooni saab koostada ühejalgse lülitiga salvestamise alustamiseks ja peatamiseks. Kui hoiate lülitit all üle 3 sekundi, lähtestab ringjaam uuesti.

Kui soovite riistvara arendamisse natuke rohkem aega investeerida, muudab lülitite ja nuppude lisamine silmusjaama paindlikumaks. Pildil on see, kuidas olen seadistanud oma neli rada (toetatakse kuni viit) täisfunktsionaalset silmusjaama.

TÄHTIS MÄRKUS: minu piltidel olev riistvara on prototüüp. Ma kasutasin rohkem pistikupesasid kui vaja, kuid ainult neli nuppu lugude jaoks. Seda seetõttu, et projekti alustades ei olnud ma lõplikult kindel, millised oleksid lõplikud nõuded.

Nupud ja jalglülitid on elektrooniliselt samaväärsed ning saate kasutada üht teise asemel; minu vajaduste jaoks, kuna põrandapinda on alati liiga vähe (pagana armsad efektpedaalid;)), olen piiranud jalgpedaalid ühe REC -funktsiooniga.

3. samm: riistvara

Riistvara
Riistvara
Riistvara
Riistvara
Riistvara
Riistvara
Riistvara
Riistvara

Materjalide nimekiri:

Täisfunktsionaalne 5-rajaline MIDI silmusjaam

1x Arduino DUE

7x hetkelised nupud

1x plastkarp (kasutasin 150 x 110 x 70 mm korpust)

2x 5-kontaktiline DIN naispaneelile paigaldatav MIDI-pistikupesa

1x 6,3 mm paneelipesa pistikupesa

1x kahepoolne 50x70 mm läbimõõduga plaat

5x 3 mm LED (roheline)

1x 3 mm LED (kollane)

1x optiline kodeerija

1x H11L1 optron

1x 1N4148 diood

3x 1000 oomi takistid

3x 220 oomi takistid

10x 470 oomi takistid

Mõned jootetraadid, mõned kaablid, jootmisjaam … ja vaba aeg:)

Projekti lõpuleviimiseks kuluv aeg: 6-9 tundi

Miks mitte ÜRO?

Esimesed testid (ja alustav töökood) kirjutati "tavalisele" arduino UNO tahvlile. Sellel plaadil on RAM -i piirangud, mis sundisid mind vähendama polüfooniat "4" -ni, maksimaalse pikkusega alla 4 sekundi ja eraldusvõimega 40 ms max. Seda ilma mitme kanaliga töötlemiseta. Ka kiiruse jälgimise eemaldamisega suutsin salvestusaega pikendada kuni 7 sekundini.

UNO abil saate realiseerida "töötava" MIDI silmusjaama, kuid väga piiratud.

4. samm: tarkvara

Tarkvara tugineb suuresti FortySevenEffects MIDI raamatukogule. See raamatukogu on suurepärane ja muudab sellised projektid teostatavaks isegi minusugustele mittekodeerijatele.

Arduino IDE ja selle kogukond on selle "edu" teine oluline osa.

Ma ei süvene üksikasjadesse, kuidas visandit oma arduino DUE -sse üles laadida. Kui see on teie esimene kogemus arduino IDE -ga, lugege seda kõigepealt.

Kirjutasin koodist kaks erinevat versiooni, mis põhinesid kahel täiesti erineval lähenemisel.

Versiooni 1 tööpõhimõte on see, et Arduino DUE kontrollib ja salvestab salvestamisel või üledubbeerimisel (lenduvasse) mällu toetatud MIDI -sündmused (märkus sisse, märkus välja, kontrolli muutmine ja helikõrgus); ajatelg kvanteeritakse 20 ms sammuga ja vastuvõetud sõnumid salvestatakse vastavalt nendesse piludesse. Mängimise ajal saadetakse salvestatud MIDI -sõnumid süntesaatorile tagasi, järgides ajakvantimist.

Selle asemel on versiooni 2 tööpõhimõte "lihtsalt" salvestada midi -sündmus ja aeg, millal sündmus tuleb käivitada. Versioonil 2 on erinevad piirangud kui versioonil 1 (loetletud eelmises etapis). proovige neid mõlemaid ja kasutage seda, mis teile paremini sobib.

Seal on ka kella esialgne käsitsemine, kuid see vajab mõningaid muudatusi, et töötada nii nagu peaks. Kood eeldab, et salvestate 4/4 - 4 takti silmuse (16 lööki).

Välise kella saab välja lülitada, hoides looperit sisse lülitades all nuppu "paanika".

Koodid laaditakse üles SIIT. Kommentaare lisatakse kõikjale, et saaksite neid püsivara oma äranägemise järgi painutada;)

Samm: juhtmed

Juhtmed
Juhtmed
Juhtmed
Juhtmed
Juhtmed
Juhtmed

MIDI IN ja MIDI OUT ahelad on esitatud lisatud piltidel. Pange tähele, et kasutatakse TX1 ja RX1, mitte TX0 ja RX0.

Arduino DUE sisendpoldid ei saa hakkama 5V, vaid 3,3V; see on põhjus, miks kasutatakse tavalisema 6N138 asemel optronit H11L1. Mul on tõendeid selle kohta, et 6N138 kasutamine koos pingejaguriga TX1 signaali pinge vähendamiseks, nagu minu esimeses prototorus, võib mõnes seadistuses ebaõnnestuda.

LEDid ühendatakse Arduino DUE väljundpistikutega 470 oomi takistite kaudu. LED -ide voolu vähendamiseks ja nende heleduse vähendamiseks võite kasutada kuni 1K oomi takistit.

Nupud/lülitid/pesad on otse ühendatud Arduino sisendpistikutega tänu visandis aktiveeritud sisendtõmbetakistitele. Pole vaja väliseid (allalaaditavaid) takisteid.

Optiline kodeerija on ühendatud GND ja +5V pingega. See läheb Arduino sisendtihvtidele, mis läbivad 2 480 oomi takistit, üks iga optilise andmesisendi jaoks.

Arduino DUE saab toidet otse 5 V pistikust ja maandatakse +5 V alalisvoolu jaoturi kaudu.

Kõik põhjused on seotud.

Lisatud on tabel ühendustega arduino tihvtidest IN/OUT välisseadmetesse. Arduino pin -numbrid peegeldavad minu propotüübi riistvara numbreid ja võivad tunduda (need on mingil moel …) juhuslikud. Saate visandis oleva tihvti asukohta hõlpsalt oma äranägemise järgi muuta;)

6. samm: mis siis, kui mul on rohkem kui üks MIDI -allikas?

Mis siis, kui mul on rohkem kui üks MIDI -allikas?
Mis siis, kui mul on rohkem kui üks MIDI -allikas?

Pärast lühikest MIDI -ühinemise otsimist leidsin, et kõige praktilisem (ja odavam) lahendus oli MIDI -lüliti.

MIDI -lüliti on passiivne seade, mis võimaldab MIDI -allikat ja keelab kõik muud allikad. Nii lihtne.

MIDI -lüliti süda on mitme positsiooniga (minu oma on 6 -asendiline), 2 -pooluseline lüliti. On väga oluline, et pooluste arv oleks "2", sest iga MIDI -pesa peab olema täielikult lõigatud, kui see pole valitud ja mitte teistega suheldes. Lisatud on pilt sellest, mille oma tarbeks tegin.

Sellel lingil skeem.

Soovitan: