ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Manual de utilizare

Sintaxa MIDI

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

Valori delimitate

În primul rând, mai multe comenzi MIDI pot fi separate prin diverse caractere, inclusiv: un caracter de tabulare, virgulă, punct și virgulă, bară verticală sau linie nouă. Virgula este cel mai frecvent delimiter. 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 se folosește 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 de program.
  • N este un eveniment de notă
  • CC este un eveniment de schimbare de control.
  • SS este un eveniment de selectare a cântecului.
  • START este o comandă de start.
  • STOP este o comandă de stop.
  • CONTINUE este o comandă de continuare.
  • WAIT așteaptă o anumită perioadă de timp înainte de a trimite mai multe evenimente.
  • F0 prefixează un mesaj SysEx.
  • @ prefixează o etichetă globală MIDI.

Valori

Valoarea comenzii apare chiar înainte de simbolul @ sau la sfârșitul intrării dacă nu este dat @. Aceasta este valoarea schimbării de program, schimbării de control, notei sau selectării de cântec pe baza prefixului. În cazul intrărilor SysEx, valoarea hexazecimală a SysEx este furnizată direct după prefixul F0, care este folosit 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 de control pot fi trimise în acest mod. Aceasta se exprimă prin adăugarea unui două puncte în porțiunea valorii. Subvaloarea are un context diferit în funcție de tipul de comandă MIDI trimisă:

  • Schimbarea de program are subvalori aliniate cu MSB/LSB ale schimbării de program. Aceste valori sunt separate de un punct cu MSB pe stânga și LSB pe dreapta.
  • Schimbarea de control are valoarea controlului setat folosind aceasta. Numărul poate fi între 0 și 127. Dacă este omis, se inferă valoarea 127. Puteți separa și mai multe valori cu o cratimă pentru a parcurge valorile. De exemplu, 127-0 va bloca valoarea 127 între stările pornit și oprit.
  • Evenimentul de notă are o subvaloare referitoare la viteza la care trebuie cântată nota. Aceasta poate fi setată la o valoare numerică între 0 și 127. Puteți parcurge mai multe viteze de notă separând-le cu o cratimă.

Exemple

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

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

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

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

Acum să aruncăm o privire la evenimente de notă. Dorim să cântăm C4 pe canalul 8 la 75% viteză, am introduce următoarele deoarece OnSong începe numărarea MIDI C0 ca 0 pe scara de notă MIDI:

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

Din nou, este important să rețineț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, ultima versiune a evenimentului de notă va trimite C4 la 100% viteză pe toate canalele.

Putem de asemenea întârzia MIDI prin adăugarea unei comenzi WAIT. Următoarele vor întârzia MIDI pentru 2 secunde, precum și 500 ms (jumătate de secundă). Puteți specifica secundele ca 1-10 secunde sau în milisecunde.

WAIT2, WAIT500

În sfârșit, putem referenția globale MIDI care sunt liste preconfigurare de evenimente MIDI care pot fi referențiate. Dacă aveți un global MIDI cu „on" ca etichetă (fără ghilimele), atunci puteți referenția acel global cu următoarele:

@on
OnSong 1.999 — Ultima actualizare pe August 29, 2019