Anda di halaman 1dari 11

Musical Instrument Digital Interface (MIDI)

Oleh :
Abdul Hadi (16/400336/TK/45350)

Ahmad Zaini Pratama (16/400341/TK/45355)

DEPARTEMEN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI


FAKULTAS TEKNIK

UNIVERSITAS GADJAH MADA

YOGYAKARTA
2018
1. Sejarah dan penjelasan tentang Midi

Musical Instrument Digital Interface (MIDI) adalah sebuah standar hardware dan software
internasional untuk saling bertukar data (seperti kode musik dan MIDI Event) di antara perangkat
musik elektronik dan komputer dari merek yang berbeda.

MIDI sendiri tidak memproduksi suara, MIDI hanyalah sebuah pesan berurutan ( serial )
seperti misalnya “note on”, “note off”, “note/pitch”, “pitchbend”, dan masih banyak lagi. Pesan-
pesan ini kemudian di kenali oleh instrumen musik yang berbasis MIDI untuk kemudian instrumen
tersebut memproduksi suara sesuai dengan pesan MIDI yang dikirim kepadanya. Instrumen MIDI
bisa sebuah bagian dari peralatan musik, seperti keyboard elektronik hingga synthesizer, ataupun
bagian dari sebuah software, seperti Ableton, Garageband, Logic, Studio One, dan lain-lain.

Berikut ini adalah catatan singkat sejarah perkembangan musik khususnya teknologi MIDI.

Sejarah MIDI mungkin diawali Tahun 1870, Electromechanical Piano. Electromechanical


Piano di ciptakan oleh Hipps, seorang director sebuah perusahaan telegraph dari Swiss. Tahun
1906,Thadeus Ca hill menemukan Tell harmonium, sebuah music instrument yang sound-ya
dihasilkan lewat sebuah dynamo. Tahun 1920, pertama kali di ciptakan Alat musik berbasiskan
tabung hampa (tube vacuum)oleh Leon Theremin yang berasal dari Russia. Tahun 1930,
Hammond Organ diciptakan pertama kali oleh Laurent Hammond, sejak pertama di perkenalkan,
langsung mendapatkan sambutan yang luar biasa. Mulai th. 1935 music instrument ini diproduksi
massal (mass product). Cara kerja instrument ini berdasarkan 91 kipas generator electro magnetic,
sehingga menghasilkan sound yang khas. Dasar-dasar Digital Recording MIDI yang berkembang
hingga saat ini, adalah mengambil dari concept cara kerja instruments Vocoder, yang diciptakan
oleh Homer Dudley berasal dari America Tahun 1940. Dan pada tahun 1952 ditemukan
Synthesizer oleh Harry Olson dan Belar dari RCA Studio America Serikat.Cara kerjanya seperti
computer yang berdasarkan kode biner (binary code). Ini merupakan awal kearah MIDI, musik
digital.

Tahun 1960 | Moog

Adalah Prof. Robert Moog yang telah menciptakan instrument ini, dan berhasil sukses dalam
penjualannya. Principe kerja Moog Synthesizer ini berdasarkan component transistor secara
manual. Moog ini menjadi cikal bakal terlahirnya keyboard-keyboard dan synthesizer-synthesizer
modern.

Tahun 1963 | melotron

Memasuki awal th. 60-an, cara kerja instrument electric mulai banyak yang bergeser dengan
memanfaatkan IC (Integrated Circuit) dan Melotron adalah salah satu yang berhasil
mengembangkanya. Cara kerja nya, IC (Integrated Circuit) sebagai perekam (Recorder)sound atau
di sebut dengan technique sampling sebagai sound generator-nya. Tehnik ini akhirnya diadopsi
oleh synthesizer-synthesizer modern generasiberikutnya.
Tahun 1970 | Keyboard and Synthesizer

Mulai pada tahun ini Japan menguasai pasar music dunia dengan merk-merk andalan
seperti Roland, Kawai, Korg, Yamaha. Yang di tonjolkan oleh product-product ini adalah simple
dan gampang di operasikan.

