As u 'n musiekliefhebber of regstreeks 'n amateur- of professionele musikant is, het u sekerlik 'n groot versameling musiekinstrumente in u huis versamel. Om al hierdie mengsels perfek te laat meng, is dit die beste om 'n MIDI-beheerder. Ongelukkig is hierdie tipe voorwerpe gewoonlik redelik duur, en dit is dus moeilik vir iemand sonder te veel hulpbronne om toegang te verkry tot alles wat hulle kan bied.
Om baie beter te verstaan wat 'n MIDI-beheerder is, vertel u dat die woord MIDI vandaan kom Musiekinstrument digitale koppelvlak, dit wil sê 'n soort beheerder wat elektroniese musiektoestelle in staat stel om met mekaar te kommunikeer. As u byvoorbeeld 'n elektroniese sleutelbord tuis het, is dit waarskynlik dat dit 'n MIDI-koppelvlak het. Voordat u verder gaan, ten spyte van die feit dat daar sekere tegniese besonderhede is wat u kan laat anders glo, moet dit baie duidelik wees MIDI is nie klank nie.
Index
- 1 Skep u eie MIDI-beheerder met hierdie eenvoudige handleiding
- 2 Hoe om u eie MIDI-beheerder met Arduino te maak
- 3 Wat is 'n MIDI-beheerder?
- 4 Onderdele wat u benodig om u eie tuisgemaakte MIDI-beheerder te bou
- 5 Eerste stappe
- 6 Sagteware om te gebruik vir tuis-midi-beheerder
- 7 Om te toets dat die knoppies korrek werk
- 8 Ons skep ons tuisgemaakte MIDI-beheerder
Skep u eie MIDI-beheerder met hierdie eenvoudige handleiding
Sodra ons hieroor duidelik is, sal dit vir u baie makliker wees om te verstaan dat MIDI net eenvoudig is instruksiestel wat tot 16 onafhanklike kanale kan ondersteun, wat beteken dat daar tot 16 verskillende toestelle onafhanklik met mekaar kan kommunikeer. Hierdie toestelle moet gekoppel word deur middel van 'n 5-pen DIN-kabel, wat basies 'n kabel met vyf penne binne 'n aansluiting is. As detail is dit baie algemeen om 'n USB in plaas van 'n 5-pins DIN te gebruik. In die geval van 'n USB moet ons 'n USB-MIDI-koppelvlak skep.
Sonder nadruk laat ek u met die skakel waar u die handleiding stap vir stap met baie beskrywende beelde waar ons al die nodige aksies kan uitvoer om ons eie MIDI-beheerder te skep.
Hoe om u eie MIDI-beheerder met Arduino te maak
Baie is mense wat, om verskillende redes, persoonlik en professioneel, a moet gebruik volledig aangepaste MIDI-beheerder Want as 'n voorbeeld, op 'n stadium in u lewe as kunstenaar, kan die koop van 'n goedkoop MIDI-beheerder miskien nie aan u verwagtinge of behoeftes voldoen nie, terwyl die keuse van 'n professionele weergawe op die oomblik moontlik in beide finansiële hulpbronne buitensporig is. behoefte, asook die groot aantal funksies wat hulle kan bied.
As gevolg hiervan wil ek u vandag alles wys wat u benodig, sodat u u eie MIDI-beheerder kan maak, wat alles aandui wat u benodig vir die konstruksie daarvan en u die sagteware bied wat u sal moet installeer. As detail is die gebruik van 'n Arduino-bord noodsaaklik vir hierdie projek, 'n beheerder wat kragtig genoeg is om hierdie taak uit te voer.
Wat is 'n MIDI-beheerder?
Eintlik is 'n MIDI-beheerder in die breë verantwoordelik om verskillende musiektoestelle aan mekaar te koppel. Baie is die instrumente wat 'n MIDI-koppelvlak bevat, alhoewel dit baie duidelik moet wees, aangesien daar baie gebruikers is wat dikwels verward is, is MIDI nie 'n klanklêer nie, maar 'n baie eenvoudige stel instruksies wat 'n instrument kan ontvang. of klankinstellings.
Binne MIDI daar is twee verskillende soorteEnersyds het ons die naam Change Control, waar dit die beheernommer en 'n waarde tussen 0 en 127 het. Hierdeur kan boodskappe uitgereik word waar verskillende parameters soos volume of toon verander kan word. Verskillende instrumente wat MIDI aanvaar, moet 'n handleiding saambring wat verduidelik watter kanale en boodskappe standaard ingestel is en hoe u dit kan verander.
In die tweede plek het ons die Program Change, 'n reeks boodskappe wat op hul beurt baie eenvoudiger is as dié waaruit die Change Control bestaan. Hierdie tipe boodskappe word gebruik om die voorinstelling of pleister van 'n toestel te verander. Soos in Change Control, moet die vervaardiger saam met u instrument 'n handleiding bevat wat aandui watter presets deur 'n bepaalde boodskap verander word.
Onderdele wat u benodig om u eie tuisgemaakte MIDI-beheerder te bou
Om u eie MIDI-beheerder te kan bou, benodig u 'n reeks stukke benewens 'n Arduino-bord, soos ons reeds genoem het. Voordat u voortgaan, moet u net vertel dat u miskien meer dinge nodig het in die toekoms omdat u die projek wil uitbrei, hoewel u op die oomblik met 'n paar stukke genoeg sal hê.
Ons benodig 'n 5-polige vroulike DIN-kabel, 2 220 ohm-weerstande, 2 kortstondige skakelaars, 2 10 ohm-weerstande, aansluitdrade, 'n stroombaanbord, MIDI-kabel en 'n MIDI-toestel of USB-koppelvlak. Met net hierdie stukke kan u, volgens my stappe, begin om u eie MIDI-beheerder te maak.
Eerste stappe
Voordat ek begin, laat ek vir u 'n foto waarin u die penne van u MIDI-kabel kan sien. Op hierdie manier kan ons die penne korrek identifiseer en veral waar elkeen gekoppel moet word. In die algemeen is alles wat u op hierdie stadium hoef te doen, om pen 5 van die kabel aan te sluit op 'n 220 ohm-weerstand en van daar af aan die Arduino Transmit 1, pen 4 aan 'n 220 ohm-weerstand en daarvandaan na die 5V-aansluiting van Arduino terwyl dit pen is. 2 moet gekoppel wees aan die grondverbinding van u beheerder.
Sodra hierdie stap gedoen is, het u nie 'n gedetailleerde diagram op die foto wat net onder hierdie lyne is nie; dit is tyd om die knoppies aan te sluit. Die idee in hierdie afdeling is om, met behulp van die digitalRead-pen (wat kan opspoor wanneer die spanning wat daarby kom, verander) om 'n transistor te kan gebruik om dit te bereik, met die druk van 'n knoppie. Hiervoor hoef ons net 'n knoppie te gebruik sodat ons dit aan die linkerkant aan 5V koppel, die regterkant op 'n weerstand van 220 ohm en van daar af na die grond toe terwyl ons weer die regte kant aan pen 6 koppel Die tweede knoppie sal op dieselfde manier geïnstalleer word, alhoewel, soos u in die diagram kan sien, koppel ons dit in plaas van pen 6 aan 7.
Sagteware om te gebruik vir tuis-midi-beheerder
Sodra ons klaar is met al die hardeware, is dit tyd om ons instrument aan te sluit en te toets. Voor dit moet ons 'n USB-MIDI-koppelvlak en 'n MIDI-kabel om die bord, wat data stuur, met ons rekenaar te verbind. Om dit te bereik, het ons gekies vir die MIDI v4.2-biblioteek wat geskep is deur die ouens van Forty Seven Effects wat ons op ons Arduino moes installeer en by die projek ingesluit het.
In die geval van 'n rekenaar het ons 'n program nodig wat toesig hou oor al die MIDI-data wat vanaf Arduino bereik word. Hiervoor het ons verskillende moontlikhede, soos MIDI Monitor (OS X), MIDI-OX (Windows) of Kmidimon (Linux)
Om 'n klein toets te doen, moet ons die Arduino op ons rekenaar koppel en die volgende kode uitvoer:
#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 }
As alles goed afgeloop het, kan u na die knopietoets gaan. As hierdie toets nie vir u werk nie, moet u seker maak dat al die verbindings korrek is, die stroombaan is presies dieselfde as die vorige diagram, die stroombaan is verbind met 'n USB-MIDI-koppelvlak met 'n MIDI-kabel, die kabels van die MIDI-poort is korrek gekoppel, die MIDI-kabel is gekoppel aan die ingang van die USB-MIDI-koppelvlak, die Arduino-kaart is korrek gekoppel aan die elektriese netwerk en dit het genoeg krag ...
Om te toets dat die knoppies korrek werk
Voordat ons voortgaan om ons program met nuwe funksies en kode waarin ons kan verdwaal, te voer, is dit die moeite werd om vir 'n oomblik te stop en toets dat die knoppies behoorlik werk. Vir hulle moet ons die volgende kode laai:
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); } } }
Hierdie kode moet net saamgestel en uitgevoer word sodat die program ons, as die USB-kabel gekoppel is, vertel of daar op een van die knoppies gedruk is.
Ons skep ons tuisgemaakte MIDI-beheerder
Nadat ons hierdie toetse uitgevoer het, is dit tyd om ons eie MIDI-beheerder daarvoor saam te stel, u hoef slegs die volgende kode saam te stel:
#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); } } }
Vertel u as detail dat u nie die Serial.println () -opdrag met 'n MIDI-uitvoer hierdie keer kan gebruik nie, as u 'n boodskap op die rekenaar wil wysig, verander dan net:
midiOut.sendControlChange(42,127,1);
deur:
midiOut.sendControlChange(value, channel);
waar waarde en kanaal die gewenste waardes moet hê wat u wil vertoon.
Bedryfsvoorbeeld:
4 kommentaar, los joune
Arduino bied u baie moontlikhede om self projekte aan te pak https://www.juguetronica.com/arduino . Een van die beste dinge is dat u kan begin sonder om 'n kundige te wees en verder te leer en sodoende u self te motiveer om selfonderrig te wees.
Groete.
Ek probeer hierdie fantastiese handleiding uitvoer ... maar die #includes is nie volledig nie ...
Kan u my sê watter een nodig is?
Baie dankie.
Hello.
Ek wil graag 'n elektroniese trommelmodule maak deur die knoppies te vervang deur jack-insette waarna 'n piëzo-elektriese sein sal kom.
Sou dit moontlik wees om dit te doen?
As u die kode vir hierdie kode insluit, stel ek belang in hierdie projek.