ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Panduan Pengguna

Sintaks MIDI

OnSong menggunakan sintaks berbasis teks untuk mengekspresikan perintah MIDI. Meskipun Anda dapat menggunakan Acara MIDI di Editor Metadata, Anda juga dapat mengekspresikan perintah MIDI dalam teks.

Nilai Terbatas

Pertama-tama, beberapa perintah MIDI dapat dipisahkan oleh berbagai karakter termasuk: karakter tab, koma, titik koma, pipa vertikal, atau baris baru. Koma adalah pemisah paling umum. Sebagai contoh:

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

Saluran

Setiap entri mungkin berisi simbol @. Nilai numerik setelah simbol adalah saluran tempat perintah akan dikirim. Karena saluran di MIDI dimulai dari nol, saluran satu akan menjadi nol (0), saluran dua satu (1), dan seterusnya.

Jika tidak ada simbol @, perintah dikirim atau diterima di semua saluran.

Awalan

Setiap entri dalam daftar berisi awalan. Awalan ini menentukan jenis perintah MIDI apa yang akan dikirim. Ini mencakup:

  • PC atau Tanpa Awalan adalah acara perubahan program.
  • N adalah acara catatan
  • CC adalah acara perubahan kontrol.
  • NRPN adalah nomor parameter non-terdaftar.
  • SS adalah acara pemilihan lagu.
  • START adalah perintah mulai.
  • STOP adalah perintah berhenti.
  • CONTINUE adalah perintah lanjutkan.
  • WAIT menunggu waktu tertentu sebelum mengirim lebih banyak acara.
  • F0 mengandalkan pesan SysEx.
  • @ mengandalkan tag global MIDI.

Nilai

Nilai perintah muncul tepat sebelum simbol @ atau di akhir entri jika tidak ada @ yang diberikan. Ini adalah nilai perubahan program, perubahan kontrol, catatan, atau pemilihan lagu berdasarkan awalan. Dalam kasus entri SysEx, nilai heksadesimal SysEx disediakan langsung setelah awalan F0 yang digunakan sebagai header untuk semua perintah SysEx.

Subnilai

Dalam beberapa kasus, informasi tambahan disampaikan dalam perintah MIDI sebagai subnilai. Misalnya, MSB dan LSB, serta kecepatan nilai kontrol dapat dikirim dengan cara ini. Ini diekspresikan melalui penambahan titik dua dalam bagian nilai. Subnilai memiliki konteks berbeda tergantung pada jenis perintah MIDI yang dikirim:

  • Perubahan Program memiliki subnilai yang selaras dengan MSB/LSB perubahan program. Nilai-nilai ini dipisahkan oleh titik dengan MSB di sebelah kiri dan LSB di sebelah kanan.
  • Perubahan Kontrol memiliki nilai kontrol yang ditetapkan menggunakan ini. Angka dapat berkisar antara 0 dan 127. Jika dihilangkan, nilai 127 disimpulkan. Anda juga dapat memisahkan beberapa nilai dengan tanda hubung untuk melangkah melalui nilai. Misalnya, 127-0 akan mengunci nilai 127 antara status hidup dan mati.
  • Acara Catatan memiliki subnilai yang berhubungan dengan kecepatan di mana catatan harus dimainkan. Ini dapat diatur ke nilai numerik antara 0 dan 127. Anda dapat melangkah melalui beberapa kecepatan catatan dengan memisahkannya dengan tanda hubung.

Contoh

Mari kita mulai dengan perubahan program sederhana. Dalam skenario ini kami menggunakan perubahan program 8 yang juga mengirim MSB 4 dan LSB 2 di saluran 1. Contoh dimulai dengan variasi paling kompleks dari ini dan menghilangkan pemilihan bank dan saluran untuk menjadi lebih luas:

PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7

Perubahan kontrol serupa kecuali bahwa sisi kiri sintaks adalah nomor perubahan kontrol dan sisi kanan adalah nilai opsional. Jika nilai tidak disediakan, 127 dikirim sebagai gantinya. Kami akan mengirim Perubahan Kontrol 106 dengan nilai 64 di saluran 3.

CC105:63@2, CC105:63. CC105@2, CC105

Sekarang mari kita lihat acara catatan. Kami ingin memutar C4 di saluran 8 dengan kecepatan 75%, kami akan memasukkan yang berikut karena OnSong mulai menghitung C0 MIDI sebagai 0 pada skala catatan MIDI:

N60:95@7, N60@7, N60:95, N60

Sekali lagi, penting untuk diingat bahwa seiring nilai dihilangkan dari sintaks MIDI, pernyataan MIDI menjadi lebih luas dan kurang spesifik. Misalnya, versi terakhir dari acara catatan akan mengirim C4 dengan kecepatan 100% di semua saluran.

Kami juga dapat menunda MIDI dengan menambahkan perintah WAIT. Berikut ini akan menunda MIDI selama 2 detik serta 500 ms (setengah detik). Anda dapat menentukan detik sebagai 1-10 detik atau dalam milidetik.

WAIT2, WAIT500

Terakhir, kami dapat merujuk globals MIDI yang merupakan daftar perintah MIDI pra-konfigurasi yang dapat dirujuk. Jika Anda memiliki global MIDI dengan "on" sebagai tag (tanpa tanda kutip), maka Anda dapat merujuk global tersebut dengan yang berikut:

@on
OnSong 2026 — Terakhir Diperbarui pada March 11, 2020