Se sei un amante della musica o direttamente un musicista dilettante o professionista, sicuramente nella tua casa hai accumulato una vasta collezione di strumenti musicali. Per fare in modo che tutti questi si mescolino perfettamente, è meglio ottenere un file Controller MIDI. Sfortunatamente, questi tipi di oggetti sono solitamente piuttosto costosi, quindi è difficile per una persona senza troppe risorse accedere a tutto ciò che può offrire.
Per capire molto meglio cos'è un controller MIDI, diteci che la parola MIDI proviene Interfaccia digitale per strumenti musicali, cioè una sorta di controller che fa in modo che i dispositivi musicali elettronici possano comunicare tra loro. Se hai una tastiera elettronica a casa, ad esempio, è molto probabile che abbia un'interfaccia MIDI. Prima di continuare ad avanzare, nonostante ci siano alcuni dettagli tecnici che possono indurre a credere il contrario, deve essere molto chiaro che Il MIDI non è audio.
Crea il tuo controller MIDI con questo semplice tutorial
Una volta che siamo chiari su questo, sarà sicuramente molto più facile per te capire che il MIDI è solo un semplice set di istruzioni in grado di supportare fino a 16 canali indipendenti, il che significa che possono esserci fino a 16 dispositivi diversi che comunicano in modo indipendente tra loro. Questi dispositivi devono essere collegati tramite un cavo DIN a 5 pin, che è fondamentalmente un cavo con cinque pin all'interno di un connettore. Come dettaglio, è abbastanza comune utilizzare una USB invece di un DIN a 5 pin, in caso di utilizzo di una USB dobbiamo creare un'interfaccia USB-MIDI.
Senza ulteriori indugi, vi lascio con il link dove potete trovare il file lezione passo dopo passo con un sacco di immagini descrittive dove possiamo eseguire tutte le azioni necessarie per creare il nostro controller MIDI.
Come creare il tuo controller MIDI con Arduino
Molte sono le persone che hanno bisogno, per diversi motivi sia personali che professionali, di utilizzare un file controller MIDI completamente personalizzato Perché forse e ad esempio, ad un certo punto della tua vita di artista, l'acquisto di un controller MIDI economico potrebbe non soddisfare le tue aspettative o esigenze mentre, quando sarà il momento, optare per una versione professionale potrebbe essere eccessivo in entrambe le risorse finanziarie. bisogno, così come il gran numero di funzionalità che possono offrire.
Per questo oggi voglio mostrarvi tutto ciò di cui avete bisogno affinché possiate realizzare il vostro controller MIDI, indicando sia tutto ciò di cui avete bisogno per la sua costruzione sia proponendovi il software che dovrete installare. In dettaglio, per questo progetto è fondamentale l'utilizzo di una scheda Arduino, un controller sufficientemente potente per svolgere questo compito.
Cos'è un controller MIDI?
Fondamentalmente, un controller MIDI è responsabile, in generale, del collegamento tra loro di diversi dispositivi musicali. Molti sono gli strumenti che incorporano un'interfaccia MIDI, anche se questo deve essere molto chiaro poiché ci sono molti utenti che sono spesso confusi, il MIDI non è un file audio, ma un insieme molto semplice di istruzioni che uno strumento può ricevere.per fare un controllo diverso o impostazioni audio.
All'interno del MIDI ci sono due diversi tipiDa un lato abbiamo quello chiamato Change Control dove ha il numero del controller e un valore compreso tra 0 e 127. Grazie a questo, possono essere emessi messaggi in cui è possibile modificare diversi parametri come il volume o il tono. Diversi strumenti che accettano il MIDI dovrebbero portare con sé un manuale che spieghi quali canali e messaggi sono impostati di default e come cambiarli.
Al secondo posto abbiamo il Program Change, una serie di messaggi che a loro volta sono molto più semplici di quelli che compongono il Change Control. Questi tipi di messaggi vengono utilizzati per modificare il preset o il patch di un dispositivo. Come in Change Control, insieme allo strumento il produttore deve includere un manuale che indichi quali preset vengono modificati da un particolare messaggio.
Parti necessarie per costruire il tuo controller MIDI fatto in casa
Per poter costruire il tuo controller MIDI avrai bisogno di una serie di pezzi oltre a, come abbiamo già accennato, una scheda Arduino. Prima di continuare, ti dico solo che forse, in futuro perché vuoi espandere il progetto, hai bisogno di più cose, anche se in questo momento con pochi pezzi ne avrai in abbondanza.
Avremo bisogno di un cavo DIN femmina a 5 poli, 2 resistenze da 220 ohm, 2 interruttori momentanei, 2 resistori da 10k ohm, cavi di collegamento, un circuito stampato, cavo MIDI e un dispositivo MIDI o interfaccia USB. Con solo questi pezzi puoi iniziare, seguendo i miei passi, a creare il tuo controller MIDI.
Primi passi
Prima di iniziare ti lascio una foto in cui puoi vedere i pin del tuo cavo MIDI, in questo modo possiamo identificare correttamente i pin e soprattutto dove ognuno deve essere collegato. In linea di massima, tutto ciò che devi fare a questo punto è collegare il pin 5 del cavo a una resistenza da 220 ohm e da lì ad Arduino Transmit 1, il pin 4 a una resistenza da 220 ohm e da lì alla presa 5V di Arduino mentre il pin 2 deve essere collegato al collegamento a terra del controller.
Una volta fatto questo passaggio, non hai uno schema dettagliato nella foto che si trova appena sotto queste linee, è il momento di collegare i pulsanti. L'idea in questa sezione è quella di ottenere, utilizzando il pin digitalRead (in grado di rilevare quando cambia la tensione che lo raggiunge), di poter utilizzare un transistor per ottenere, con la semplice pressione di un pulsante. Per questo dobbiamo solo usare un pulsante in modo che, il lato sinistro di esso lo colleghiamo a 5V, il lato destro ad una resistenza da 220 ohm e da lì a massa mentre, a nostra volta, colleghiamo anche il lato destro al pin 6 Il secondo pulsante verrebbe installato allo stesso modo anche se, come puoi vedere nello schema, al posto del pin 6 lo colleghiamo al 7.
Software da utilizzare per il controller midi di casa
Una volta che abbiamo finito con tutto l'hardware, è il momento di collegare il nostro strumento e testare. Prima di ciò dobbiamo avere un file Interfaccia USB-MIDI e un cavo MIDI per collegare la scheda, che sta inviando i dati, con il nostro computer. Per ottenere ciò, abbiamo optato per la libreria MIDI v4.2 creata dai ragazzi di Forty Seven Effects che dobbiamo aver installato sul nostro Arduino e inclusa nel progetto.
Nel caso del computer, avremo bisogno di un programma in grado di supervisionare tutti i dati MIDI che gli arrivano da Arduino. Per questo abbiamo diverse possibilità come MIDI Monitor (OS X), MIDI-OX (Windows) o Kmidimon (Linux)
Per fare un piccolo test non ci resta che collegare l'Arduino al nostro computer ed eseguire il seguente codice:
#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 }
Se tutto è andato bene, puoi andare al test dei pulsanti, nel caso in cui questo test non abbia funzionato per te devi assicurarti che tutti i collegamenti siano corretti, il circuito è esattamente lo stesso dello schema precedente, il circuito è collegato a un'interfaccia USB-MIDI con un cavo MIDI, i cavi della porta MIDI sono collegati correttamente, il cavo MIDI è collegato all'ingresso dell'interfaccia USB-MIDI, la scheda Arduino è correttamente collegata alla rete elettrica e ha abbastanza potenza ...
Verifica che i pulsanti funzionino correttamente
Prima di continuare ad alimentare il nostro programma con nuove funzionalità e codice in cui perdersi, vale la pena fermarsi un attimo e verifica che i pulsanti funzionino correttamente. Per loro dobbiamo caricare il seguente codice:
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); } } }
Questo codice deve solo essere compilato ed eseguito in modo che, con il cavo USB collegato, il programma ci informi se è stato premuto uno dei pulsanti.
Creiamo il nostro controller MIDI fatto in casa
Una volta che abbiamo eseguito questi test, è il momento di assemblare il nostro controller MIDI per questo, dovrai solo compilare il seguente codice:
#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); } } }
Come dettaglio, ti dico che questa volta non puoi usare il comando Serial.println () con un'uscita MIDI, se vuoi mostrare qualche tipo di messaggio sul computer, cambia semplicemente:
midiOut.sendControlChange(42,127,1);
da:
midiOut.sendControlChange(value, channel);
dove valore e canale devono avere i valori desiderati che si desidera visualizzare.
Esempio di operazione:
Arduino ti offre molte possibilità per intraprendere progetti da solo https://www.juguetronica.com/arduino . Una delle cose migliori è che puoi iniziare senza essere un esperto e continuare ad imparare, motivandoti così ad essere un autodidatta.
Saluti.
Sto provando a realizzare questo fantastico tutorial… ma gli #include non sono completi….
Potresti dirmi quali sono necessari?
Grazie mille.
Hey.
Vorrei realizzare un modulo per batteria elettronica sostituendo i pulsanti con ingressi jack a cui arriverà un segnale piezoelettrico.
Sarebbe possibile farlo?
Per favore, se potessi fornire gli include di questo codice, sono interessato a questo progetto.