Ak ste milovníkom hudby alebo priamo amatérskym alebo profesionálnym hudobníkom, určite ste vo svojom dome zhromaždili veľkú zbierku hudobných nástrojov. Aby boli všetky tieto zmesi perfektné, je najlepšie zaobstarať si MIDI ovládač. Bohužiaľ, tieto typy objektov sú zvyčajne dosť drahé, takže pre človeka bez príliš veľa zdrojov je ťažké získať prístup ku všetkému, čo môže ponúknuť.
Aby ste oveľa lepšie pochopili, čo je to MIDI kontrolér, povedzte vám, že slovo MIDI pochádza z Digitálne rozhranie hudobných nástrojov, teda akýsi ovládač, ktorý umožňuje elektronickým hudobným zariadeniam vzájomnú komunikáciu. Pokiaľ máte doma napríklad elektronickú klávesnicu, je viac ako pravdepodobné, že má MIDI rozhranie. Pred pokračovaním v pokroku musí byť úplne zrejmé, že napriek tomu, že existujú určité technické podrobnosti, ktoré môžu viesť k presvedčeniu o opaku MIDI nie je zvuk.
Vytvorte si svoj vlastný MIDI kontrolér pomocou tohto jednoduchého tutoriálu
Keď v tom budeme mať jasno, určite oveľa ľahšie pochopíte, že MIDI je len jednoduchý inštrukčná sada schopná podporovať až 16 nezávislých kanálov, čo znamená, že môže existovať až 16 rôznych zariadení, ktoré navzájom komunikujú nezávisle. Tieto zariadenia musia byť pripojené pomocou 5-pinového kábla DIN, čo je v podstate kábel s piatimi kolíkmi vo vnútri konektora. Ako detail je úplne bežné používať USB namiesto 5-pólového DIN, v prípade použitia USB musíme vytvoriť USB-MIDI rozhranie.
Bez ďalších okolkov vám zanechávam odkaz, kde nájdete odkaz konzultácie krok za krokom s množstvom popisné obrázky kde môžeme vykonať všetky potrebné kroky k vytvoreniu nášho vlastného MIDI radiča.
Ako si vyrobiť vlastný MIDI radič s Arduinom
Mnoho ľudí je, ktorí z rôznych osobných a profesionálnych dôvodov potrebujú používať a úplne vlastný MIDI radič Pretože možno a napríklad v určitom okamihu vášho umeleckého života nemusí nákup lacného ovládača MIDI zodpovedať vašim očakávaniam alebo potrebám, zatiaľ čo v pravý čas môže byť výber profesionálnej verzie v oboch finančných zdrojoch prehnaný. potreby, ako aj veľké množstvo funkcií, ktoré môžu ponúknuť.
Z tohto dôvodu vám dnes chcem ukázať všetko, čo potrebujete, aby ste si mohli vytvoriť svoj vlastný MIDI kontrolér označujúci všetko, čo potrebujete pre jeho konštrukciu, a ponúknuť vám softvér, ktorý budete musieť nainštalovať. Ako podrobnosť uvádzame, že pre tento projekt je nevyhnutné použitie dosky Arduino, teda radiča, ktorý je dostatočne výkonný na vykonávanie tejto úlohy.
Čo je to MIDI kontrolér?
V zásade je MIDI kontrolér zodpovedný za vzájomné prepojenie rôznych hudobných zariadení. Existuje mnoho nástrojov, ktoré obsahujú rozhranie MIDI, aj keď to musí byť úplne jasné, pretože existuje veľa používateľov, ktorí sú často zmätení. MIDI nie je zvukový súbor, ale veľmi jednoduchá sada pokynov, ktoré môže nástroj prijať. alebo nastavenia zvuku.
Vo vnútri MIDI existujú dva rôzne typyNa jednej strane máme ten, ktorý sa volá Change Control, kde má číslo radiča a hodnotu medzi 0 a 127. Vďaka tomu môžu byť vydávané správy, kde je možné meniť rôzne parametre ako hlasitosť alebo tón. Rôzne nástroje, ktoré akceptujú MIDI, by si mali so sebou vziať príručku s vysvetlením, ktoré kanály a správy sú predvolene nastavené a ako ich zmeniť.
Na druhom mieste máme Program Change, sériu správ, ktoré sú zasa oveľa jednoduchšie ako správy, ktoré tvoria Control Change. Tieto typy správ sa používajú na zmenu predvoľby alebo opravy zariadenia. Rovnako ako v Change Control, aj tu musí výrobca spolu s vašim prístrojom zahrnúť manuál, ktorý indikuje, ktoré predvoľby sú zmenené konkrétnou správou.
Súčasti potrebné na zostavenie vlastného domáceho MIDI ovládača
Na to, aby ste si mohli zostaviť svoj vlastný MIDI radič, budete potrebovať na dosku Arduino okrem série aj ďalšie kúsky. Predtým, ako budete pokračovať, vám len povieme, že možno v budúcnosti, pretože chcete rozšíriť projekt, budete potrebovať viac vecí, aj keď v tejto chvíli ich budete mať naozaj veľa.
Budeme potrebovať 5-pólový ženský kábel DIN, 2 220 ohmové odpory, 2 okamžité spínače, 2 10k ohmové odpory, pripojovacie vodiče, dosku s plošnými spojmi, MIDI kábel a MIDI zariadenie alebo USB rozhranie. Len s týmito kúskami môžete začať, podľa mojich krokov, vytvoriť svoj vlastný MIDI kontrolér.
Prvé kroky
Pred začatím vám nechám obrázok, na ktorom uvidíte kolíky vášho MIDI kábla. Týmto spôsobom dokážeme správne identifikovať kolíky, a najmä to, kam každý z nich pripojiť. Všeobecne povedané, v tomto okamihu musíte urobiť iba pripojiť kolík 5 kábla k odporu 220 ohmov a odtiaľ k Arduino Transmit 1, kolík 4 k odporu 220 ohmov a odtiaľ k 5V zásuvke Arduina, zatiaľ čo kolík 2 musí byť pripojený k uzemňovaciemu pripojeniu vášho ovládača.
Po vykonaní tohto kroku nemáte na fotografii, ktorá sa nachádza tesne pod týmito riadkami, podrobný diagram, je čas pripojiť tlačidlá. Myšlienkou v tejto časti je dosiahnuť pomocou pinov digitalRead (schopných detekovať, keď sa zmení napätie, ktoré ich dosahuje), aby bolo možné pomocou nich dosiahnuť tranzistor pomocou stlačenia tlačidla. Na to musíme použiť iba tlačidlo, takže jeho ľavú stranu pripojíme na 5 V, pravú stranu na odpor 220 ohmov a odtiaľ na zem, pričom zasa pripojíme pravú stranu na kolík 6. . Druhé tlačidlo by bolo nainštalované rovnakým spôsobom, aj keď, ako vidíte na obrázku, namiesto kolíka 6 ho pripojíme k 7.
Softvér používaný pre domáci midi ovládač
Keď už máme hotový všetok hardvér, je čas pripojiť náš prístroj a vyskúšať. Pred tým musíme mať USB-MIDI rozhranie a MIDI kábel pripojiť dosku, ktorá odosiela údaje, k nášmu počítaču. Aby sme to dosiahli, rozhodli sme sa pre knižnicu MIDI v4.2 vytvorenú ľuďmi z Forty Seven Effects, ktorú sme si určite nainštalovali do nášho Arduina a zahrli do projektu.
V prípade počítača budeme potrebovať program, ktorý je schopný dohliadať na všetky MIDI dáta, ktoré k nemu prichádzajú z Arduina. K tomu máme rôzne možnosti ako MIDI Monitor (OS X), MIDI-OX (Windows) alebo Kmidimon (Linux)
Aby sme vykonali malý test, musíme len pripojiť Arduino k nášmu počítaču a vykonať nasledujúci kód:
#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 }
Ak všetko prebehlo dobre, môžete prejsť na test tlačidiel, v prípade, že vám tento test nepomohol, musíte sa ubezpečiť, že sú všetky pripojenia správne, obvod je úplne rovnaký ako v predchádzajúcom diagrame, obvod je pripojený k rozhraniu USB-MIDI pomocou kábla MIDI, káble portov MIDI sú správne pripojené, kábel MIDI je pripojený na vstup rozhrania USB-MIDI, doska Arduino je správne pripojená k elektrickej sieti a má dostatok energie ...
Testuje sa, či tlačidlá fungujú správne
Predtým, ako budeme pokračovať v napĺňaní nášho programu novými funkciami a kódom, v ktorých sa môžeme stratiť, stojí za to na chvíľu sa zastaviť a vyskúšajte, či tlačidlá fungujú správne. Pre nich musíme načítať nasledujúci kód:
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); } } }
Tento kód treba iba skompilovať a vykonať, aby nám program s pripojeným káblom USB povedal, či bolo stlačené niektoré z tlačidiel.
Vytvárame náš domáci MIDI kontrolér
Po vykonaní týchto testov je čas na to zostaviť náš vlastný MIDI kontrolér, budete musieť zostaviť iba nasledujúci kód:
#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); } } }
Ako detail vám povieme, že tentokrát nemôžete použiť príkaz Serial.println () s výstupom MIDI, ak chcete v počítači zobraziť nejaký typ správy, stačí zmeniť:
midiOut.sendControlChange(42,127,1);
od:
midiOut.sendControlChange(value, channel);
kde hodnota a kanál musia mať požadované hodnoty, ktoré chcete zobraziť.
Príklad činnosti:
Arduino vám ponúka veľa možností, ako realizovať projekty svojpomocne https://www.juguetronica.com/arduino . Jednou z najlepších vecí je, že môžete začať bez toho, aby ste boli odborníkom, a pokračovať v učení, čím sa motivujete k samouku.
Zdravím.
Snažím sa robiť tento fantastický návod ... ale #includes nie sú úplné ....
Mohli by ste mi povedať, ktoré sú potrebné?
Děkuju mnohokrát.
Dobrý deň.
Chcel by som vyrobiť elektronický bicí modul nahradením tlačidiel vstupmi jacku, do ktorých dorazí piezoelektrický signál.
Bolo by to možné urobiť?
Prosím, ak by ste mohli uviesť obsah tohto kódu, mám záujem o tento projekt.