Tahun 1971 | Electone

Produsen instrimen Yamaha membuat Electone (Electronic Tone). Di buat dengan concept
One Player Hand. Secara physic instruments ini mirip seperti Organ, namun di lengkapi dengan
fitur Sound Banks, rhythm section, dimana irama atau beat-beat tertentu sudah ter-program secara
built-in.

Tahun 1980 | Portasound

Yamaha kembali membuat kejutan dengan merilis Porta sound seri PSR 10. Alat ini
bentuknya lebih sederhana dibandingkan dengan Electone,namun memiliki fitur-fitur layaknya
synthesizer professional. Pada era ini pengguna Keyboard Synthesizer mulai bergeser pada
instrument jenis ini.

Tahun 1982 | MIDI

Pada Tahun ini di temukannya MIDI (Musical Instrument Digital Interface) atau Bahasa
antar instruments. Pada awalnya para produsen memiliki standard pem-program-an sendiri-
sendiri, sehingga masih ada kendala apabila ingin menghubungkan dua instrument musik dari
produsen yang berbeda. Pada tahun berikutnya beberapa perusahaan seperti Korg, Roland,
Sequential, Yamaha, Kawai, Oberheim, bersepakat untuk membuat standard MIDI, agar setiap
instrument dapat di hubungkan secara MIDI dan masing-masing dapat memahami instruction-
nya.Lalu standard ini di ikuti sebagian besar produsen instruments music di seluruh dunia.

Tahun 1983 | DX7

Synthesizer DX7 buatan Yamaha adalah yang mengawali suksesnya dalam menerapkan
standard midi disertai fitur yang memungkinkan sebuah Synthesizer dapat di hubungkan dengan
PC (Personal Computer). Karena keunggulanya, pada masa ini synthesizer DX7 banyak digunakan
musician-musician dunia seperti Duran duran, A-ha, dsb. Pada era ini pula sebagian besar musician
sedang di landa demam MIDI, kalo nggak midi nggak modern. Musician yang ikut andil dalam
berkembangnya MIDI di Indonesia adalah Fariz RM, Aminoto kosin, dsb

Tahun 1989 | PC

PC atau Personal Computer mulai pada masa ini berkembang cukup pesat, dunia music tak
ketinggalan terkena dampaknya. Para produsen seperti Steinberg, Twelve tone System,
Prophelhead, Ableton, Adobe, dsb. Mengembangkan berbagai jenis software musik sequencer,
editing, atau player. Dan kini segala jenis pekerjaan music format Midi ataupun Audio dapat
dilakukan cukup dengan memiliki sebuah PC atau Personal Computer.
Tahun 2000 | Virtual Instrument

Pengolah music ber-basic software semakin lama semakin berkembang, maka bermunculan
Sound Module yang berbentuk software atau di kenal dengan Virtual Instrument. Produsen-
porodusennya antara lain : IK Media dengan product-nya : Sample Tank, Sonic Synth, Microslav
Philharmonic, etc. Native Instrument dengan produknya : FM7 ( DX7 software version ), FM 8,
battery, Pro53, etc. atau Steinberg dengan product-nya : Halion, The Grand, Hypersonic, dsb.
Tidakketinggalan para produsen seperti E-Mu yang sebelumnya membuat sound module hardware
seperti Proteus, Planet earth, Virtuoso dsb. juga merilis versi Virtual-nya. Bahkan untuk
memainkan CD Sampling AKAI tidak perlu lagi memakai Hardware, karena Halion, Sample
tanks, V Sampler sudah compatible dengan format AKAI.

2. Fungsi dan penggunaan dari Midi

Beruntung kita dilahirkan di jaman dimana teknologi musik sudah berkembang begitu pesat.
Bayangkan saja, pada jaman nenek moyang kita, untuk memainkan sebuah organ saja, selain
tangan memencet keyboard, kaki kita harus menahan pegal menggenjot pompa injak agar
menghasilkan angin untuk meniupkan nada. Dengan hadirnya teknologi MIDI telah banyak
membantu mempermudah para musisi dalam mengerjakan musiknya.

