Selathco 0.91 generated HTML
Predchozi Obsah ) Dalsi

3. MIDI systém

MIDI představuje nikoli nejdokonalejší, ale nejlevnější a nejrozšířenější systém, který se stal světovým průmyslovým standardem. Přes svoje značné limitace a nedokonalosti do značné míry ovlivňuje podobu hudebního umění na přelomu 21. století. Původně byl navržen pouze pro komunikaci mezi klávesovými nástroji, postupně však převzal řadu dalších úkolů.

3.1. Struktura MIDI

MIDI je sériový jednosměrný komunikační protokol. Umožňuje jednak propojení syntetizérů, samplerů (1) , různých ovladačů (klávesových, dechových, strunných, bicích, bezkontaktních), sekvencerů, počítačů, rytmerů, audiotechniky, videotechniky a scénické techniky v reálném čase, jednak přenos dat po MIDI sběrnici. Sestává z fyzického propojení (hardware) a ze způsobu kódování a přenosu informací v systému (komunikační protokol). Je to ve své podstatě upravené počítačové komunikační rozhraní RS-232. I když někdy bývá MIDI systém nazýván nepřesně sítí, ve skutečnosti se o princip sítě nejedná, jak vyplyne z popisu, který následuje.

3.2. MIDI hardware

Hardware sestává z mikroprocesorů v přístrojích, dále z převodníku paralelních dat na sériová a jednoho až tří (někdy i více) konektorů typu DIN s pěti kontakty. Je to MIDI In pro vstup dat, MIDI Out pro výstup dat a MIDI Thru pro bufferovaný průchod dat. Dále samozřejmě nesmí chybět propojovací kabely.

Aby se však zabránilo zemním smyčkám mezi přístroji, země na konektorech nemá být spojována se zemí přístrojů nebo s elektronickými součástkami a na MIDI vstupu nástroje má být optoizolátor galvanicky oddělující přístroje (čas reakce by měl být menší než 2 mikrosekundy).

Každý přístroj vybavený MIDI obvykle obsahuje přijímač a vysílač. Vysílač vysílá informace do jednoho MIDI okruhu, přijímač je přijímá a provádí. Jeden výstup může řídit jenom jeden vstup. Pokud chcete do jednoho výstupu zapojit několik nástrojů paralelně, je to možné pomocí přídavného MIDI zařízení zvaného Thru Box. Na konektoru Thru je kopie dat z In, sem se mohou připojit další nástroje (řetězové propojení). Všechny nástroje připojené do jednoho MIDI Out tvoří jeden MIDI okruh. Kvůli možnosti "nastřádání" časového zpoždění (z důvodu časů reakce optoizolátoru) se omezuje počet přístrojů zapojených v řetězu In-Thru-In-Thru... maximálně na čtyři. S kvalitními optoizolátory by bylo možné zapojit i více nástrojů do řetězu, ale výrobci v běžných návodech neuvádějí, jak kvalitní komponenty použili.

Počet přístrojů připojených paralelně pomocí MIDI rozdělovače do jednoho výstupu není omezen. Propojovací kabely by neměly být delší než 15 metrů a stínění kabelu by mělo být zapojeno na obou stranách kabelu.

Zvukové karty pro počítač PC nemají obvykle z prostorových důvodů MIDI konektory. Místo nich je tzv. Game Port (Joystick/MIDI) a ke kartě je nutné přikoupit speciální adaptérový kabel. Mnohdy obsahuje optoizolátor, který na levnějších kartách chybí.

3.3. MIDI jazyk

Softwarové vybavení je tvořeno dohodnutým komunikačním jazykem, který je zapsán v přístroji společně se způsobem, jak mají být data interpretována a aplikována na konkrétní možnosti přístroje. Informace jsou vysílány asynchronně rychlostí 31250 Baudů (1 MHz/32) v proudové smyčce 5 mA - logická nula odpovídá tekoucímu proudu, logická jednička vypnutému. Datové slovo má startbit(0), 8 databitů a stopbit(1).


 Obr. 1 Slovo MIDI

MIDI komunikace je založena na zprávách. Sestávají z jednoho až mnoha bytů. První byte je vždy tzv. stavový, za ním následují byty datové. Informace o stisku jedné klávesy na syntetizéru obsahuje tři byty. Pokud se stiskne akord jsou jeho jednotlivé tóny vyslány za sebou. Právě toto časové zpoždění je největším problémem a norma se snaží o jeho maximální potlačení.

3.3.1. Stavový byte

Stavové byty mají v počátečním bitu (MSB) hodnotu 1 a říkají přijímači, co má provést, ale teprve po přijetí všech patřičných databytů je příkaz proveden.

