Jika Anda seorang pencinta musik atau langsung menjadi musisi amatir atau profesional, pasti di rumah Anda sudah banyak koleksi alat musik yang terkumpul. Untuk membuat semua campuran ini sempurna, yang terbaik adalah mendapatkan a Pengontrol MIDI. Sayangnya, jenis objek ini biasanya cukup mahal, sehingga sulit bagi seseorang yang tidak memiliki terlalu banyak sumber daya untuk mengakses semua yang dapat mereka tawarkan.
Untuk lebih memahami apa itu pengontrol MIDI, beri tahu Anda bahwa kata MIDI berasal Alat Musik Antarmuka DigitalArtinya, semacam pengontrol yang membuat perangkat musik elektronik dapat berkomunikasi satu sama lain. Jika Anda memiliki keyboard elektronik di rumah, misalnya, kemungkinan besar keyboard tersebut memiliki antarmuka MIDI. Sebelum melanjutkan, terlepas dari kenyataan bahwa ada detail teknis tertentu yang dapat membuat Anda percaya sebaliknya, Anda harus sangat jelas bahwa MIDI bukan audio.
Buat pengontrol MIDI Anda sendiri dengan tutorial sederhana ini
Setelah kami memahami hal ini dengan jelas, pasti akan lebih mudah bagi Anda untuk memahami bahwa MIDI itu sederhana set instruksi yang mampu mendukung hingga 16 saluran independen, yang berarti bahwa terdapat hingga 16 perangkat berbeda yang saling berkomunikasi satu sama lain. Perangkat ini harus dihubungkan melalui kabel DIN 5-pin, yang pada dasarnya adalah kabel dengan lima pin di dalam sebuah konektor. Sebagai detail, sangat umum menggunakan USB daripada DIN 5-pin, jika menggunakan USB kita harus membuat antarmuka USB-MIDI.
Tanpa basa-basi lagi, saya meninggalkan Anda dengan tautan di mana Anda dapat menemukan tutorial selangkah demi selangkah dengan banyak gambar deskriptif di mana kita dapat melakukan semua tindakan yang diperlukan untuk membuat pengontrol MIDI kita sendiri.
Cara membuat pengontrol MIDI Anda sendiri dengan Arduino
Banyak orang yang membutuhkan, karena alasan yang berbeda baik pribadi maupun profesional, untuk menggunakan file pengontrol MIDI kustom sepenuhnya Karena mungkin dan sebagai contoh, di beberapa titik dalam hidup Anda sebagai seniman, membeli pengontrol MIDI yang murah mungkin tidak memenuhi harapan atau kebutuhan Anda, sementara ketika saatnya tiba, memilih versi profesional mungkin berlebihan di kedua sumber daya keuangan Anda. kebutuhan, serta sejumlah besar fitur yang dapat mereka tawarkan.
Karena itu, hari ini saya ingin menunjukkan kepada Anda semua yang Anda butuhkan sehingga Anda dapat membuat pengontrol MIDI Anda sendiri yang menunjukkan semua yang Anda butuhkan untuk konstruksinya dan menawarkan perangkat lunak yang perlu Anda instal. Secara rinci, untuk proyek ini penggunaan papan Arduino sangat penting, pengontrol yang cukup kuat untuk melaksanakan tugas ini.
Apa itu pengontrol MIDI?
Pada dasarnya, pengontrol MIDI bertanggung jawab, secara umum, untuk menghubungkan perangkat musik yang berbeda satu sama lain. Banyak instrumen yang menggabungkan antarmuka MIDI, meskipun ini harus sangat jelas karena banyak pengguna yang sering bingung, MIDI bukanlah file audio, tetapi sekumpulan instruksi yang sangat sederhana yang dapat diterima instrumen.untuk membuat kontrol yang berbeda atau pengaturan suara.
Di dalam MIDI ada dua jenis yang berbedaDi satu sisi kami memiliki yang disebut Kontrol Perubahan di mana ia memiliki nomor pengontrol dan nilai antara 0 dan 127. Berkat ini, pesan dapat dikeluarkan di mana parameter yang berbeda seperti volume atau nada dapat diubah. Instrumen berbeda yang menerima MIDI harus membawa manual yang menjelaskan saluran dan pesan mana yang diatur secara default dan bagaimana mengubahnya.
Di tempat kedua kami memiliki Program Change, serangkaian pesan yang pada gilirannya jauh lebih sederhana daripada yang membentuk Kontrol Perubahan. Jenis pesan ini digunakan untuk mengubah preset atau patch perangkat. Seperti di Change Control, bersama dengan instrumen Anda, pabrikan harus menyertakan manual yang menunjukkan preset mana yang diubah oleh pesan tertentu.
Suku Cadang yang Diperlukan untuk Membangun Kontroler MIDI Buatan Sendiri
Untuk dapat membangun pengontrol MIDI Anda sendiri, Anda memerlukan serangkaian bagian sebagai tambahan, seperti yang telah kami sebutkan, papan Arduino. Sebelum melanjutkan, katakan saja kepada Anda bahwa mungkin, di masa depan karena Anda ingin mengembangkan proyek, Anda memerlukan lebih banyak hal, meskipun saat ini dengan beberapa bagian Anda akan memiliki banyak hal.
Kami membutuhkan kabel DIN wanita 5 kutub, 2 resistor 220 ohm, 2 sakelar sesaat, 2 resistor 10k ohm, kabel koneksi, papan sirkuit, kabel MIDI dan perangkat MIDI atau antarmuka USB. Hanya dengan potongan-potongan ini Anda dapat mulai, mengikuti langkah-langkah saya, untuk membuat pengontrol MIDI Anda sendiri.
Langkah pertama
Sebelum memulai, saya meninggalkan Anda gambar di mana Anda dapat melihat pin kabel MIDI Anda, dengan cara ini kami dapat mengidentifikasi pin dengan benar dan terutama di mana harus menghubungkan masing-masing pin. Secara garis besar, yang harus Anda lakukan pada titik ini adalah menghubungkan pin 5 kabel ke resistor 220 ohm dan dari sana ke Arduino Transmit 1, pin 4 ke resistor 220 ohm dan dari sana ke soket 5V Arduino sementara pin 2 harus dihubungkan ke koneksi Ground pengontrol Anda.
Setelah langkah ini selesai, Anda tidak memiliki diagram mendetail di foto yang terletak tepat di bawah garis-garis ini, sekarang saatnya untuk menghubungkan tombol. Ide di bagian ini adalah untuk mencapai, menggunakan pin digitalRead (mampu mendeteksi ketika tegangan yang mencapainya berubah) untuk dapat menggunakan transistor untuk mencapai, dengan menekan sebuah tombol. Untuk ini kita hanya perlu menggunakan tombol sehingga, sisi kiri kita menghubungkannya ke 5V, sisi kanan ke resistansi 220 ohm dan dari sana ke ground sementara, pada gilirannya, kita juga menghubungkan sisi kanan ke pin 6 Tombol kedua akan dipasang dengan cara yang sama meskipun, seperti yang Anda lihat di diagram, alih-alih pin 6 kami menghubungkannya ke 7.
Perangkat lunak yang digunakan untuk pengontrol midi rumah
Setelah kami selesai dengan semua perangkat keras, sekarang saatnya untuk menghubungkan instrumen kami dan menguji. Sebelum itu kita perlu memiliki file Antarmuka USB-MIDI dan kabel MIDI untuk menghubungkan papan, yang mengirim data, dengan komputer kita. Untuk mencapai ini, kami telah memilih pustaka MIDI v4.2 yang dibuat oleh orang-orang dari Forty Seven Effects yang harus kami instal di Arduino kami dan disertakan dalam proyek.
Dalam kasus komputer, kita memerlukan program yang mampu mengawasi semua data MIDI yang masuk dari Arduino. Untuk ini kami memiliki kemungkinan berbeda seperti MIDI Monitor (OS X), MIDI-OX (Windows) atau Kmidimon (Linux)
Untuk melakukan sedikit tes kita hanya perlu menghubungkan Arduino ke komputer kita dan menjalankan kode berikut:
#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 }
Jika semuanya berjalan dengan baik, Anda dapat pergi ke tes tombol, jika tes ini tidak berhasil untuk Anda, Anda harus memastikan bahwa semua koneksi sudah benar, rangkaiannya persis sama dengan diagram sebelumnya, rangkaian terhubung ke antarmuka USB-MIDI dengan kabel MIDI, kabel port MIDI terhubung dengan benar, kabel MIDI terhubung ke input antarmuka USB-MIDI, papan Arduino terhubung dengan benar ke jaringan listrik dan memiliki daya yang cukup ...
Menguji bahwa tombol berfungsi dengan benar
Sebelum melanjutkan memberi makan program kita dengan fungsi dan kode baru yang bisa membuat kita tersesat, ada baiknya berhenti sejenak dan uji apakah tombol tersebut berfungsi dengan baik. Untuk mereka kita harus memuat kode berikut:
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); } } }
Kode ini hanya perlu dikompilasi dan dijalankan sehingga, dengan kabel USB terhubung, program memberi tahu kita jika ada tombol yang ditekan.
Kami membuat pengontrol MIDI buatan sendiri
Setelah kami menjalankan tes ini, sekarang saatnya untuk merakit pengontrol MIDI kami sendiri untuk itu, Anda hanya perlu mengompilasi kode berikut:
#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); } } }
Sebagai detail, beri tahu Anda bahwa Anda tidak dapat menggunakan perintah Serial.println () dengan output MIDI saat ini, jika Anda ingin menampilkan beberapa jenis pesan di komputer, ubah saja:
midiOut.sendControlChange(42,127,1);
oleh:
midiOut.sendControlChange(value, channel);
dimana nilai dan saluran harus memiliki nilai yang diinginkan yang ingin Anda tampilkan.
Contoh operasi:
Arduino menawarkan banyak kemungkinan untuk mengerjakan proyek Anda sendiri https://www.juguetronica.com/arduino . Salah satu hal terbaiknya adalah Anda dapat memulai tanpa menjadi ahli dan terus belajar, sehingga memotivasi diri Anda untuk menjadi otodidak.
Salam.
Saya mencoba melakukan tutorial yang luar biasa ini… tetapi #includes belum lengkap….
Bisakah Anda memberi tahu saya mana yang diperlukan?
Terima kasih banyak.
Hola.
Saya ingin membuat modul drum elektronik dengan mengganti tombol dengan input jack yang akan menerima sinyal piezoelektrik.
Apakah mungkin melakukannya?
Tolong jika Anda dapat memberikan kode ini, saya tertarik dengan proyek ini.