Dacă sunteți un iubitor de muzică sau direct un muzician amator sau profesionist, cu siguranță în casa dvs. ați acumulat o mare colecție de instrumente muzicale. Pentru ca toate acestea să se amestece perfect, cel mai bine este să obțineți un Controler MIDI. Din păcate, aceste tipuri de obiecte sunt de obicei destul de scumpe, astfel încât o persoană fără prea multe resurse are acces dificil la tot ceea ce poate oferi.
Pentru a înțelege mult mai bine ce este un controler MIDI, spuneți-vă că vine cuvântul MIDI Interfață digitală pentru instrumente muzicale, adică un fel de controler care face ca dispozitivele muzicale electronice să poată comunica între ele. Dacă aveți acasă o tastatură electronică, de exemplu, este mai mult decât probabil să aibă o interfață MIDI. Înainte de a continua să avanseze, în ciuda faptului că există anumite detalii tehnice care pot duce la credința contrară, trebuie să fie clar că MIDI nu este audio.
Creați-vă propriul controler MIDI cu acest tutorial simplu
Odată ce vom fi clari despre acest lucru, vă va fi cu siguranță mult mai ușor să înțelegeți că MIDI este doar un simplu set de instrucțiuni capabil să suporte până la 16 canale independente, ceea ce înseamnă că pot exista până la 16 dispozitive diferite care comunică independent între ele. Aceste dispozitive trebuie conectate printr-un cablu DIN cu 5 pini, care este practic un cablu cu cinci pini în interiorul unui conector. Ca detaliu, este destul de obișnuit să folosiți un USB în loc de un DIN cu 5 pini, în cazul utilizării unui USB trebuie să creăm o interfață USB-MIDI.
Fără alte întrebări, vă las linkul unde puteți găsi tutorial pas cu pas cu o mulțime de imagini descriptive unde putem efectua toate acțiunile necesare pentru a ne crea propriul controler MIDI.
Cum să vă creați propriul controler MIDI cu Arduino
Mulți sunt oamenii care au nevoie, din diferite motive atât personale, cât și profesionale, să folosească un controler MIDI complet personalizat Pentru că poate și ca exemplu, la un moment dat în viața ta de artist, achiziționarea unui controler MIDI ieftin poate să nu-ți îndeplinească așteptările sau nevoile, în timp ce, când va veni momentul, optarea pentru o versiune profesională poate fi excesivă atât în resursele financiare. nevoie, precum și numărul mare de caracteristici pe care le pot oferi.
Datorită acestui fapt, astăzi vreau să vă arăt tot ce aveți nevoie, astfel încât să vă puteți crea propriul controler MIDI, indicând atât tot ceea ce este necesar pentru construcția acestuia, cât și oferindu-vă software-ul pe care va trebui să îl instalați. Ca detaliu, pentru acest proiect este esențială utilizarea unei plăci Arduino, un controler suficient de puternic pentru a îndeplini această sarcină.
Ce este un controler MIDI?
Practic, un controler MIDI este responsabil, în linii mari, pentru conectarea diferitelor dispozitive muzicale între ele. Multe sunt instrumentele care încorporează o interfață MIDI, deși acest lucru trebuie să fie foarte clar, deoarece există mulți utilizatori care sunt adesea confuzi, MIDI nu este un fișier audio, ci un set foarte simplu de instrucțiuni pe care un instrument le poate primi pentru a face un control diferit sau setări de sunet.
În interiorul MIDI există două tipuri diferitePe de o parte, îl avem pe cel numit Control control, unde are numărul controlerului și o valoare cuprinsă între 0 și 127. Datorită acestui fapt, pot fi emise mesaje în care pot fi modificați diferiți parametri, cum ar fi volumul sau tonul. Diferite instrumente care acceptă MIDI ar trebui să aducă un manual care să explice ce canale și mesaje sunt setate în mod implicit și cum să le schimbați.
Pe locul al doilea avem Program Change, o serie de mesaje care la rândul lor sunt mult mai simple decât cele care alcătuiesc Controlul schimbărilor. Aceste tipuri de mesaje sunt utilizate pentru a schimba presetarea sau patch-ul unui dispozitiv. La fel ca în Controlul schimbărilor, împreună cu instrumentul dumneavoastră, producătorul trebuie să includă un manual care să indice ce presetări sunt modificate printr-un anumit mesaj.
Piese necesare pentru a vă construi propriul controler MIDI de casă
Pentru a vă putea construi propriul controler MIDI, veți avea nevoie de o serie de piese în plus, așa cum am menționat deja, la o placă Arduino. Înainte de a continua, spuneți-vă că poate, în viitor, pentru că doriți să extindeți proiectul, aveți nevoie de mai multe lucruri, deși, în acest moment, cu câteva piese veți avea destule.
Vom avea nevoie de un cablu DIN feminin cu 5 poli, 2 rezistențe de 220 ohmi, 2 comutatoare momentane, 2 rezistențe de 10 k ohmi, fire de conectare, o placă de circuit, cablu MIDI și un dispozitiv MIDI sau interfață USB. Cu doar aceste piese puteți începe, urmând pașii mei, să vă creați propriul controler MIDI.
Primii pași
Înainte de a începe, vă las o imagine în care puteți vedea pinii cablului MIDI, în acest fel putem identifica corect pinii și mai ales unde să le conectați pe fiecare. În linii mari, tot ce trebuie să faceți în acest moment este să conectați pinul 5 al cablului la un rezistor de 220 ohmi și de acolo la Arduino Transmit 1, pinul 4 la un rezistor de 220 ohmi și de acolo la mufa 5V a Arduino în timp ce pinul 2 trebuie conectat la conexiunea la masă a controlerului.
Odată ce acest pas este făcut, nu aveți o diagramă detaliată în fotografie care este situată chiar sub aceste linii, este timpul să conectați butoanele. Ideea din această secțiune este de a realiza, folosind pinul DigitalRead (capabil să detecteze când se modifică tensiunea care îl atinge) pentru a putea utiliza un tranzistor pentru a realiza, cu o apăsare de buton. Pentru aceasta trebuie să folosim doar un buton astfel încât, în partea stângă a acestuia, să îl conectăm la 5V, partea dreaptă la o rezistență de 220 ohmi și de acolo la sol, în timp ce, la rândul nostru, conectăm și partea dreaptă la pin 6. Al doilea buton ar fi instalat în același mod, deși, după cum puteți vedea în diagramă, în loc de pinul 6 îl conectăm la 7.
Software de utilizat pentru controler midi acasă
Odată ce am terminat cu tot hardware-ul, este timpul să ne conectăm instrumentul și să testăm. Înainte de asta trebuie să avem un Interfață USB-MIDI și un cablu MIDI pentru a conecta placa, care trimite date, la computerul nostru. Pentru a realiza acest lucru, am optat pentru biblioteca MIDI v4.2 creată de tipii de la Forty Seven Effects pe care trebuie să o avem instalată pe Arduino și inclusă în proiect.
În cazul computerului, vom avea nevoie de un program care să poată supraveghea toate datele MIDI care ajung la el de la Arduino. Pentru aceasta avem diferite posibilități precum MIDI Monitor (OS X), MIDI-OX (Windows) sau Kmidimon (Linux)
Pentru a face un mic test, trebuie doar să conectăm Arduino la computerul nostru și să executăm următorul cod:
#include #include #include #include #include MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // crear objeto de salida MIDI llamado midiOut void setup() { Serial.begin(31250); // configuracion de serial para MIDI } void loop() { midiOut.sendControlChange(56,127,1); // envío de señal MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal delay(1000); // retraso midiOut.sendProgramChange(12,1); // envío de una señal MIDI PC -- 12 = valor, 1 = canal delay(1000); // retraso de 1 segundo }
Dacă totul a mers bine, puteți merge la testul butonului, în cazul în care acest test nu a funcționat pentru dvs., trebuie să vă asigurați că toate conexiunile sunt corecte, circuitul este exact același cu diagrama anterioară, circuitul este conectat la o interfață USB-MIDI cu un cablu MIDI, cablurile portului MIDI sunt conectate corect, cablul MIDI este conectat la intrarea interfeței USB-MIDI, placa Arduino este conectată corect la rețeaua electrică și are suficientă putere ...
Testarea funcționării corectă a butoanelor
Înainte de a continua să alimentăm programul nostru cu noi funcționalități și coduri în care ne putem pierde, merită să ne oprim o clipă și verificați dacă butoanele funcționează corect. Pentru ei trebuie să încărcăm următorul cod:
const int boton1 = 6; // asignacion del boton a una variable const int boton2 = 7; // asignacion del boton a una variable void setup() { Serial.begin(9600); // configuracion del serial pinMode(boton1,INPUT); // configuracion del boton1 como entrada pinMode(boton2,INPUT); // configuracion del boton2 como entrada } void loop() { if(digitalRead(boton1) == HIGH) { // prueba de estado del boton1 delay(10); // retraso if(digitalRead(boton1) == HIGH) { // prueba de estado de nuevo Serial.println("Boton 1 funciona correctamente!"); // log delay(250); } } if(digitalRead(boton2) == HIGH) { // prueba de boton 2 delay(10); // retraso if(digitalRead(boton2) == HIGH) { // prueba de estado de nuevo Serial.println("Boton 2 funciona correctamente!"); // log delay(250); } } }
Acest cod trebuie doar compilat și executat astfel încât, cu cablul USB conectat, programul să ne spună dacă a fost apăsat vreunul dintre butoane.
Ne creăm controlerul MIDI de casă
Odată ce am executat aceste teste, este timpul să ne asamblăm propriul controler MIDI pentru asta, va trebui doar să compilați următorul cod:
#include #include #include #include #include const int boton1 = 6; // asignamos boton a la variable const int boton2 = 7; // asignamos boton a la variable MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // create a MIDI object called midiOut void setup() { pinMode(boton1,INPUT); // configuracion del boton1 como una entrada pinMode(boton2,INPUT); // configuracion del boton2 como una entrada Serial.begin(31250); // configuracion MIDI de salida } void loop() { if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado delay(10); // retraso if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado de nuevo midiOut.sendControlChange(56,127,1); // envío un MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal delay(250); } } if(digitalRead(buttonTwo) == HIGH) { // comprobacion de estado delay(10); // retraso if(digitalRead(buttonTwo) == HIGH) { // nueva comprobacion de estado midiOut.sendControlChange(42,127,1); // envío un MIDI CC -- 42 = nota, 127 = velocidad, 1 = canal delay(250); } } }
Ca detaliu, vă spun că nu puteți utiliza comanda Serial.println () cu o ieșire MIDI de data aceasta, dacă doriți să afișați un tip de mesaj pe computer, schimbați doar:
midiOut.sendControlChange(42,127,1);
prin:
midiOut.sendControlChange(value, channel);
unde valoarea și canalul trebuie să aibă valorile dorite pe care doriți să le afișați.
Exemplu de operare:
Arduino vă oferă multe posibilități de a întreprinde proiecte pe cont propriu https://www.juguetronica.com/arduino . Unul dintre cele mai bune lucruri este că poți începe fără să fii expert și să continui să înveți, motivându-te astfel să fii autodidact.
Salutări.
Încerc să realizez acest tutorial fantastic ... dar # include nu sunt complete ....
Ai putea să-mi spui care sunt necesare?
Mulţumesc mult.
Buna ziua.
Aș dori să fac un modul electronic de tambur prin înlocuirea butoanelor cu intrări jack către care va ajunge un semnal piezoelectric.
Ar fi posibil să o faci?
Vă rog, dacă ați putea include includerea acestui cod, sunt interesat de acest proiect.