ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Uživatelská příručka

Syntaxe MIDI

OnSong používá textovou syntaxi pro vyjádření MIDI příkazů. Zatímco můžete použít MIDI Události v Editoru Metadat, můžete také vyjádřit MIDI příkazy v textu.

Oddělené Hodnoty

Především lze více MIDI příkazů oddělit různými znaky, včetně: tabelátoru, čárky, středníku, svislé čáry nebo nového řádku. Čárka je nejčastějším oddělovačem. Například:

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

Kanál

Každá položka může obsahovat symbol @. Číselná hodnota za symbolem je kanál, na kterém má být příkaz odeslán. Protože kanály v MIDI začínají na nule, kanál první by byl nula (0), kanál druhý by byl jeden (1), atd.

Pokud se nepoužívá symbol @, příkaz se odesílá nebo přijímá na všech kanálech.

Předpony

Každá položka v seznamu obsahuje předponu. Tato předpona určuje, jaký typ MIDI příkazu se má odeslat. Patří sem:

  • PC nebo Bez Předpony je událost změny programu.
  • N je událost noty
  • CC je událost změny řízení.
  • SS je událost výběru skladby.
  • START je příkaz spuštění.
  • STOP je příkaz zastavení.
  • CONTINUE je příkaz pokračování.
  • F0 předchází zprávu SysEx.
  • WAIT implementuje zpoždění.

Hodnoty

Hodnota příkazu se zobrazuje těsně před symbolem @ nebo na konci položky, pokud není @ zadáno. Toto je hodnota změny programu, změny řízení, noty nebo výběru skladby na základě předpony. V případě položek SysEx je hexadecimální hodnota SysEx poskytnuta přímo za předponou F0, která se používá jako hlavička pro všechny příkazy SysEx.

Podhodnoty

V některých případech jsou v MIDI příkazu sděleny další informace jako podhodoty. Například MSB a LSB, stejně jako rychlost řídících hodnot, lze odeslat tímto způsobem. Vyjadřuje se to přidáním dvojtečky do části hodnoty. Podhodnota má různý kontext v závislosti na typu odeslaného MIDI příkazu:

  • Změna Programu má podhodoty zarovnané s MSB/LSB změny programu. Tyto hodnoty jsou odděleny tečkou s MSB vlevo a LSB vpravo.
  • Změna Řízení má hodnotu řízení nastavenou pomocí tohoto. Číslo může být mezi 0 a 127. Pokud je vynecháno, předpokládá se hodnota 127.
  • Událost Noty má podhodotu související s rychlostí, kterou by měla nota být přehrávána. Lze ji nastavit na číselnou hodnotu mezi 0 a 127.

Příklady

Začneme jednoduchou změnou programu. V tomto scénáři používáme změnu programu 8, která také odesílá MSB 4 a LSB 2 na kanál 1. Příklad začíná nejsložitější variantou a odstraňuje výběr banky a kanál, aby se stal širší:

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

Změny řízení jsou podobné, kromě toho, že levá strana syntaxe je číslo změny řízení a pravá strana je volitelná hodnota. Pokud není hodnota poskytnuta, je místo toho odeslána 127. Pošleme Změnu Řízení 106 s hodnotou 64 na kanál 3.

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

Nyní se podívejme na události not. Chceme přehrát C4 na kanálu 8 s rychlostí 75%, zadali bychom následující, protože OnSong začíná počítat MIDI C0 jako 0 na stupnici MIDI not:

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

Znovu je důležité si pamatovat, že když se hodnoty z MIDI syntaxe odstraňují, příkaz MIDI se stává šířeji a méně specifickým. Například poslední verze události noty pošle C4 se 100% rychlostí na všech kanálech.

Chcete-li implementovat zpoždění mezi ostatními MIDI událostmi, použijte příkaz WAIT s číslem. Číslo může být celočíselná hodnota. Můžete definovat sekundy čekání jako 1-10, nebo definovat jako milisekundy. Následující ukazuje, jak čekat 2 sekundy, 10 sekund a půl sekundy.

WAIT2, WAIT10, WAIT500
OnSong 2023 — Poslední aktualizace: January 17, 2018