MIDI (Musical Instrument Digital Interface) merupakan sebuah standard yang diterima secara
luas untuk pertukaran informasi tentang permainan musik secara digital. Instrumen MIDI biasanya
dapat mengirim sekaligus menerima perintah MIDI. Meski begitu ada juga instrumen MIDI
tertentu yang hanya melakukan satu fungsi, yaitu hanya dapat mengirim atau hanya dapat
menerima perintah MIDI saja. Jadi instrumen MIDI bisa dibagi menjadi 3 kelompok berdasarkan
interaksinya dengan perintah MIDI yaitu:

• Instrumen MIDI yang dapat mengirim dan menerima perintah MIDI.

• Instrumen MIDI yang hanya dapat menerima perintah MIDI.

• Instrumen MIDI yang hanya dapat mengirim perintah MIDI.

Misalnya instrumen MIDI yang dapat mengirim dan menerima perintah MIDI adalah
keyboard MIDI atau synthesizer. Selain dapat mengirim informasi permainan kita ke instrumen
lain juga dapat menerima informasi permainan dari instrumen lain. Sedangkan contoh instrumen
MIDI yang hanya dapat menerima perintah MIDI adalah soundcard. Soundcard pada komputer
menunggu instruksi dari instrumen atau software lain agar dapat menghasilkan bunyi.
Soundcard tidak dapat menghasilkan bunyi berdasarkan kemauannya sendiri. Apabila
Anda mendengar suara dari soundcard saat menjalankan program program windows yang terjadi
sebenarnya adalah Windows memberikan perintah pada soundcard untuk mengeluarkan bunyi. Ini
berarti soundcard hanya dapat menerima perintah MIDI saja dan tidak dapat mengirim perintah
MIDI. Instrumen MIDI lainnya yang juga hanya dapat menerima perintah MIDI saja dalah sound
module. Sebaliknya, ada instumen tertentu yang fungsinya hanya untuk mengirim perintah MIDI
ke instrumen MIDI lainnya, yang disebut sebagai controller.

Controller memiliki beragam bentuk, mulai dari keyboard, gitar, alat tiup atau drum.
Controller yang berbentuk keyboard disebut keyboard controller. Bentuk controller keyboard ini
hampir sama dengen keyboard MIDI atau synthesizer. Hanya saja keyboard controller tidak dapat
menghasilkan bunyi. Bunyi yang keluar berasal dari instrumen MIDI lainnya. Dengan
menggunakan controller, plus soundcard komputer atau sound module melalui kabel MIDI, kita
dapat memainkan suara soundcard atau sound module pada tuts keyboard ini.

Midi Language

Midi language atau Bahasa MIDI berisi informasi permainan musik yang dikirim dalam
bentuk bilangan biner. Pada saat diciptakan, MIDI dikhususkan untuk instrumen musik keyboard.
Oleh karena itu, penggunaan bahasa MIDI banyak mengacu pada instrumen keyboard. Misalnya,
untuk membunyikan sebuah not dalam bahasa MIDI dikirim dalam perintah “note on”, yaitu
sewaktu kita menekan tuts keyboard dan diikuti dengan informasi velocitynya yang menentukan
berapa keras nada tersebut ditekan.
Perintah “note off” dikirim apabila kita mengangkat jari kita dari tuts keyboard yang
digunakan untuk menghentikan bunyi nada tersebut. Bahasa MIDI ini jenisnya bermacam-
macam,diantaranya digunakan jenis suara ,mengatur volume, mengatur pan (keseimbangan suara
stereo),dan mengatur berbagai aspek dari permainan musik kita.

Standard MIDI Files (SMF)

Untuk membuat lagu, biasanya meng- gunakan hardware atau software yang disebut
sequencer. Umumnya setiap sequencer memiliki format lenya masing masing yang berbeda antara
alat yang satu dengan yang lainnya.

