Kazalo:
- Zaloge
- 1. korak: Izdelava ploščice
- 2. korak: nalaganje skice
- 3. korak: Razumevanje brezdlakih MIDI in notranjih zank MIDI
- 4. korak: Povežite se z DAW
- 5. korak: Igrajte se
Video: Osnovni MIDI krmilnik Arduino: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Uvod:
Sem nov pri delu z Arduinom, vendar upam, da bom svoje znanje razširil s poučevanjem drugih in prejemanjem povratnih informacij. To je zelo preprost MIDI krmilnik s 4 gumbi in potenciometrom. Okvir tega projekta je videti tako:
1. Izdelajte osnovo
2. Naložite skico v Arduino
3. Razumejte MIDI brez dlake in notranjo zanko MIDI (loopbe1)
4. usmerite svoj MIDI v DAW (Ableton)
Zaloge
1 x Arduino Mega 2560
1 x deska za kruh
1 x USB kabel
1x potenciometer
4 x Tact gumbi
4 upori 120Ohm
14 x mostični kabli za ploščo
1. korak: Izdelava ploščice
Povežite svojo matično ploščo, tako da se vse komponente ujemajo s sliko 1 zgoraj. Vsak gumb mora izgledati enako kot slika 2. Vhodi gumbov so 2, 3, 4 in 5 na Arduinu, srednji zatič potenciometra pa je priključen na ANALOG vhod A0.
2. korak: nalaganje skice
Kopirajte in prilepite spodnjo kodo v Arduino IDE. Izberite pravo ploščo pod "orodja" in naložite skico v Arduino.
byte noteON = 144; // opomba na opombi commandbyte; // shramba za trenutno predvajano noto int buttonPin1 = 2; gumb intPin2 = 3; gumb intPin3 = 4; gumb intPin4 = 5; int potPin = A0; boolean currentState = LOW; // stroage za trenutno stanje gumba boolean lastState = LOW; // shramba za stanje zadnjega gumba void setup () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // tokrat bomo pin nastavili kot INPUT Serial.begin (9600); // inicializiramo serijsko povezavo} void loop () {int PotVal = analogRead (potPin); hitrost bajtov = zemljevid (PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, velocity); // vklopite opombo 60 s 127 zakasnitvijo hitrosti (200); // surova oblika odvajanja gumbov} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // zakasnitev izklopa opombe 60 (2); // surova oblika razveljavitve gumba} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// če je bil pravkar pritisnjen gumb MIDImessage (noteON, 61, velocity); // vklopite opombo 60 s 127 zakasnitvijo hitrosti (200); // surova oblika gumba debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // zakasnitev izklopa opombe 60 (2); // surova oblika debouncing gumba} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {// če je bil gumb pravkar pritisnjen MIDImessage (noteON, 62, velocity); // vklopite opombo 60 s 127 zakasnitvijo hitrosti (200); // surova oblika gumba debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // zakasnitev izklopa opombe 60 (2); // surova oblika debouncing gumba} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {// če je bil gumb pravkar pritisnjen MIDImessage (noteON, 63, velocity); // vklopite opombo 60 s 127 zakasnitvijo hitrosti (200); // surova oblika gumba debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // zakasnitev izklopa opombe 60 (2); // surova oblika debouncing gumba} lastState = currentState; } // pošlji sporočilo MIDI void MIDImessage (ukaz byte, bajt data1, bajt data2) {Serial.write (ukaz); Serial.write (data1); Serial.write (data2); }
Še vedno sem zelo nov pri pisanju kode na splošno ….. tisti z malo več izkušnjami bi to verjetno lahko očistili …
3. korak: Razumevanje brezdlakih MIDI in notranjih zank MIDI
Arduino mora teči skozi serijski most, kot je Hairless MIDI, nato pa skozi notranjo zanko MIDI, kot je loopbe1 (ali vodilo IAC za Mac).
Opomba: skice ne morete naložiti na Arduino, ko je povezan z brezdlakim serijskim mostom MIDI.
Izberite svoj Arduino v serijskih vratih MIDI brez dlake in v izhodu MIDI loopbe1 ali IAC Bus.
Opomba: pri uporabi loopbe1 se prepričajte, da izklop zvoka ni vklopljen.
4. korak: Povežite se z DAW
Če dobite signal v aplikacijo Hairless MIDI, ko pritisnete gumb na plošči (lučke bodo utripale), bi morali poslati podatke MIDI v DAW. Uporabil sem Ableton, vendar bi moral delovati vsak DAW. Prepričajte se, da je vaša notranja zanka MIDI (loopbe1) omogočena v vaših nastavitvah DAW (v Abletonu želite, da je omogočena "sled"). Nato izberite enega od vhodov MIDI sledi v zanko MIDI (loopbe1), kot je prikazano na zgornji sliki.
5. korak: Igrajte se
Gumbi bodo zdaj delovali kot kateri koli drug MIDI krmilnik! Potenciometer bo spremenil hitrost zapiskov, poslanih v DAW. Zgornji (zelo temen …) videoposnetek prikazuje zvok klavirja v akciji!
Priporočena:
Zgradite Arduino MIDI krmilnik: 5 korakov (s slikami)
Zgradite Arduino MIDI krmilnik: Pozdravljeni vsi! V tem navodilu vam bom pokazal, kako zgraditi lasten MIDI krmilnik, ki ga poganja Arduino. MIDI pomeni digitalni vmesnik za glasbene instrumente in je protokol, ki računalnikom, glasbilom in drugi strojni opremi omogoča komunikacijo
Arduino MIDI krmilnik za Aalto: 7 korakov
Arduino MIDI krmilnik za Aalto: Ker sem ljubiteljski glasbenik, pogosto hodim od analognih sintetizatorjev do VST -jev. Ko sem v " VST " razpoloženje, res sem navdušen nad enim neverjetnim instrumentom: Madronalabov Aalto VST Ta neverjetni VST je zelo prilagodljiv, ustvarja zelo dobre zvoke in je zelo
Arduino MIDI nožni krmilnik: 12 korakov
Arduino MIDI Foot Controller: Pred kratkim sem ta MIDI krmilnik zasnoval za upravljanje fraznega zanka, ki je vgrajen v zavorni pedal Boss DD500. Celotno kitarsko opremo upravljam s ploščo Behringer FCB MIDI, kar mi omogoča spreminjanje popravkov na pedalu za zamik v efektu
Arduino DIY krmilnik za igre - Arduino PS2 krmilnik iger - Predvajanje Tekkena z igralno ploščo Arduino DIY: 7 korakov
Arduino DIY krmilnik za igre | Arduino PS2 krmilnik iger | Igranje Tekken z igralno ploščo DIY Arduino: Pozdravljeni, igranje iger je vedno zabavno, vendar je igranje s svojim lastnim krmilnikom iger po meri bolj zabavno. Zato bomo v tem navodilu naredili krmilnik za igre z uporabo arduino pro micro
MIDI 5V LED tračni krmilnik za Spielatron ali drug MIDI Synth: 7 korakov (s slikami)
MIDI 5V LED trak za krmiljenje luči za Spielatron ali drug MIDI Synth: Ta krmilnik utripa tribarvne LED luči za 50mS na noto. Modra za G5 do D#6, rdeča za E6 do B6 in zelena za C7 do G7. Krmilnik je naprava ALSA MIDI, tako da lahko programska oprema MIDI oddaja LED diode hkrati z napravo za sinhronizacijo MIDI