ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Manual de utilizare

Sintaxă MIDI

OnSong folosește o sintaxă bazată pe text pentru exprimarea comenzilor MIDI. Deși puteți utiliza Evenimente MIDI în Editorul de metadate, puteți de asemenea exprima comenzile MIDI în text.

Valori delimitate

În primul rând, mai multe comenzi MIDI pot fi separate prin diverse caractere, inclusiv: un caracter tab, virgulă, punct și virgulă, linie verticală sau linie nouă. Virgula este cel mai frecvent delimitator. De exemplu:

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

Canal

Fiecare intrare poate conține un simbol @. Valoarea numerică după simbol este canalul pe care trebuie trimisă comanda. Deoarece canalele în MIDI încep de la zero, canalul unu ar fi zero (0), canalul doi unu (1), etc.

Dacă nu este utilizat simbolul @, comanda este trimisă sau primită pe toate canalele.

Prefixe

Fiecare intrare din listă conține un prefix. Acest prefix determină ce tip de comandă MIDI să trimiteți. Acestea includ:

  • PC sau Fără prefix este un eveniment de schimbare program.
  • N este un eveniment de notă
  • CC este un eveniment de schimbare control.
  • SS este un eveniment de selecție cântec.
  • START este o comandă de start.
  • STOP este o comandă de stop.
  • CONTINUE este o comandă de continuare.
  • F0 prefixează un mesaj SysEx.
  • WAIT implementează o întârziere.

Valori

Valoarea comenzii apare chiar înainte de simbolul @ sau la sfârșitul intrării dacă nu este dat @. Aceasta este valoarea schimbării program, schimbării control, notei sau selecției cântec în funcție de prefix. În cazul intrărilor SysEx, valoarea hexazecimală a SysEx este furnizată direct după prefixul F0 care este utilizat ca antet pentru toate comenzile SysEx.

Subvalori

În unele cazuri, informații suplimentare sunt transmise în comanda MIDI ca subvalori. De exemplu, MSB și LSB, precum și viteza valorilor control pot fi trimise în acest mod. Aceasta se exprimă prin adăugarea unui colon în porțiunea de valoare. Subvaloarea are context diferit în funcție de tipul comenzii MIDI trimise:

  • Schimbare program are subvalori aliniate cu MSB/LSB-ul schimbării program. Aceste valori sunt separate printr-un punct cu MSB pe stânga și LSB pe dreapta.
  • Schimbare control are valoarea controlului setat folosind aceasta. Numărul poate fi între 0 și 127. Dacă este omis, se deduce valoarea 127.
  • Eveniment de notă are o subvaloare legată de viteza la care ar trebui să se redea nota. Aceasta poate fi setată la o valoare numerică între 0 și 127.

Exemple

Să începem cu o schimbare program simplă. În acest scenariu folosim schimbarea program 8 care trimite de asemenea un MSB de 4 și un LSB de 2 pe canalul 1. Exemplul începe cu variația cea mai complexă și elimină selecția bancă și canal pentru a deveni mai larg:

PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7

Schimbările control sunt similare cu excepția că partea stângă a sintaxei este numărul schimbării control și partea dreaptă este o valoare opțională. Dacă valoarea nu este furnizată, se trimite 127 în schimb. Vom trimite Schimbare control 106 cu o valoare de 64 pe canalul 3.

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

Acum să analizez evenimentele de notă. Vrem să redăm C4 pe canalul 8 la 75% viteză, am introduce următoarele deoarece OnSong începe numărarea MIDI C0 ca 0 pe scara notelor MIDI:

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

Din nou, este important să vă amintiți că pe măsură ce valorile sunt eliminate din sintaxa MIDI, declarația MIDI devine mai larg și mai puțin specifică. De exemplu, versiunea finală a evenimentului de notă va trimite C4 la 100% viteză pe toate canalele.

Pentru a implementa o întârziere între alte evenimente MIDI, utilizați comanda WAIT cu un număr. Numărul poate fi o valoare întreagă. Puteți defini secunde de așteptare de la 1-10, sau definiți ca milisecunde. Următoarele arată cum se așteptă 2 secunde, 10 secunde și jumătate de secundă.

WAIT2, WAIT10, WAIT500
OnSong 2026 — Ultima actualizare pe January 17, 2018