Hal ini menyebabkan musik yang dibuat tidak dapat dibuka di alat lain. Oleh karena itu
dibuatlah suatu standard agar lagu yang dibuat pada suatu alat dapat dibuka dan diedit pada
software lainnya. Standard ini disebut sebagai Standard Midi Files (SMF). Data lagu yang
disimpan dalam bentuk SMF mempunyai ekstensi (.mid).

Cara Menghubungkan MIDI Controller dengan Laptop

Untuk bisa memainkan program instrument musik di computer, khususnya software/vst


seperti keyboard synthesizer atau piano, diperlukan sebuah alat yang disebut: MIDI Controller
atau bisa juga disebut Keyboard Controller. Keyboard musik biasa, baik itu tipe arranger,
synthesizer, maupun workstation dapat saja difungsikan sebagai MIDI Controller. Hanya saja kan
harganya tinggi, dan peruntukkannya lebih maksimal digunakan untuk live play. Untuk proses
music production / recording mending pakai Keyboard Controller saja. Mengenai Keyboard
Controller Gwe bahas di tulisan lain. Jadi, di tulisan kali ini kita langsung saja, ada 3 (tiga) benda
penting untuk bisa menghubungkan Keyboard Controller dengan laptop, yaitu:

1. Laptop (sebenarnya bisa juga untuk Desktop Komputer) yang dilengkapi program music DAW,
contohnya seperti: FL Studio, Pro Tools, Logic Pro, Ableton, dll.
2. MIDI Controller, atau Keyboard musik biasa yang memiliki output berupa MIDI atau USB. Ada
beberapa merek Keyboard/MIDI Controller seperti E-MU, M-AUDIO, dll.

3. Kabel USB yang digunakan untuk menghubungkan keyboard dengan laptop. Ini adalah Kabel
tipe yang sama yang digunakan utuk menghubungkan printer dengan komputer/laptop.

Selanjutnya, langkah-langkah yang perlu dilakukan untuk mewujudkan hal itu adalah:

1. Hidupkan MIDI / Keyboard Controller. Posisi On;

2. Setelah laptop dalam posisi On dan ready, jalankan program DAW semacam FL Studio atau
program musik lain;

3. Masuk ke menu option program musik (dalam hal ini FL Studio). Biasanya di situ ada
pilihan/opsi: Input MIDI. Pilih: Enable atau Aktifkan;

4. Coba tekan tombol Keyboard Controller untuk memastikan hubungan/koneksi sudah aktif. Pilih
instrumen/channel di program musik komputer sesuai dengan pilihan / keinginan Anda. Sebagai
tes Anda dapat menggunakan intrumen keyboard atau piano. Apabila sudah aktif, akan
muncul/bunyi yang sesuai dengan instrumen/channel yang aktif;

5. Untuk mengatur volume di program musik, pengaturannya langsung dengan komputer/laptop.


Anda juga dapat menghubungkan / assign salah satu kenop yang ada di Keyboard Controller untuk
menjalankan fungsi pengaturan Volume. Namun umumnya penghubungan / assignment ini
bersifat temporer. Artinya harus anda setting ulang tiap kali menjalankan program, tidak otomatis
hardware dan software ini terhubung / terkoneksi.

3. Proses coding dan encoding dari Midi atau proses kerja midi

Contoh : ENCODING 8 BIT DATA IN MIDI SYSEX

Saat mengirim data patch melalui sysex, cukup cepat menemukan masalah yang harus
menyandikan 8 bit data melalui nilai-nilai 7 bit yang ditawarkan sysex. Digunakan pendekatan
yang cukup mendasar untuk menambahkan byte tambahan setiap 7 byte untuk menyimpan MSB
dari setiap nilai. Jadi, 7 nilai terlihat seperti ini ketika dikirim melalui sysex:
(0 MSB7 MSB6 MSB5 MSB4 MSB3 MSB2 MSB1)

(BYTE1 & 0x7F) (BYTE2 & 0x7F) (BYTE3 & 0x7F)

