Направете свој MIDI контролер со Arduino

MIDI

Ако сте overубител на музика или директно аматер или професионален музичар, сигурно во вашиот дом сте акумулирале голема колекција на музички инструменти. За да направите сите овие да се мешаат совршено, најдобро е да добиете А. MIDI контролер. За жал, овие типови на предмети се обично прилично скапи, така што едно лице без премногу ресурси има тежок пристап до сè што може да понуди.

За да разберете многу подобро што е MIDI контролер, кажете ви дека потекнува зборот MIDI Дигитален интерфејс на музички инструмент, односно еден вид контролер што прави електронски музички уреди можат да комуницираат едни со други. Ако имате електронска тастатура дома, на пример, повеќе од веројатно е дека има MIDI интерфејс. Пред да продолжите да напредувате, и покрај фактот дека постојат одредени технички детали што може да доведат до тоа да верувате во спротивното, мора да биде многу јасно дека MIDI не е аудио.

Создадете ваш сопствен MIDI контролер со ова едноставно упатство

Штом ќе бидеме јасни за ова, сигурно ќе ви биде многу полесно да разберете дека MIDI е едноставно пакет инструкции способен за поддршка до 16 независни канали, што значи дека може да има до 16 различни уреди кои комуницираат независно едни со други. Овие уреди треба да бидат поврзани преку 5-пински DIN кабел, што е во основа кабел со пет пина во внатрешноста на конекторот. Како детал, вообичаено е да се користи USB наместо 5-пински DIN, во случај на користење USB, ние мора да создадеме USB-MIDI интерфејс.

Без понатамошно разочарување, ви оставам врската каде што можете да ја најдете туториал чекор по чекор со многу описни слики каде што можеме да ги извршиме сите потребни активности за да создадеме сопствен MIDI контролер.

Поврзана статија:
Како да ги сменитеме корисничкото име и лозинката на Пи на нашата малина Пи

Како да направите сопствен MIDI контролер со Arduino

миди конектор

Многумина се луѓе на кои им треба, од различни причини и од лични и од професионални, да користат а целосно сопствен MIDI контролер Бидејќи можеби и како пример, во одреден момент од вашиот живот како уметник, купувањето ефтин MIDI контролер може да не ги исполни вашите очекувања или потреби, додека, кога ќе дојде време, да изберете професионална верзија може да биде претерано во двата финансиски ресурси. потреба, како и големиот број на карактеристики што можат да ги понудат.

Поради ова, денес сакам да ви покажам се што ви треба за да можете да направите сопствен MIDI контролер што ќе укаже на сè што е потребно за неговата изградба и ви нуди софтвер што ќе треба да го инсталирате. Како детал, за овој проект е од суштинско значење употребата на табла Arduino, контролер кој е доволно моќен за извршување на оваа задача.

Поврзана статија:
Како да направите робот: 3 различни опции

Што е MIDI контролер?

миди

Во суштина, MIDI контролерот е одговорен, нашироко кажано, за поврзување на различни музички уреди едни со други. Многу од нив се инструменти кои вклучуваат MIDI интерфејс, сепак, ова мора да биде многу јасно бидејќи има многу корисници кои често се збунети, MIDI не е аудио-датотека, туку многу едноставен пакет инструкции што може да ги добие инструментот за да направи различна контрола или поставки за звук.

Внатре во MIDI постојат два различни видаОд една страна го имаме оној наречен Промена на контролата каде има број на контролор и вредност помеѓу 0 и 127. Благодарение на ова, пораките можат да се издаваат каде што можат да се менуваат различни параметри, како што се јачината на звукот или тонот. Различни инструменти што прифаќаат MIDI треба да донесат прирачник со нив во кој ќе се објаснува кои канали и пораки се поставени стандардно и како да ги промените.

На второ место ја имаме Програмата Промена, серија пораки кои за возврат се многу поедноставни од оние што ја сочинуваат Контролата на промените. Овие типови на пораки се користат за промена на претходно поставената или лепенката на уредот. Како и во Контролата на промена, заедно со вашиот инструмент, производителот мора да содржи прирачник што покажува кои поставки се менуваат со одредена порака.

Потребни делови за да изградите сопствен домашен MIDI контролер

Шематски приклучок на миди

За да можете да изградите сопствен MIDI контролер, ќе ви требаат низа парчиња, како што веќе споменавме, на таблата Arduino. Пред да продолжите, само кажете ви дека можеби, во иднина затоа што сакате да го проширите проектот, ви требаат повеќе работи, иако во ова време со неколку парчиња ќе имате многу.

Needе ни треба 5-полен женски ДИН кабел, 2 отпорници од 220 оми, 2 моментални прекинувачи, 2 отпорници од 10 км оми, жици за поврзување, плоча за струја, MIDI кабел и MIDI уред или USB интерфејс. Само со овие парчиња можете да започнете, следејќи ги моите чекори, да направите свој MIDI контролер.

Први чекори

Ардуино миди шема

