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