Seri(ál)ová MIDI komunikace XXIII - Práce se SysEx daty v XG - konkrétní nastavení parametrů

Seri(ál)ová MIDI komunikace XXIII - Práce se SysEx daty v XG - konkrétní nastavení parametrů
Seri(ál)ová MIDI komunikace XXIII - Práce se SysEx daty v XG - konkrétní nastavení parametrů

V minulém dílu seriálu jsme nahlédli do úvodu práce se zvláštními systémovými daty (SysEx) v XG režimu. SysEx popisuji právě v XG režimu z toho důvodu, že nabízí nejvíce možností, a lze tedy dobře ukázat variabilitu a sílu SysEx událostí.

Dozvěděli jsme se, proč všechny SysEx události vypadají následovně: $F0 $43 $1n $4C ... data ... $F7. Dnes se podíváme právě na ta data uvnitř, pomocí kterých lze nastavovat například parametry třech efektových jednotek v XG nástrojích.

 

Podívejme se do manuálu Yamaha DB50XG (k nalezení na DVD) na stranu 27 dolů. Tabulka 1-3 popisuje změnu hodnoty všech parametrů všech efektů v efektové jednotce 1. Aby nebylo nutné rozepisovat stále stejné události, je tabulka zkrácená. Hned v prvním řádku vidíme ve sloupci Parameter popis Reverb Type MSB/LSB (typ dozvuku). V sloupci Description nás odkazují na stránku 38. Na stránce 38 se v první tabulce dočteme, že MSB $00, LSB $00 je No Effect (tedy žádný efekt), zatímco MSB $01, LSB $00 je Hall 1 a nebo MSB $02, LSB $02 je Room 3 - tedy různé typy dozvuků. Vraťme se zpět na stránku 27 (ano, při nastavování SysEx dat si manuálem opravdu zalistujeme hodně) a podívejme se znovu, jak příkaz vypadá:

$F0 $43 $1n $4C (budeme vysílat SysEx událost pro Yamaha XG nástroj) $02 $01 (budeme pracovat s efektovou jednotkou 1) $00 (budeme nastavovat typ dozvuku). Nyní už následují konkrétní hodnoty, tedy například $01 $00 pro Hall 1 (vizte strana 38 v manuálu). A samozřejmě nesmí chybět tečka za větou, tedy závěrečný stavový byte $F7. Celá zpráva nastavující do 1. efektové jednotky typ efektu Hall 1 tedy vypadá takto:

$F0 $43 $10 $4C $02 $01 $00 $01 $00 $F7

Pokud budeme chtít nastavit jiný typ efektu (například Room 3), bude zpráva vypadat takto:

$F0 $43 $10 $4C $02 $01 $00 $02 $02 $F7

 

Všechno ostatní už je analogicky stejné, proto doporučuji tuto část seriálu projít případně několikrát, zažít si ji a opravdu ji pochopit.

 

Máme tedy zvolen typ efektu (vezměme třeba Hall 1). Nyní ale budeme chtít změnit některý parametr tohoto dozvuku, protože se nám nelíbí. Podíváme se opět do tabulky 1-3 na straně 27 a zjistíme, že Reverb nabízí 10 parametrů. Pro změnu prvního je zvolena adresa $02 $01 $02 (v tabulce zkrácenou pouze na „02“ v řádku, kde je ve sloupci Parameter napsáno Reverb Parameter 1). Popis příkazu (Description) nás odkazuje na stranu 39 manuálu.

 

Na této straně najdeme hned vlevo nahoře tabulku s nadpisem Hall 1,2, Room, 1,2,3... To je ta tabulka, kterou hledáme, protože pracujeme s efektem Hall 1. Jak vidíme, tabulka sice obsahuje 16 řádků, obsazených je ale jen 10 řádků - to je oněch 10 parametrů efektu typu Reverb. Budeme chtít změnit například dobu dozvuku (Reverb Time). Ten nese číslo 1 (No.1; pozor, čísla jsou uvedena v desítkové soustavě, takže v případě volby Feedback Level je potřeba počítat s šestnáctkovým tvarem, tedy $0E). Ve sloupci Range (rozsah) vidíme, že lze nastavit dobu dozvuku v rozmezí od 0,3 ms až po 30 ms. Zvolme například, že budeme chtít nastavit 4,7 ms. V dalším sloupci (Value) vidíme, že hodnotu lze nastavovat v rozsahu 00 až 69 (pozor, jedná se o hodnoty v desítkové soustavě!!!). Další sloupec nás posílá na tabulku #4, kde najdeme přesnou hodnotu pro nastavení přesného času. Tabulku 4 najdeme na straně 42 vpravo nahoře. Jak jsme se dříve rozhodli, budeme chtít nastavit dobu dozvuku na 4,7 ms. V tabulce ve sloupci Value (hodnota) tedy najdeme 4,7 a zjistíme, že ve sloupci Data je napsáno číslo 44. Pohledem do tabulky pro převod jednotek se dozvíme, že 44 desítkově se v šestnáctkové soustavě zapíše jako $2C. A nyní už víme všechny informace pro to, abychom mohli zapsat příslušnou SysEx událost. Pro změnu délky času dozvuku v dozvukové efektové jednotce 1. Zpráva bude vypadat následovně: $F0 $43 $1n $4C (budeme vysílat SysEx událost pro Yamaha XG nástroj) $02 $01 (budeme pracovat s efektovou jednotkou 1) $02 (budeme nastavovat parametr 1 dozvuku). Následují Data, tedy konkrétní informace, které jsme našli v tabulkách, tedy $01 (měníme parametr dobu dozvuku, tedy No.1 z tabulky na straně 39 manuálu) a nastavíme konkrétní hodnotu $2C (tedy 4,7 ms, jak jsme se dozvěděli na straně 42 manuálu). A samozřejmě nesmíme zapomenout na tečku ve větě, tedy $F7. Kompletní zpráva tedy vypadá následovně: $F0 $43 $1n $4C $02 $01 $02 $01 $2C $F7.

Hotovo!

 

Této události samozřejmě musí předcházet událost zapnutí typu dozvuku Hall 1, kterou jsme nastavili výše. Jinak by stejná událost nastavovala dobu dozvuku jiného typu reverbu.

 

NEZAPOMEŇTE:

Listování manuálem je nutné pro nalezení potřebných dat ke konkrétním SysEx událostem.

Psáno pro časopis Muzikus