ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Kullanıcı Kılavuzu

MIDI Söz Diziml

OnSong, MIDI komutlarını ifade etmek için metin tabanlı bir sözdizimi kullanır. MIDI Etkinlikleri Meta Veri Düzenleyicisi'nde kullanabilirsiniz, ancak MIDI komutlarını metinde de ifade edebilirsiniz.

Sınırlandırılmış Değerler

Her şeyden önce, birden fazla MIDI komutu çeşitli 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 girdi bir @ sembolü içerebilir. Sembolden sonraki sayısal değer, komutun gönderileceği kanaldır. MIDI'de kanallar sıfırdan başladığından, birinci kanal sıfır (0), ikinci kanal bir (1) vb. olacaktır.

Hiçbir @ sembolü kullanılmazsa, komut tüm kanallara gönderilir veya alınır.

Ön Ekler

Listedeki her girdi bir ön ek içerir. Bu ön ek, gönderilecek MIDI komutu türünü belirler. Bunlara şunlar dahildir:

  • PC veya Ön Ek Yok bir program değiştirme olayıdır.
  • N bir nota olayıdır
  • CC bir kontrol değiştirme olayıdır.
  • NRPN kaydedilmemiş bir parametre numarasıdır.
  • SS bir şarkı seçme olayıdır.
  • START bir başlama komutudur.
  • STOP bir durdurma komutudur.
  • CONTINUE bir devam komutudur.
  • WAIT daha fazla olay göndermeden önce belirli bir süre bekler.
  • F0 bir SysEx mesajının ön ekidir.
  • @ bir MIDI genel etiketinin ön ekidir.

Değerler

Komutun değeri @ sembolünün hemen öncesinde veya hiçbir @ verilmezse girdinin sonunda görünür. Bu, ön eke dayalı olarak program değiştirme, kontrol değiştirme, nota veya şarkı seçme değeridir. SysEx girişleri durumunda, SysEx'in onaltılık değeri F0 ön ekinden hemen sonra sağlanır; bu, tüm SysEx komutlarına başlık olarak kullanılır.

Alt Değerler

Bazı durumlarda, ek bilgiler MIDI komutu içinde alt değerler olarak iletilir. Örneğin, MSB ve LSB, ayrıca kontrol değerlerinin hızı bu şekilde gönderilebilir. Bu, değer bölümüne bir iki nokta üst üste eklenmesi yoluyla ifade edilir. Alt değer, gönderilen MIDI komutu türüne bağlı olarak farklı bağlama sahiptir:

  • Program Değiştirme, program değiştirme işleminin MSB/LSB'si ile hizalanan alt değerlere sahiptir. Bu değerler bir nokta ile ayrılır; MSB solda ve LSB sağdadır.
  • Kontrol Değiştirme, bu kullanılarak ayarlanan kontrol değerine sahiptir. Sayı 0 ile 127 arasında olabilir. Atlanırsa, 127 değeri çıkarılır. Değerler arasında adım atmak için birden fazla değeri bir tire ile ayırlayabilirsiniz. Örneğin, 127-0 127 değerini açık ve kapalı durumlar arasında tutacaktır.
  • Nota Olayı, notanın çalınması gereken hız ile ilgili bir alt değere sahiptir. Bu, 0 ile 127 arasında sayısal bir değere ayarlanabilir. Birden fazla nota hızı arasında adım atmak için bunları bir tire ile ayırlayabilirsiniz.

Örnekler

Basit bir program değiştirmesi ile başlayalım. Bu senaryoda, kanal 1'de MSB 4 ve LSB 2 de gönderen program değiştirme 8'i kullanırız. Örnek, bu değişikliğin en karmaşık varyasyonundan 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ştirmeler benzerdir, ancak sözdiziminin sol tarafı kontrol değiştirme 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ştirme 106'yı 64 değeri ile göndereceğiz.

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

Şimdi nota olaylarına bakalım. C4'ü kanal 8'de %75 hızda çalmak istiyorsak, OnSong MIDI C0'ı MIDI nota ölçeğinde 0 olarak saymaya başladığından aşağıdakileri gireceğiz:

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

Yine, MIDI sözdiziminden değerler kaldırıldığı için MIDI ifadesinin daha geniş ve daha az spesifik hale geldiğini unutmamak önemlidir. Örneğin, nota olayının son sürümü C4'ü tüm kanallarda %100 hızda gönderecektir.

Ayrıca bir WAIT komutu ekleyerek MIDI'yi geciktirebiliriz. Aşağıdaki, MIDI'yi 2 saniye kadar geciktireceği gibi 500 ms (yarım saniye) de geciktirecektir. Saniyeyi 1-10 saniye veya milisaniye olarak belirtebilirsiniz.

WAIT2, WAIT500

Son olarak, önceden yapılandırılmış MIDI etkinlikleri listesi olan MIDI globallerine başvurabiliriz. "on" etiketi olan bir MIDI globaliniz varsa (tırnaksız), o global'a aşağıdakilerle başvurabilirsiniz:

@on
OnSong 2023 — Son Güncelleme March 11, 2020