AbdulHadi 45350 MakalahMIDI
AbdulHadi 45350 MakalahMIDI
Oleh :
Abdul Hadi (16/400336/TK/45350)
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.
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.
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.
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.
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.
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.
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.
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:
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.
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).
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:
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;
3. Proses coding dan encoding dari Midi atau proses kerja midi
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)
uint8_t retlen = 0;
uint8_t cnt;
uint8_t cnt7 = 0;
sysex[0] = 0;
sysex[1 + cnt7] = c;
if (cnt7++ == 6) {
sysex += 8;
retlen += 8;
sysex[0] = 0;
cnt7 = 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 += [c]
if cnt7 == 6:
idx += 8
sysex += [0]
cnt7 = 0
else:
cnt7 += 1
if cnt7 == 0:
sysex.pop()
return sysex
uint8_t cnt;
uint8_t cnt2 = 0;
uint8_t bits = 0;
if ((cnt % 8) == 0) {
bits = sysex[cnt];
} else {
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) {
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/