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 Berbatas

Pertama dan terutama, 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 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 apa yang akan dikirim. Ini termasuk:

  • PC atau Tanpa Awalan adalah peristiwa perubahan program.
  • N adalah peristiwa catatan
  • CC adalah peristiwa perubahan kontrol.
  • SS adalah peristiwa pemilihan lagu.
  • START adalah perintah awal.
  • STOP adalah perintah berhenti.
  • CONTINUE adalah perintah lanjutkan.
  • WAIT menunggu waktu tertentu sebelum mengirim lebih banyak peristiwa.
  • F0 mengawali pesan SysEx.
  • @ mengawali 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 hal entri SysEx, nilai heksadesimal SysEx diberikan langsung setelah awalan F0 yang digunakan sebagai header untuk semua perintah SysEx.

Subnilai

Dalam beberapa kasus, informasi tambahan disampaikan dalam perintah MIDI sebagai subnilai. Sebagai contoh, 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 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 diatur 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. Sebagai contoh, 127-0 akan mengunci nilai 127 antara status hidup dan mati.
  • Peristiwa Catatan memiliki subnilai yang berkaitan dengan kecepatan di mana catatan harus diputar. 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 yang 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 menghapus 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 peristiwa catatan. Kami ingin memainkan C4 di saluran 8 dengan kecepatan 75%, kami akan memasukkan berikut 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 ketika nilai dihapus dari sintaks MIDI, pernyataan MIDI menjadi lebih luas dan kurang spesifik. Sebagai contoh, versi terakhir dari peristiwa catatan akan mengirim C4 pada 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 mereferensikan global MIDI yang merupakan daftar peristiwa MIDI yang telah dikonfigurasi sebelumnya yang dapat direferensikan. Jika Anda memiliki global MIDI dengan "on" sebagai tag (tanpa kutipan), maka Anda dapat mereferensikan global itu dengan berikut:

@on
OnSong 1.999 — Terakhir Diperbarui pada August 29, 2019