Sadržaj:
- Supplies
- Korak 1: Izrada tlocrta
- Korak 2: Otpremanje skice
- Korak 3: Razumijevanje MIDI i internih MIDI petlji bez dlake
- Korak 4: Povezivanje na vaš DAW
- Korak 5: Igrajte
Video: Osnovni Arduino MIDI kontroler: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Uvod:
Ja sam tek počeo raditi s Arduinom, ali nadam se da ću proširiti svoje znanje poučavajući druge i primajući povratne informacije. Ovo je vrlo osnovni MIDI kontroler sa 4 tipke i potenciometrom. Pregled ovog projekta izgleda ovako:
1. Napravite matičnu ploču
2. Otpremite skicu na Arduino
3. Shvatite MIDI bez dlake i unutrašnju MIDI petlju (loopbe1)
4. usmjerite svoj MIDI na DAW (Ableton)
Supplies
1 x Arduino Mega 2560
1 x ploča za hleb
1 x USB kabl
1 x Potenciometar
4 x taktilna dugmeta
4 x 120Ohm otpornici
14 x kratkospojni kablovi za ploču
Korak 1: Izrada tlocrta
Povežite matičnu ploču tako da se sve komponente podudaraju sa slikom 1 iznad. Svako dugme bi trebalo izgledati isto kao na slici 2. Ulazi dugmadi su 2, 3, 4 i 5 na Arduinu, a srednji pin potenciometra spojen je na ANALOG ulaz A0.
Korak 2: Otpremanje skice
Kopirajte i zalijepite donji kod u Arduino IDE. Odaberite ispravnu ploču pod "alati" i prenesite skicu na Arduino.
byte noteON = 144; // napomena na commandbyte note; // spremište za trenutno reproduciranu notu int buttonPin1 = 2; int buttonPin2 = 3; int buttonPin3 = 4; int buttonPin4 = 5; int potPin = A0; boolean currentState = LOW; // stroage za trenutno stanje dugmeta boolean lastState = LOW; // spremište za stanje zadnjeg dugmeta void setup () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // ovaj put ćemo postaviti pin kao INPUT Serial.begin (9600); // inicijalizirati serijsku vezu} void loop () {int PotVal = analogRead (potPin); brzina bajtova = karta (PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, velocity); // uključite bilješku 60 sa 127 kašnjenja brzine (200); // grubi oblik otkazivanja dugmeta} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // isključenje note 60 off delay (2); // grubi oblik otkazivanja dugmeta} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// ako je dugme upravo pritisnuto MIDImessage (noteON, 61, velocity); // uključite notu 60 sa 127 kašnjenja brzine (200); // grubi oblik dugmeta debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // kašnjenje isključenja note 60 (2); // grubi oblik otkazivanja dugmeta} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {// ako je dugme upravo pritisnuto MIDImessage (noteON, 62, velocity); // uključite napomenu 60 sa 127 kašnjenja brzine (200); // grubi oblik dugmeta debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // kašnjenje isključenja bilješke 60 (2); // grubi oblik otkazivanja dugmeta} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {// ako je dugme upravo pritisnuto MIDImessage (noteON, 63, velocity); // uključite napomenu 60 sa 127 kašnjenja brzine (200); // grubi oblik dugmeta debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // kašnjenje isključenja bilješke 60 (2); // grubi oblik otkazivanja dugmeta} lastState = currentState; } // slanje MIDI poruke void MIDImessage (naredba byte, bajt data1, bajt data2) {Serial.write (naredba); Serial.write (data1); Serial.write (data2); }
Još sam tek počeo pisati kôd općenito ….. oni s malo više iskustva vjerojatno bi ovo mogli očistiti …
Korak 3: Razumijevanje MIDI i internih MIDI petlji bez dlake
Arduino mora prolaziti kroz serijski most poput Hairless MIDI, zatim kroz internu MIDI petlju, poput loopbe1 (ili IAC sabirnice za Mac).
Napomena: ne možete prenijeti skicu na Arduino dok je spojen na bezdlaki MIDI serijski most.
Odaberite svoj Arduino u serijskom portu Hairless MIDI i loopbe1 ili IAC sabirnicu u MIDI izlazu.
Napomena: pazite da isključenje zvuka nije uključeno kada koristite loopbe1.
Korak 4: Povezivanje na vaš DAW
Ako primate signal MIDI aplikaciji Hairless kada pritisnete tipku na ploči s osvjetljenjem (svjetla će treperiti), trebali biste moći poslati MIDI podatke na DAW. Koristio sam Ableton, ali svaki DAW bi trebao raditi. Uvjerite se da je vaša interna MIDI petlja (loopbe1) omogućena u vašim DAW postavkama (u Abletonu želite da "track" bude omogućen). Zatim odaberite jedan od vaših ulaza za MIDI zapis u MIDI petlju (loopbe1) kao što je prikazano na gornjoj slici.
Korak 5: Igrajte
Gumbi će sada raditi kao i svaki drugi MIDI kontroler! Potenciometar će promijeniti brzinu bilješki koje se šalju u DAW. Gornji (vrlo mračan …) video prikazuje zvuk velikog klavira na djelu!
Preporučuje se:
Napravite Arduino MIDI kontroler: 5 koraka (sa slikama)
Napravite Arduino MIDI kontroler: Zdravo svima! U ovom uputstvu ću vam pokazati kako izgraditi vlastiti MIDI kontroler sa Arduino pogonom. MIDI je kratica za digitalni interfejs muzičkih instrumenata i to je protokol koji omogućava računarima, muzičkim instrumentima i drugom hardveru da komuniciraju
Arduino MIDI kontroler za Aalto: 7 koraka
Arduino MIDI kontroler za Aalto: Budući da sam muzičar amater, često idem od Analog Synthsa do VST -ova. Kada sam u " VST " raspoloženje, zaista volim jedan nevjerovatan instrument: Madronalabov Aalto VSTOvaj nevjerovatni VST je vrlo fleksibilan, stvara vrlo dobre zvukove i prilično je ukusan
Arduino kontroler za igre uradi sam. Arduino PS2 kontroler igre - Igranje Tekkena s DIY Arduino gamepadom: 7 koraka
Arduino kontroler za igre uradi sam. Arduino PS2 kontroler igre | Igranje Tekkena s DIY Arduino gamepad -om: Zdravo momci, igranje igara uvijek je zabavno, ali igranje sa vlastitim DIY prilagođenim kontrolorom igara je zabavnije. Zato ćemo napraviti kontroler igre pomoću arduino pro micro u ovim uputama
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: 4 koraka
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: Zdravo proizvođači, nedavno sam počeo uzgajati gljive kod kuće, bukovače, ali već sam 3 puta imao ove kontrolere kod kuće za kontrolu temperature fermentatora za moju domaću marinu, supruga sada radi i ovu Kombucha stvar, a kao termostat za toplinu
MIDI 5V LED kontroler svjetla za Spielatron ili drugi MIDI Synth: 7 koraka (sa slikama)
MIDI 5V LED svjetlosni kontroler za Spielatron ili drugi MIDI Synth: Ovaj kontroler treperi trobojna LED svjetla za 50mS po bilješci. Plavo za G5 do D#6, crveno za E6 do B6 i zeleno za C7 do G7. Kontroler je ALSA MIDI uređaj tako da MIDI softver može izlaziti na LED diode istovremeno sa MIDI sintetičkim uređajem