(BYTE4 & 0x7F) (BYTE5 & 0x7F) (BYTE6 & 0x7F)

(BYTE7 & 0x7F)

Kode untuk menyandikan nilai pada C adalah :

uint8_t data_to_sysex(uint8_t *data, uint8_t *sysex, uint8_t len) {

uint8_t retlen = 0;

uint8_t cnt;

uint8_t cnt7 = 0;

sysex[0] = 0;

for (cnt = 0; cnt < len; cnt++) {

uint8_t c = data[cnt] & 0x7F;

uint8_t msb = data[cnt] >> 7;

sysex[0] |= msb << cnt7;

sysex[1 + cnt7] = c;

if (cnt7++ == 6) {

sysex += 8;

retlen += 8;

sysex[0] = 0;

cnt7 = 0;

return retlen + cnt7 + (cnt7 != 0 ? 1 : 0);


}

Kode ini mengasumsikan buffer sysex cukup besar untuk menampung nilai-nilai (tidak
banyak ruang untuk pemrograman yang aman pada platform tertanam :). Loop utama
mengkodekan msbs dari 7 byte, dan setiap 7 byte memajukan 8 byte dalam buffer tujuan. Tes
terakhir ada untuk menghapus trailing 0 byte.

Kode yang sama dalam python (digunakan dalam kode kontroler ableton):

def data_to_sysex(data):

sysex = [0]

idx = 0

cnt7 = 0

for x in data:

c = x & 0x7F

msb = x >> 7

sysex[idx] |= msb << cnt7

sysex += [c]

if cnt7 == 6:

idx += 8

sysex += [0]

cnt7 = 0

else:

cnt7 += 1

if cnt7 == 0:

sysex.pop()
return sysex

yang pada dasarnya persis sama.

Decoding sama prosesnya jika secara terbalik :

uint8_t sysex_to_data(uint8_t *sysex, uint8_t *data, uint8_t len) {

uint8_t cnt;

uint8_t cnt2 = 0;

uint8_t bits = 0;

for (cnt = 0; cnt < len; cnt++) {

if ((cnt % 8) == 0) {

bits = sysex[cnt];

} else {

data[cnt2++] = sysex[cnt] | ((bits & 1) << 7);

bits >>= 1;

return cnt2;

Bit-bit tersebut disimpan pada setiap 8 batas byte, dan 7 byte berikutnya dipulihkan dengan
menggeser melalui variabel bit. Setelah menerima paket sysex, bisa men-decode data seperti ini
(ini di luar kode controller):

void receive_page_sysex(void) {

if (sysex_data[4] == curpatch) {

uint8_t page = sysex_data[5];

uint8_t type = sysex_data[6];

sysex_to_data(sysex_data + 7,
get_encoder_page_data(page),

sysex_cnt - 7);

get_encoder_page(page)->type = type;

current_page->refresh = 1;

if (page == curpage) {

set_page(page);

flash_active = 0;

Kode ini memeriksa sedikit atribut di pesan sysex itu sendiri (byte 4, 5 dan 6), dan
kemudian menerjemahkan data secara langsung ke buffer yang benar. Sekali lagi, tidak ada
pemeriksaan apa pun yang dilakukan di sini, sehingga dapat dengan mudah overwrite memori
dengan mengirim pesan yang salah.

Referensi :

https://id.wikipedia.org/wiki/MIDI

http://kokohyanuardotcom.blogspot.com/2013/02/apa-sebenarnya-midi-itu-part-1.html

https://virgonitamusic.wordpress.com/sejarah-singkat-midi/

http://edypurwantomusicbumiayu.blogspot.com/2012/04/sejarah-midi-dari-masa-ke-masa.html

http://juliushutabalian.blogspot.com/2014/04/tentang-midi-dan-tutorial-cara.html

https://blogs.bl0rg.net/netzstaub/2008/08/14/encoding-8-bit-data-in-midi-sysex/

Anda mungkin juga menyukai