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 exprima și comenzile MIDI în text.

Valori delimitate

În primul rând, comenzile MIDI multiple pot fi separate prin diferite caractere, inclusiv: o tabă, 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 urmează a fi trimisă comanda. Deoarece canalele din 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ă se trimită. 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.
  • NRPN este un număr de parametru neînregistrat.
  • SS este un eveniment de selectare cântec.
  • 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 precede un mesaj SysEx.
  • @ precede 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 program, schimbării control, notei sau selectării cântec pe baza prefixului. Î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 două puncte î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 ale schimbării program. Aceste valori sunt separate printr-un punct, cu MSB pe stânga și LSB pe dreapta.
  • Schimbare control are valoarea controlului stabilit utilizând aceasta. Numărul poate fi între 0 și 127. Dacă este omis, valoarea 127 este implicită. De asemenea, puteți separa mai multe valori cu o liniuță pentru a parcurge valorile. De exemplu, 127-0 va scoate valoarea 127 între stări pornit și oprit.
  • Eveniment de notă are o subvaloare privind viteza cu care trebuie interpretată nota. Aceasta poate fi setată la o valoare numerică între 0 și 127. Puteți parcurge viteze multiple de notă prin separarea lor cu o liniuță.

Exemple

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

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

Schimbările control sunt similare, cu excepția faptului 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 Schimbarea Control 106 cu o valoare de 64 pe canalul 3.

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

Acum să ne uităm la evenimente de notă. Vrem să cântăm C4 pe canalul 8 la 75% viteza, am introduce următoarele deoarece OnSong începe să numere MIDI C0 ca 0 pe scala notei 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 notă va trimite C4 la 100% viteza pe toate canalele.

De asemenea, putem î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 final, putem face referință la 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 face referință la acel global cu următoarele:

@on
OnSong 2023 — Ultima actualizare pe March 11, 2020