ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Kullanıcı Kılavuzu
MIDI Sözdizimi
OnSong, MIDI komutlarını ifade etmek için metin tabanlı bir sözdizimi kullanır. MIDI Etkinlikleri öğesini Meta Veri Düzenleyici içinde kullanabilirsiniz, ancak MIDI komutlarını metinde de ifade edebilirsiniz.
Sınırlandırılmış Değerler
Öncelikle, birden fazla MIDI komutu şu karakterlerle ayrılabilir: sekme karakteri, virgül, noktalı virgül, dikey çizgi veya yeni satır. Virgül en yaygın sınırlandırıcıdır. Örneğin:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kanal
Her giriş bir @ sembolü içerebilir. Sembolün sonrasındaki sayısal değer, komutun gönderileceği kanaldır. MIDI'de kanallar sıfırdan başladığından, kanal bir sıfır (0), kanal iki bir (1) vb. olacaktır.
Hiçbir @ sembolü kullanılmazsa, komut tüm kanallarda gönderilir veya alınır.
Önekler
Listedeki her giriş bir önek içerir. Bu önek, gönderilecek MIDI komutunun türünü belirler. Bunlar şunları içerir:
- PC veya Önek Yok bir program değişikliği etkinliğidir.
- N bir nota etkinliğidir
- CC bir kontrol değişikliği etkinliğidir.
- SS bir şarkı seçim etkinliğidir.
- START bir başlama komutudur.
- STOP bir durdurma komutudur.
- CONTINUE bir devam komutudur.
- F0 bir SysEx mesajının başına gelir.
- WAIT bir gecikme uygular.
Değerler
Komutun değeri @ sembolünün hemen öncesinde veya hiç @ verilmezse girdinin sonunda görünür. Bu, öneğe göre program değişikliğinin, kontrol değişikliğinin, notanın veya şarkı seçiminin değeridir. SysEx girdileri söz konusu olduğunda, SysEx'in onaltılık değeri F0 önekinin hemen sonrasında sağlanır ve bu da tüm SysEx komutlarının başlığı olarak kullanılır.
Alt Değerler
Bazı durumlarda, ek bilgiler MIDI komutunda alt değerler olarak iletilir. Örneğin, MSB ve LSB ile kontrol değerlerinin hızı bu şekilde gönderilebilir. Bu, değer bölümüne iki nokta eklenmesiyle ifade edilir. Alt değer, gönderilen MIDI komutunun türüne bağlı olarak farklı bağlama sahiptir:
- Program Değişikliği program değişikliğinin MSB/LSB'si ile hizalanmış alt değerlere sahiptir. Bu değerler MSB solda ve LSB sağda olmak üzere bir nokta ile ayrılır.
- Kontrol Değişikliği bunun kullanılarak ayarlanan kontrol değerine sahiptir. Sayı 0 ile 127 arasında olabilir. Atlanırsa, 127 değeri çıkarılır.
- Nota Etkinliği notanın çalınması gereken hızla ilgili bir alt değere sahiptir. Bu, 0 ile 127 arasında sayısal bir değere ayarlanabilir.
Örnekler
Basit bir program değişikliğiyle başlayalım. Bu senaryoda, kanal 1'de 4'lük bir MSB ve 2'lik bir LSB de gönderen program değişikliği 8'i kullanıyoruz. Örnek, bunun en karmaşık varyasyonuyla başlar ve banka seçimini ve kanalı kaldırarak daha geniş hale gelir:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Kontrol değişiklikleri benzerdir, ancak sözdiziminin sol tarafı kontrol değişikliği numarası ve sağ tarafı isteğe bağlı bir değerdir. Değer sağlanmazsa, bunun yerine 127 gönderilir. Kanal 3'te kontrol değişikliği 106'yı 64 değeriyle göndereceğiz.
CC105:63@2, CC105:63. CC105@2, CC105
Şimdi nota etkinliklerine bakalım. OnSong, MIDI C0'ı MIDI nota ölçeğinde 0 olarak saymaya başladığından, C4'ü kanal 8'de %75 hızda çalmak istiyorsak, aşağıdakileri gireriz:
N60:95@7, N60@7, N60:95, N60
Yine, MIDI sözdiziminden değerler kaldırıldıkça MIDI ifadesinin daha geniş ve daha az spesifik hale geldiğini hatırlamak önemlidir. Örneğin, nota etkinliğinin son sürümü C4'ü tüm kanallarda %100 hızda gönderecektir.
Diğer MIDI etkinlikleri arasında bir gecikme uygulamak için WAIT komutunu bir sayıyla kullanın. Sayı bir tamsayı değeri olabilir. Beklenecek saniye sayısını 1-10 olarak tanımlayabilir veya milisaniye olarak tanımlayabilirsiniz. Aşağıdakiler 2 saniye, 10 saniye ve yarım saniye beklemeyi gösterir.
WAIT2, WAIT10, WAIT500