ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Panduan Pengguna
Sintaks MIDI
OnSong menggunakan sintaks berbasis teks untuk mengekspresikan perintah MIDI. Meskipun Anda dapat menggunakan Peristiwa 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 yang paling umum. Sebagai contoh:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Saluran
Setiap entri dapat 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 menjadi satu (1), dan seterusnya.
Jika tidak ada simbol @ yang digunakan, perintah dikirim atau diterima di semua saluran.
Awalan
Setiap entri dalam daftar berisi awalan. Awalan ini menentukan jenis perintah MIDI yang akan dikirim. Ini termasuk:
- PC atau Tidak Ada Awalan adalah acara perubahan program.
- N adalah acara catatan
- CC adalah acara perubahan kontrol.
- SS adalah acara pemilihan lagu.
- START adalah perintah mulai.
- STOP adalah perintah berhenti.
- CONTINUE adalah perintah lanjutkan.
- F0 mengawali pesan SysEx.
- WAIT mengimplementasikan penundaan.
Nilai
Nilai perintah muncul tepat sebelum simbol @ atau di akhir entri jika tidak ada @. Ini adalah nilai dari perubahan program, perubahan kontrol, catatan, atau pemilihan lagu berdasarkan awalan. Dalam hal entri SysEx, nilai heksadesimal dari 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 di bagian nilai. Subnilai memiliki konteks berbeda tergantung pada jenis perintah MIDI yang dikirim:
- Perubahan Program memiliki subnilai yang sejalan dengan MSB/LSB dari 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.
- Acara Catatan memiliki subnilai yang berkaitan dengan kecepatan di mana catatan harus diputar. Ini dapat diatur ke nilai numerik antara 0 dan 127.
Contoh
Mari kita mulai dengan perubahan program sederhana. Dalam skenario ini kami menggunakan perubahan program 8 yang juga mengirim MSB 4 dan LSB 2 pada saluran 1. Contoh dimulai dengan variasi paling kompleks dari ini dan menghilangkan pemilihan bank dan saluran 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 pada saluran 3.
CC105:63@2, CC105:63. CC105@2, CC105
Sekarang mari kita lihat acara catatan. Kami ingin memainkan C4 pada saluran 8 dengan kecepatan 75%, kami akan memasukkan berikut ini karena OnSong mulai menghitung MIDI C0 sebagai 0 pada skala catatan MIDI:
N60:95@7, N60@7, N60:95, N60
Sekali lagi, penting untuk diingat bahwa saat nilai dihilangkan dari sintaks MIDI, pernyataan MIDI menjadi lebih luas dan kurang spesifik. Misalnya, versi terakhir dari acara catatan akan mengirim C4 pada kecepatan 100% di semua saluran.
Untuk mengimplementasikan penundaan antara acara MIDI lainnya, gunakan perintah WAIT dengan angka. Angka dapat berupa nilai integer. Anda dapat menentukan detik untuk menunggu sebagai 1-10, atau tentukan sebagai milidetik. Berikut ini menunjukkan cara menunggu selama 2 detik, 10 detik, dan setengah detik.
WAIT2, WAIT10, WAIT500