Jeśli jesteś melomanem lub bezpośrednio muzykiem amatorem lub zawodowym, z pewnością zgromadziłeś w swoim domu dużą kolekcję instrumentów muzycznych. Aby wszystkie te mieszanki były idealne, najlepiej jest uzyskać Kontroler MIDI. Niestety tego typu obiekty są zazwyczaj dość drogie, przez co osoba bez zbyt wielu zasobów ma utrudniony dostęp do wszystkiego, co może zaoferować.
Aby lepiej zrozumieć, czym jest kontroler MIDI, powiedz, że pochodzi słowo MIDI Interfejs cyfrowy instrumentów muzycznychczyli rodzaj kontrolera, który sprawia, że elektroniczne urządzenia muzyczne mogą się ze sobą komunikować. Jeśli na przykład masz w domu elektroniczną klawiaturę, jest bardziej niż prawdopodobne, że ma ona interfejs MIDI. Zanim przejdziemy dalej, pomimo faktu, że istnieją pewne szczegóły techniczne, które mogą prowadzić do wniosku, że jest inaczej, musi być bardzo jasne, że MIDI to nie dźwięk.
Wskaźnik
- 1 Stwórz swój własny kontroler MIDI za pomocą tego prostego samouczka
- 2 Jak stworzyć własny kontroler MIDI za pomocą Arduino
- 3 Co to jest kontroler MIDI?
- 4 Części potrzebne do zbudowania własnego domowego kontrolera MIDI
- 5 Pierwsze kroki
- 6 Oprogramowanie do użytku z kontrolerem midi w domu
- 7 Testowanie, czy przyciski działają poprawnie
- 8 Tworzymy nasz domowy kontroler MIDI
Stwórz swój własny kontroler MIDI za pomocą tego prostego samouczka
Kiedy już to wyjaśnimy, z pewnością znacznie łatwiej będzie ci zrozumieć, że MIDI jest po prostu prostym zestaw instrukcji obsługujący do 16 niezależnych kanałówco oznacza, że może istnieć do 16 różnych urządzeń komunikujących się ze sobą niezależnie. Urządzenia te muszą być podłączone za pomocą 5-pinowego kabla DIN, który jest w zasadzie kablem z pięcioma pinami wewnątrz złącza. Jako szczegół, dość powszechne jest użycie USB zamiast 5-pinowego DIN, w przypadku korzystania z USB musimy stworzyć interfejs USB-MIDI.
Bez zbędnych ceregieli zostawiam ci link, w którym możesz znaleźć plik Tutorial krok po kroku z wieloma plikami obrazy opisowe gdzie możemy wykonać wszystkie niezbędne czynności, aby stworzyć własny kontroler MIDI.
Jak stworzyć własny kontroler MIDI za pomocą Arduino
Wiele osób potrzebuje, z różnych powodów, zarówno osobistych, jak i zawodowych, korzystania z w pełni niestandardowy kontroler MIDI Ponieważ być może i jako przykład, w pewnym momencie swojego życia jako artysty, zakup niedrogiego kontrolera MIDI może nie spełnić twoich oczekiwań lub potrzeb, podczas gdy, gdy nadejdzie czas, wybór wersji profesjonalnej może być nadmierny w obu zasobach finansowych. potrzeb, a także dużą liczbę funkcji, które mogą zaoferować.
W związku z tym dzisiaj chcę Wam pokazać wszystko, czego potrzeba, abyście mogli stworzyć własny kontroler MIDI, wskazując zarówno wszystko, co niezbędne do jego budowy, jak i oferując oprogramowanie, które trzeba będzie zainstalować. Mówiąc szczegółowo, w tym projekcie niezbędne jest użycie płyty Arduino, kontrolera, który jest wystarczająco mocny, aby wykonać to zadanie.
Co to jest kontroler MIDI?
Zasadniczo kontroler MIDI jest odpowiedzialny, mówiąc ogólnie, za łączenie ze sobą różnych urządzeń muzycznych. Wiele instrumentów zawiera interfejs MIDI, chociaż musi to być bardzo jasne, ponieważ jest wielu użytkowników, którzy są często zdezorientowani, MIDI nie jest plikiem audio, ale bardzo prostym zestawem instrukcji, które instrument może odebrać. Aby uzyskać inną kontrolę lub ustawienia dźwięku.
Wewnątrz MIDI istnieją dwa różne typyZ jednej strony mamy tę zwaną Change Control, która ma numer kontrolera i wartość z przedziału od 0 do 127. Dzięki temu można wydawać komunikaty, w których można zmieniać różne parametry, takie jak głośność czy ton. Różne instrumenty akceptujące MIDI powinny mieć ze sobą instrukcję wyjaśniającą, które kanały i komunikaty są ustawione domyślnie i jak je zmienić.
Na drugim miejscu mamy Program Change, serię komunikatów, które z kolei są znacznie prostsze niż te, które składają się na Kontrolę Zmian. Tego typu komunikaty służą do zmiany ustawienia wstępnego lub poprawki urządzenia. Podobnie jak w przypadku kontroli zmian, producent musi dołączyć do instrumentu instrukcję wskazującą, które ustawienia są zmieniane przez określony komunikat.
Części potrzebne do zbudowania własnego domowego kontrolera MIDI
Aby móc zbudować własny kontroler MIDI, będziesz potrzebował serii elementów dodatkowo, jak już wspomnieliśmy, do płytki Arduino. Zanim przejdziesz dalej, po prostu powiedz, że być może w przyszłości, ponieważ chcesz rozszerzyć projekt, będziesz potrzebować więcej rzeczy, chociaż w tej chwili przy kilku egzemplarzach będziesz miał ich pod dostatkiem.
Będziemy potrzebować żeńskiego 5-biegunowego kabla DIN, 2 rezystorów 220 omów, 2 przełączników chwilowych, 2 rezystorów 10 kΩ, przewodów połączeniowych, płytki drukowanej, kabla MIDI i urządzenia MIDI lub interfejsu USB. Dzięki tym kawałkom możesz zacząć, podążając za moimi krokami, aby stworzyć własny kontroler MIDI.
Pierwsze kroki
Zanim zacznę, zostawiam wam obrazek, na którym widać piny twojego kabla MIDI, w ten sposób możemy poprawnie zidentyfikować piny, a zwłaszcza gdzie je podłączyć. Mówiąc ogólnie, wszystko, co musisz zrobić w tym miejscu, to podłączyć pin 5 kabla do rezystora 220 omów, a stamtąd do Arduino Transmit 1, pin 4 do rezystora 220 omów, a stamtąd do gniazda 5 V Arduino, podczas gdy pin 2 należy podłączyć do uziemienia kontrolera.
Po wykonaniu tego kroku nie masz szczegółowego schematu na zdjęciu, które znajduje się tuż pod tymi liniami, czas połączyć przyciski. Pomysł w tej sekcji polega na tym, aby za pomocą pinu digitalRead (zdolnego do wykrywania zmiany napięcia, które do niego dociera), można było użyć tranzystora, aby osiągnąć to za naciśnięciem jednego przycisku. W tym celu wystarczy użyć przycisku tak, aby jego lewą stronę podłączyliśmy do 5V, prawą do rezystancji 220 omów a stamtąd do masy natomiast z kolei prawą też podłączymy do pinu 6 6. Drugi przycisk zostałby zamontowany w ten sam sposób, chociaż jak widać na schemacie zamiast pinu 7 podłączamy go do XNUMX.
Oprogramowanie do użytku z kontrolerem midi w domu
Gdy skończymy z całym sprzętem, nadszedł czas, aby podłączyć nasz instrument i przetestować. Wcześniej musimy mieć plik Interfejs USB-MIDI i kabel MIDI aby połączyć tablicę, która wysyła dane, z naszym komputerem. Aby to osiągnąć, zdecydowaliśmy się na bibliotekę MIDI v4.2 stworzoną przez chłopaków z Forty Seven Effects, którą musieliśmy zainstalować na naszym Arduino i włączyć do projektu.
W przypadku komputera będziemy potrzebować programu, który jest w stanie nadzorować wszystkie dane MIDI, które docierają do niego z Arduino. Do tego mamy różne możliwości, takie jak Monitor MIDI (OS X), MIDI-OX (Windows) lub Kmidimon (Linux)
Aby wykonać mały test, wystarczy podłączyć Arduino do naszego komputera i wykonać następujący kod:
#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 }
Jeśli wszystko poszło dobrze, możesz przejść do testu przycisku, w przypadku, gdy ten test nie zadziałał musisz upewnić się, że wszystkie połączenia są poprawne, obwód jest dokładnie taki sam jak na poprzednim schemacie, obwód jest podłączony do interfejsu USB-MIDI za pomocą kabla MIDI, przewody portu MIDI są prawidłowo podłączone, przewód MIDI jest podłączony do wejścia interfejsu USB-MIDI, płytka Arduino jest poprawnie podłączona do sieci elektrycznej i ma wystarczającą moc ...
Testowanie, czy przyciski działają poprawnie
Przed dalszym zasilaniem naszego programu nowymi funkcjonalnościami i kodem, w którym możemy się zgubić, warto się na chwilę zatrzymać i sprawdź, czy przyciski działają prawidłowo. Dla nich musimy załadować następujący kod:
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); } } }
Ten kod trzeba tylko skompilować i wykonać, aby przy podłączonym kablu USB program poinformował nas, czy został naciśnięty którykolwiek z przycisków.
Tworzymy nasz domowy kontroler MIDI
Po przeprowadzeniu tych testów nadszedł czas na zbudowanie własnego kontrolera MIDI, wystarczy skompilować następujący kod:
#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); } } }
Jako szczegół, powiedz, że tym razem nie możesz użyć polecenia Serial.println () z wyjściem MIDI, jeśli chcesz wyświetlić jakiś rodzaj wiadomości na komputerze, po prostu zmień:
midiOut.sendControlChange(42,127,1);
przez:
midiOut.sendControlChange(value, channel);
gdzie wartość i kanał muszą mieć żądane wartości, które chcesz wyświetlić.
Przykład operacji:
4 komentarzy, zostaw swoje
Arduino daje Ci wiele możliwości samodzielnego podejmowania projektów https://www.juguetronica.com/arduino . Jedną z najlepszych rzeczy jest to, że możesz zacząć bez bycia ekspertem i kontynuować naukę, motywując się w ten sposób do samouka.
Pozdrowienia.
Próbuję przeprowadzić ten fantastyczny samouczek… ale # zawiera niekompletne….
Czy możesz mi powiedzieć, które z nich są potrzebne?
Dziękuję bardzo.
Hey.
Chciałbym wykonać elektroniczny moduł perkusyjny, zastępując przyciski wejściami jack, do których będzie dochodził sygnał piezoelektryczny.
Czy dałoby się to zrobić?
Proszę, jeśli mógłbyś podać załączniki tego kodu, jestem zainteresowany tym projektem.