Záhadné MIDI

Syntetizéry: mýtus, nebo hračka? Všemocné MIDI.

Ve dvou dílech se pokusím vnést trošku světla do magického světa MIDI, který skýtá obrovské možnosti nejen pro hudebníky, zvukaře, studiové pracovníky nebo světelné designéry. MIDI lze využít i ve zdánlivě vzdálenějších oblastech.

MIDI (Musical Instruments Digital Interface) je digitální komunikace mezi hudebními nástroji nebo zařízeními. Nejedná se o přenos zvuku ale o zasílání a přijímání povelů, které souvisejí s hudebníkovou hrou nebo s parametry hudebního nástroje.

Historie bez hysterie

O komunikaci mezi nástroji jde hovořit až s průnikem elektroniky do jejich útrob. První komunikační protokol stanovil R. Moog v 60. létech minulého století, kdy se veškeré obvody v syntetizérech řídily napěťově. Tak šlo propojit několik klávesových nástrojů a kromě hudebníkovy hry ovládat i parametry některých obvodů.
Skutečnou revoluci způsobil až nástup digitálních technologií. Začátkem 80. let byl stanoven obecný komunikační protokol přenášený mezi přístroji po DIN kabelech (pětikolíkový konektor). Ten s malými obměnami funguje do dnešní doby. Nástup nových technologií přenesl MIDI komunikaci i na usb, firewire nebo bluetooth protokoly.

Pokud na klávesovém nástroji uvidíte na zadním panelu pětikolíkové DIN konektory nebo USB(b), můžete si být jisti, že přístroj má midi a můžete je úspěšně používat pro komunikaci s jinými nástroji, přístroji nebo s počítačem.

Princip a propojení

Princip MIDI komunikace
Z technického hlediska se jedná o sériový přenos dat. Přístroje posílají pouze změny hodnot konkrétních parametrů. Pokud je např. stisknuta klávesa, vyšle se po midi zpráva Key On; během držení klávesy se žádné další zprávy neposílají. Až při uvolnění klávesy je vyslána zpráva Key Off. Nástroje vždy zachovávají poslední stav přijatých událostí až do obdržení informace nové.
K nezávislé komunikaci více nástrojů po jednom MIDI portu (kabelu) slouží 16 kanálů. Každý údaj je opatřen návěštím konkrétního MIDI kanálu, za nímž následují vlastní hodnoty přenášených dat. Celým řetězcem syntetizérů probíhají všechny povely. Na data označená návěštím určitého kanálu ale reagují pouze ty přístroje, které jsou na tento kanál nastaveny.

Zapojení si lze představit jako rozvod kabelové televize v paneláku. Po jednom kabelu běží data všech tv kanálů. Nastavením televize na určitý kanál bude tato zobrazovat jen některá data. Televize souseda může reagovat na jiná data. Pokud bude několik přístrojů nastaveno na stejný kanál, budou reagovat na stejné povely.


Propojení
Většina nástrojů má na zadním panelu klasické MIDI trio In, Out a Thru.
MIDI In – vstup; na něm se očekávají midi data posílaná z jiného přístroje
MIDI Out – výstup, kam se posílají veškerá midi data, která přístroj generuje
MIDI Thru – výstup, kde se objevují veškerá midi data přicházející na vstup MIDI In.

Pokud máme pouze dva nástroje, z Out řídícího nástroje zapojíme kabel do In řízeného nástroje a tím vše končí. Někdy je nutné posílat některá data i opačným směrem; pak se jednoduše dalším kabelem propojí Out řízeného s In řídícího.
Při zapojení více nástrojů a přístrojů na jeden MIDI port je propojujeme do sériového řetězce (za sebou). Z Out řídícího nástroje se data přivádějí na In prvního řízeného, z jeho Thru na In druhého řízeného, z jehož Thru na In třetího... a tak dále. Schémata nejčastěji používaných zapojení jsou na obrázku Příklady propojení.
Jiná situace je při komunikaci pomocí USB. Na nástroji umožňujícím MIDI komunikaci po USB je vždy „tiskárnový“ konektor USB(b), který se propojí s USB(a) slotem počítače nebo zvukového modulu. Po jednom kabelu se pak realizuje obousměrná komunikace. Pokud potřebujeme pomocí USB propojit více zařízení, bez počítače nebo HUBu se většinou neobejdeme. Přístroje se zapojí stejně jako jiné počítačové periferie – tedy do hvězdy. Každý syntetizér nebo modul je připojen do jiného USB slotu počítače a o distribuci dat se stará příslušný software. Podrobněji viz obrázek Příklady propojení.

Při vzájemném propojení midi vstupů i výstupů dvou přístrojů může dojít k zdvojení dat nebo ke zpětné vazbě. Tomu jde zabránit nastavením parametru Local na hodnotu off. Local ovládá propojení klaviatury s vnitřním zvukovým modulem.


MIDI parametry

Dovolím si uvést některé důležité parametry, jimiž dnes disponuje prakticky každý syntetizér, a které jsou důležité pro úspěšný přenos dat nebo řešení případných problémů. Někdy se mohou jejich názvy přístroj od přístroje drobně lišit.
MIDI on/off: aktivace midi komunikace
Port: v případě více MIDI portů nastavení aktivního portu komunikace
Channel: nastavení MIDI kanálu, na němž bude přístroj komunikovat. Většinou je možné pro posílání a příjem dat nastavit různé kanály.
Omni: je parametr platný pouze pro příjem dat. Při hodnotě On reaguje přístroj na data všech kanálů bez ohledu na nastavení parametru Channel.
Local: propojuje klaviaturu a kontroléry s vnitřním zvukovým modulem syntetizéru. Při hodnotě On je propojení funkční, při nastavení Off se stávají ze syntetizéru dva nezávislé přístroje; midi klaviatura a zvukový modul.
Controllers: povoluje nebo zakazuje posílání či příjem dat Controllerů a Pitch Wheel
Programm Change: povoluje nebo zakazuje posílání nebo příjem Programm Change dat
Transpose: může v reálném čase transponovat posílané nebo přijímané noty
Velocity: nabízí různé průběhy dynamiky

Don't panic!
Někdy může v přenášení MIDI dat dojít k chybám. Při přerušení komunikace mohou zůstat „viset“ některé tóny nebo Controllery. Zvuky či sekvence po sobě „neuklidí“, nebo může dojít k jiným nepředvídatelným stavům. To je nepříjemné zvlášť při živém vystoupení. Proto má většina klávesových nástrojů kouzelné tlačítko Panic, po jehož stisku se na všech MIDI kanálech stane následující:
- ukončí se všechny znějící tóny (pro všechny noty se pošle Note Off)
- všechny Controllery se nastaví na výchozí hodnoty
- Pitch Wheel se nastaví do střední polohy na hodnotu 8192. Pitch Wheel není z hlediska MIDI standardním Controllerem s hodnotami v intervalu 0-127, ale jeho hodnota se pohybuje od 0 do 16383.

Výchozí hodnoty jsou různé a jsou odvozeny od logiky konkrétního typu Controlleru. Např. pro Volume a Expression je výchozí hodnota 127, pro Panoramu i Balance 64, pro Modulation, Sustain, nebo Breath Controller 0. Pro Pitch Wheel je výchozí hodnotou 8192.

Příště

V následujícím díle se mrkneme na rozdělení MIDI dat, jejich záznam do sequenceru a zálohování. Do útoku nám bude velet General MIDI.

MIDI v syntetizéru
Příklady propojení
MIDI nástroje