Maaf jika salah ya dan silahkan dikoreksi, maklum saya bukan musisi.
Kalau kita bicara MIDI maka setidaknya ada 3 bagian, yaitu:
1. MIDI Controller,
2. MIDI Sequencer, dan
3. Synthesizer/sound-module
Ketiga bagian tersebut ada yang dibuat secara terpisah, ada yang berupa gabungan dari dua bagian, dan ada juga yang berupa gabungan dari ketiganya.
Synthesizer/sound-module berfungsi sebagai pembangkit suara. Itu pada umumnya menyediakan 16 buah kanal dan 128 instrumen/program. Perintah terhadap itu dinamakan pesan-pesan MIDI (MIDI messages). Suatu pesan-pendek MIDI dibentuk oleh 4 byte, yang dimulai oleh MIDI status dan parameternya.
Misalnya kita bermaksud membunyikan C tengah di kanal 4 dengan velocity 80, maka kita harus mengirimkan data 93-30-50-00 (semua data dalam notasi heksadesimal). Penjelasannya adalah sebagai berikut.
93 (dalam desimal = 147) adalah MIDI status untuk "Note on". 90 untuk kanal 1, 91 untuk kanal 2, 92 untuk kanal 3, 93 untuk kanal 4, dst.
30 (dalam desimal = 48) adalah kode C tengah. 0 = C0, ... 12 = C1, ... 24 = C2, ... 36 = C3, ... 48 = C4, ... dst. (semua bilangan dalam desimal).
50 (dalam desimal = 80) adalah velocity.
00 (byte ke-4) tidak digunakan.
MIDI controller berfungsi untuk mengirimkan pesan-pesan MIDI. Suatu MIDI Controller boleh jadi berupa keyboard atau yang lainnya. Setiap tuts/key diasosiasikan dengan note atau pengontrol tertentu.
MIDI Sequencer berfungsi untuk mengolah pesan yang diterima, misalnya dari MIDI Controller, dan mengirimkan pesan hasil olahan tersebut ke Synthesizer/sound-module. Pengolahan tersebut misalnya adalah transpose, note duet/trio, chord, dan lainlain.
Tolong dikoreksi jika salah atau saya menggunakan istilah yang kurang tepat.