Пред да започнам, ви оставам слика каде што можете да ги видите пиновите на вашиот MIDI кабел, на овој начин правилно можеме да ги идентификуваме пиновите и особено каде да ги поврземе сите. Нашироко кажано, сè што треба да направите во овој момент е да го поврзете пинот 5 од кабелот со отпорник од 220 оми и од таму на Arduino Transmit 1, игла 4 на отпор од 220 оми и оттаму на 5V приклучокот на Arduino додека игла 2 мора да биде поврзан со приземјето на вашиот контролер.

Откако ќе заврши овој чекор, немате детален дијаграм на фотографијата што се наоѓа веднаш под овие редови, време е да ги поврзете копчињата. Идејата во овој дел е да се постигне, користејќи го пинот digitalRead (способен да открие кога се менува напонот што го достигнува) да може да се користи транзистор за да се постигне, само со едно притискање на копче. За ова, треба да користиме само копче така што, левата страна ќе го поврземе со 5V, десната страна со отпор од 220 оми и од таму на земја, додека, пак, ќе ја поврземе и десната страна со игла 6. Второто копче ќе биде инсталирано на ист начин иако, како што можете да видите на дијаграмот, наместо игла 6 го поврзуваме со 7.

Софтвер што треба да се користи за домашен миди контролер

Откако завршивме со целиот хардвер, време е да го поврземе нашиот инструмент и да тестираме. Пред тоа треба да имаме а USB-MIDI интерфејс и MIDI кабел да ја поврземе таблата, која испраќа податоци, со нашиот компјутер. За да го постигнеме ова, ние се определивме за библиотеката MIDI v4.2 создадена од момци од Четириесет и седум ефекти што мора да ја инсталиравме на нашиот Ардуино и да ја вклучиме во проектот.

Во случај на компјутер, ќе ни треба програма што е способна да ги надгледува сите MIDI податоци што пристигнуваат до нив од Ардуино. За ова имаме различни можности како што се MIDI Monitor (OS X), MIDI-OX (Windows) или Kmidimon (Linux)

За да направиме мал тест, треба само да го поврземе Arduino со нашиот компјутер и да го извршиме следниот код:

#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
}

Ако сè помина добро, можете да отидете на тест со копчиња, во случај овој тест да не успее за вас, мора да бидете сигурни дека сите врски се точни, колото е точно исто како и претходниот дијаграм, колото е поврзан со USB-MIDI интерфејс со MIDI кабел, каблите за порт MIDI се правилно поврзани, кабелот MIDI е поврзан со влезот на USB-MIDI интерфејсот, таблата Arduino е правилно поврзана со електричната мрежа и има доволно напојување ...

Тестирање дали копчињата работат правилно

Пред да продолжите да ја храниме нашата програма со нови функционалности и код во кои можеме да се изгубиме, вреди да застанеме за момент и тестирајте дали копчињата работат правилно. За нив треба да го вчитаме следниот код:

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);
}
}

}

Овој код треба само да се состави и изврши, така што, со поврзан USB кабел, програмата ќе ни каже дали е притиснато некое од копчињата.

Ние го создаваме нашиот домашен MIDI контролер

Откако ќе ги извршиме овие тестови, време е да го собереме сопствениот MIDI контролер за тоа, само ќе треба да го соберете следниот код:

#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);
}
}
}

Како детал, кажете ми дека овојпат не можете да ја користите командата Serial.println () со MIDI излез, ако сакате да прикажете некој вид порака на компјутерот, само променете:

midiOut.sendControlChange(42,127,1);

од:

midiOut.sendControlChange(value, channel);

каде што вредноста и каналот мора да ги имаат посакуваните вредности што сакате да ги прикажете.

Пример за работа:


Содржината на статијата се придржува до нашите принципи на уредничка етика. За да пријавите грешка, кликнете овде.

4 коментари, оставете ги вашите

Оставете го вашиот коментар

Вашата е-маил адреса нема да бидат објавени.

*

*

  1. Одговорен за податоците: Мигел Анхел Гатон
  2. Цел на податоците: Контролирајте СПАМ, управување со коментари.
  3. Легитимација: Ваша согласност
  4. Комуникација на податоците: Податоците нема да бидат соопштени на трети лица освен со законска обврска.
  5. Складирање на податоци: База на податоци хостирани од Occentus Networks (ЕУ)
  6. Права: Во секое време можете да ги ограничите, вратите и избришете вашите информации.

  1.   Алфред dijo

    Arduino ви нуди многу можности да преземете проекти самостојно https://www.juguetronica.com/arduino . Една од најдобрите работи е што можете да започнете без да бидете експерт и да продолжите со учење, со што ќе се мотивирате да бидете самоуки.

  2.   Данел Роман dijo

    Поздрав.

    Се обидувам да го направам ова фантастично упатство… но # вклучените не се завршени.

    Може ли да ми кажете кои се потребни?

    Ви благодарам многу.

  3.   Уел dijo

    Еј.
    Би сакал да направам електронски модул за тапан со замена на копчињата со влезни приклучоци на кои ќе пристигне пиезоелектричен сигнал.
    Дали би било можно да се направи тоа?

  4.   Едуардо Валензуела dijo

    Ве молам, ако можете да ги дадете содржините на овој код, јас сум заинтересиран за овој проект.

Тест по англиски јазикТест каталонскишпански квиз