Uživatelská příručka

Syntaxe MIDI

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

Oddělené hodnoty

V prvé řadě lze více příkazů MIDI oddělit různými znaky, včetně: znaku tabulátoru, čárky, středníku, svislé čáry nebo nového řádku. Čárka je nejčastěji používaný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 tímto 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 jedna by byl nula (0), kanál dva jedničkou (1) atd.

Pokud se symbol @ nepoužívá, 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 typ příkazu MIDI, který se má odeslat. Patří sem:

  • PC nebo Bez předpony je událost změny programu.
  • N je událost poznámky
  • CC je událost změny ovládacího prvku.
  • NRPN je číslo neregistrovaného parametru.
  • 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í.
  • WAIT počká určitou dobu před odesláním dalších событostí.
  • F0 předchází zprávu SysEx.
  • @ předchází globální značce MIDI.

Hodnoty

Hodnota příkazu se zobrazuje těsně před symbolem @ nebo na konci položky, pokud není @ uvedena. Toto je hodnota změny programu, ovládacího prvku, poznámky 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á slouží jako záhlaví pro všechny příkazy SysEx.

Podhodnoты

V některých případech jsou v příkazu MIDI přenášeny další informace jako podhodnoты. Například MSB a LSB, stejně jako rychlost hodnot ovládacího prvku lze tímto způsobem odeslat. Vyjadřuje se to přidáním dvojtečky do části s hodnotou. Podhodnota má různý obsah v závislosti na typu odeslaného příkazu MIDI:

  • Změna programu má podhodnoты shodující se s MSB/LSB změny programu. Tyto hodnoty jsou odděleny tečkou s MSB na levé straně a LSB na pravé straně.
  • Změna ovládacího prvku má hodnotu ovládacího prvku nastavenou tímto způsobem. Číslo může být mezi 0 a 127. Pokud je vynecháno, je odvozena hodnota 127. Můžete také oddělit více hodnot pomlčkou pro přechod mezi hodnotami. Například 127-0 bude blokovat hodnotu 127 mezi stavy zapnuto a vypnuto.
  • Událost poznámky má podhodnotu vztahující se na rychlost, kterou má být poznámka přehrána. Lze ji nastavit na číselnou hodnotu mezi 0 a 127. Můžete procházet více rychlostmi poznámek jejich oddělením pomlčkou.

Příklady

Začněme 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 ovládacího prvku jsou podobné, s tím rozdílem, že levá strana syntaxe je číslo změny ovládacího prvku a pravá strana je volitelná hodnota. Pokud se hodnota neposkytne, místo toho se odešle 127. Pošleme změnu ovládacího prvku 106 s hodnotou 64 na kanálu 3.

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

Nyní se podívejme na události poznámek. 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

Opět je důležité pamatovat si, že jak se hodnoty odstraňují z syntaxe MIDI, příkaz MIDI se stává více obecným a méně specifickým. Například poslední verze události poznámky bude přehrávat C4 se 100% rychlostí na všech kanálech.

Můžeme také zpozdit MIDI přidáním příkazu WAIT. Následující bude zpozdit MIDI o 2 sekundy a také 500 ms (půl sekundy). Můžete zadat sekundy jako 1–10 sekund nebo v milisekundách.

WAIT2, WAIT500

Nakonec můžeme odkazovat na globální hodnoty MIDI, což jsou přednastavené seznamy událostí MIDI, které lze odkazovat. Pokud máte globální MIDI se značkou "on" (bez uvozovek), můžete na tuto globální hodnotu odkazovat takto:

@on
OnSong 2026 — Poslední aktualizace: March 11, 2020