Ако сте љубитељ музике или директно аматер или професионални музичар, сигурно сте у свом дому сакупили велику колекцију музичких инструмената. Да бисте све ове комбинације направили савршено, најбоље је набавити а МИДИ контролер. Нажалост, ове врсте предмета су обично прилично скупе, па је човеку без превише ресурса тешко да приступи свему што може да понуди.
Да бисте много боље разумели шта је МИДИ контролер, рецимо вам да реч МИДИ потиче Дигитални интерфејс музичког инструмента, односно врста контролера који електронским музичким уређајима омогућава међусобну комуникацију. На пример, ако код куће имате електронску тастатуру, више је вероватно да она има МИДИ интерфејс. Пре наставка напредовања, упркос чињеници да постоје одређени технички детаљи који могу навести некога да верује у супротно, мора бити врло јасно да МИДИ није аудио.
Креирајте сопствени МИДИ контролер помоћу овог једноставног водича
Једном када се са овим јасно разумемо, сигурно ће вам бити много лакше да схватите да је МИДИ једноставно сет инструкција способан да подржи до 16 независних канала, што значи да може бити до 16 различитих уређаја који међусобно комуницирају независно. Ови уређаји морају бити повезани помоћу 5-пинског ДИН кабла, који је у основи кабл са пет пинова унутар конектора. Као детаљ, прилично је уобичајено користити УСБ уместо 5-пинског ДИН-а, у случају коришћења УСБ-а морамо створити УСБ-МИДИ интерфејс.
Без даљег одлагања остављам вам везу на којој можете пронаћи Туториал корак по корак са пуно описне слике где можемо извршити све потребне радње за стварање сопственог МИДИ контролера.
Како направити свој властити МИДИ контролер помоћу Ардуина
Многи су људи који из различитих разлога, како из личног, тако и из професионалног разлога, морају да користе а потпуно прилагођени МИДИ контролер Јер можда и као пример, у неком тренутку вашег живота као уметника, куповина јефтиног МИДИ контролера можда неће испунити ваша очекивања или потребе док, када за то дође време, одлучивање за професионалну верзију може бити претерано у оба финансијска ресурса. потребе, као и велики број функција које могу да понуде.
Због овога, данас желим да вам покажем све што вам је потребно како бисте могли да направите сопствени МИДИ контролер, назначујући и све што је потребно за његову изградњу и нудећи вам софтвер који ћете морати да инсталирате. Као детаљ, за овај пројекат је од кључне важности употреба Ардуино плоче, контролера који је довољно моћан да изврши овај задатак.
Шта је МИДИ контролер?
У основи, МИДИ контролер је одговоран, широко говорећи, за међусобно повезивање различитих музичких уређаја. Многи су инструменти који садрже МИДИ интерфејс, мада то мора бити врло јасно, јер има много корисника који су често збуњени, МИДИ није аудио датотека, већ врло једноставан сет упутстава која инструмент може примити. или подешавања звука.
Унутар МИДИ-а постоје два различита типаС једне стране имамо ону под називом Цханге Цонтрол, која има број контролера и вредност између 0 и 127. Захваљујући томе, могу се издавати поруке где се могу променити различити параметри као што су јачина или тон. Различити инструменти који прихватају МИДИ треба да понесу са собом приручник који објашњава који су канали и поруке подразумевано подешени и како их променити.
На другом месту је промена програма, серија порука које су заузврат много једноставније од оних које чине контролу промене. Ове врсте порука се користе за промену унапред подешене поставке или закрпе уређаја. Као и код контроле промена, произвођач мора заједно са вашим инструментом садржати и приручник који показује које су унапред подешене поставке промењене одређеном поруком.
Делови потребни за израду сопственог домаћег МИДИ контролера
Да бисте могли да направите свој властити МИДИ контролер, требат ће вам низ дијелова поред, као што смо већ споменули, Ардуино плоче. Пре него што наставите, само вам реците да ће вам можда у будућности, јер желите да проширите пројекат, требати још ствари, иако ћете у овом тренутку имати неколико комада.
Требаће нам женски 5-полни ДИН кабл, 2 отпорника од 220 ома, 2 тренутна прекидача, 2 отпорника од 10 к ома, прикључне жице, плочица, МИДИ кабл и МИДИ уређај или УСБ интерфејс. Са само овим деловима можете започети, пратећи моје кораке, да направите свој властити МИДИ контролер.
Први кораци
Пре почетка остављам вам слику на којој можете видети пинове вашег МИДИ кабла, на тај начин можемо правилно идентификовати пинове, а посебно где треба повезати сваки. Уопштено говорећи, све што у овом тренутку треба да урадите је да повежете пин 5 кабла на отпорник од 220 охма, а одатле на Ардуино Трансмит 1, пин 4 на отпорник од 220 охма, а одатле на 5В утичницу Ардуино док пин 2 мора бити повезан на прикључак уземљења вашег контролера.
Једном када је овај корак завршен, на фотографији немате детаљан дијаграм који се налази одмах испод ових линија, време је да повежете тастере. Идеја у овом одељку је постићи да се помоћу пин-а дигиталРеад (способног за детекцију када се напон који га достигне) омогући коришћење транзистора притиском на дугме. За то морамо користити само дугме тако да га на левој страни повежемо на 5В, десну на отпор од 220 охма и одатле на земљу, док заузврат такође повежемо десну страну на пин 6 Друго дугме би се инсталирало на исти начин, иако га, као што видите на дијаграму, уместо пина 6 повезујемо са 7.
Софтвер за употребу за кућни миди контролер
Када завршимо са свим хардвером, време је да повежемо свој инструмент и тестирамо. Пре тога морамо да имамо УСБ-МИДИ интерфејс и МИДИ кабл да повежемо плочу која шаље податке са нашим рачунаром. Да бисмо то постигли, одлучили смо се за МИДИ в4.2 библиотеку коју су креирали момци из Форти Севен Еффецтс коју смо морали инсталирати на наш Ардуино и укључити у пројекат.
У случају рачунара, биће нам потребан програм који је у стању да надгледа све МИДИ податке који му стижу из Ардуина. За ово имамо различите могућности као што су МИДИ Монитор (ОС Кс), МИДИ-ОКС (Виндовс) или Кмидимон (Линук)
Да бисмо направили мали тест, само морамо повезати Ардуино са рачунаром и извршити следећи код:
#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 }
Ако је све прошло у реду, можете да пређете на тест дугмета, у случају да вам тест није успео, морате се уверити да су све везе исправне, коло је потпуно исто као и претходни дијаграм, коло је повезан са УСБ-МИДИ интерфејсом МИДИ каблом, каблови МИДИ порта су правилно повезани, МИДИ кабл је повезан на улаз УСБ-МИДИ интерфејса, Ардуино плоча је правилно повезана на електричну мрежу и има довољно снаге ...
Тестирање исправности тастера
Пре него што наставите да храните наш програм новим функционалностима и кодом у којима се можемо изгубити, вреди зауставити се на тренутак и тестирајте да ли дугмад исправно раде. За њих морамо учитати следећи код:
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); } } }
Овај код једноставно треба да се компајлира и изврши тако да нам, са повезаним УСБ каблом, програм каже да ли је било које дугме притиснуто.
Креирамо наш домаћи МИДИ контролер
Једном када смо извршили ове тестове, време је да окупимо сопствени МИДИ контролер за то, мораћете да саставите само следећи код:
#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); } } }
Као детаљ, реците вам да овог пута не можете користити наредбу Сериал.принтлн () са МИДИ излазом, ако желите да прикажете неку врсту поруке на рачунару, само промените:
midiOut.sendControlChange(42,127,1);
по:
midiOut.sendControlChange(value, channel);
при чему вредност и канал морају да имају жељене вредности које желите да прикажете.
Пример операције:
Ардуино вам нуди много могућности да сами предузимате пројекте https://www.juguetronica.com/arduino . Једна од најбољих ствари је што можете почети без стручности и наставити учити, мотивишући се тако да будете самоуки.
Поздрав.
Покушавам да изведем овај фантастични водич ... али #инцлудес није потпун ....
Можете ли ми рећи који су неопходни?
Пуно Вам хвала.
Здраво.
Желео бих да направим електронски бубњарски модул заменом тастера са улазним прикључцима на које ће стизати пиезоелектрични сигнал.
Да ли би то било могуће учинити?
Молим вас, ако бисте могли да дате делове овог кода, заинтересован сам за овај пројекат.