Z hlediska systematiky dat je přehlednější analyzovat byty rozložené na čtyřbitové skupiny. Vzhledem k tomu, že první bit v první skupině musí být 1, zbývá nám 8 variant s hexadecimální hodnotou 8, 9, A, B, C, D, E, F. 

Sedm prvních jsou kanálová data, kde druhá čtyřbitová skupina určuje číslo kanálu. Proto existuje v MIDI pouze 16 kanálů. Za kanálovými stavovými byty následuje jeden nebo dva datové byty.

Osmý stavový byte začínající F vytváří systémová data. Opět je možných 16 kombinací, avšak tentokrát nevyjadřují číslo kanálu, ale různé typy zpráv. Rozdělují se na společná data, data reálného času a zvláštní systémová data. Některá nebyla dosud definována.

 Trvající stavový byte

Aby se zvětšila průchodnost sběrnice, bylo definováno, že v případě kanálových dat není nutné vysílat vždy úplné MIDI zprávy. Pokud se nemění typ informace určený stavovým bytem, stačí vysílat jenom databyty. Moderní nástroje rozumí běžnému vysílání i vysílání s trvajícím stavovým bytem.

MIDI zařízení nesmějí vysílat nedefinované stavové byty. Pokud náhodou takový kód přístroj přijme, měl by jej zcela ignorovat i s následujícími databyty. Rovněž je zakázáno, aby nástroj vyslal nějaká náhodná data po zapnutí nebo při vypnutí.

3.3.2. Datový byte

Datové byty mají na místě MSB vždycky 0. Zbývá tedy 128 kombinací, které jsou dostačující pro číslování not, kontrolerů, programů, skladeb a popis hodnoty nastavení kontrolerů.

Ke každému stavovému bytu musí být vyslán správný počet databytů. Všechny datové byty, ke kterým není předtím přijat stavový byte, jsou ignorovány (s výjimkou trvajícího stavového bytu).

3.3.3. Zprávy

Zpráva (message) je jednobytová až tříbytová informace sestavená z jednoho stavového a žádného až dvou datových bytů. Přikazuje provést nějakou konkrétní činnost. Počet databytů je pro jednotlivé stavové byty přesně definován. Například stisk klávesy je tříbytová zpráva, kde první byte udává, že byla klávesa stisknuta a další dva databyty říkají jaká klávesa (číslo noty) a s jakou razancí byla stlačena. Existují však určité výjimky: například v režimu trvajícího stavového bytu stačí vysílat jenom řetězce databytů, dokud není potřeba změnit stavový byte. Znamená to, že při stisku další klávesy se vysílá pouze číslo noty a razance. Tímto se zvětší průchodnost MIDI sběrnice asi o třetinu.

MIDI komunikace rozděluje zprávy na kanálové a systémové. Kanálová data jsou zprávy přiřazené jednotlivým kanálům a systémová ovládají celý nástroj, ne jednotlivé kanály.

Pro lepší pochopení struktury MIDI komunikace snad pomůže následující tabulka. V levém sloupci jsou čísla v hexadecimálním tvaru. Ve sloupci Funkce je na prvním místě popis stavového bytu a poté jednotlivých databytů. Znak n znamená čtyřbitové číslo udávající číslo kanálu.
 
 
Stav. byte Počet DB
Funkce
Kanálová data
8n 2 <Nota vypnuta>; číslo noty; rychlost vypnutí
9n 2 <Nota zapnuta>; číslo noty; rychlost zapnutí
An 2 <Individuální tlaková citlivost>; číslo noty; hodnota
Bn 2 <Kontroler> číslo kontroleru; hodnota
Cn 1 <Volba programu>; číslo programu
Dn 1 <Společná tlaková citlivost>; hodnota
En 2 <Ohýbání tónu>; hodnota; hodnota
Systémová data
Společná systémová data
F2 2 <Lokátor>; hodnota; hodnota
F3 1 <Volba skladby>; číslo skladby
F6 0 <Naladění>
FF 0 <Reset systému>
Systémová data reálného času
F1 1 <MTC čtvrtokénko>; typ + hodnota
F8 0 <Synchrotiky>
FA 0 <Start>
FB 0 <Pokračuj>
FC 0 <Stop>
FE 0 <Aktivita>
Zvláštní systémová data
F6 - <Začátek zvláštních systémových dat>; identifikační kód firmy; libovolný počet databytů
F6 0 <Konec zvláštních systémových dat>
Nedefinované stavové byty - $F4, $F5, $F9, $FD


  • (1) Syntetizéry a samplery jsou zařízení, která generují zvuky. Rozdíl mezi nimi je ve způsobu tvoření zvuku.

Predchozi
Converted by Selathco 0.91 on 16.09.2000 17:39
Dalsi