5. Obecné MIDI (General MIDI)Tento standard byl přijat v roce 1991 jako specifikace General MIDI System Level 1 a stal se součástí MIDI normy. Šlo o to, aby MIDI vystoupilo z ulity výlučného profesionálního používání v hudbě a aby bylo nabídnuto ve značně zjednodušené formě hudebním amatérům a nadšencům a ke komerčnímu využití (počítače, multimédia). V průběhu několika let byl GM standard velmi rychle akceptován. Hudebníci mají k dispozici velký výběr GM zařízení, zvláště zvukové karty k počítačům PC, kde GM zcela ovládlo trh.
Obr. 2 Logo General MIDI Nástroj vyhovující tomuto standardu musí mít minimálně 24 hlasů s dynamickým přiřazováním hlasů na všech 16 MIDI kanálech a měl by mít 128 zvukových barev uspořádaných podle normované mapy zvuků. Tyto nástroje bezpečně poznáme podle loga, které na nich musí být zobrazeno, viz obr. 2. Mapa zvuků standardizuje zvukové barvy a konkretizuje je. Bylo rozhodnuto sestavit 16 skupin rejstříků podle typu, každá má 8 barev. Základní skupiny jsou v následující tabulce.
V GM normě není nijak předepsán typ syntézy zvuku, proto se může zvuk různých nástrojů značně lišit. Kvalitní syntetizér s 24 MB ROM, bude mít jistě lepší zvuk než zvuková karta s FM syntézou v cenové relaci několika set korun. Norma říká: Každý výrobce "musí zaručit přijatelnou kvalitu zvuků". To je asi nejdiskutovanější část normy. Součástí GM standardu je popis formátu pro archivaci skladeb - Standard MIDI File (SMF). 5.1. Standardní MIDI soubor (Standard MIDI File - *.mid)Význam SMF formátu spočívá v jednotném způsobu kódování hudebních i jiných dat, což dovoluje přenos těchto dat mezi nejrůznějšími přístroji. Není jediným formátem používaným k archivaci skladeb, ale slouží spíše k exportu a importu dat. Nehodí se totiž k interní archivaci dat v paměti sekvenceru, tam jsou z hlediska rychlosti načítání a ukládání dat výhodnější kompaktní a speciálně kódované interní formáty. Nástroje používají další formáty, většinou nekompatibilní mezi jednotlivými firmami.SMF může mít tři podoby:
5.1.1. Struktura souboruSoubor tvoří hlavička SMF, po ní následuje hlavička stopy a za ní jsou kódovaná data.Hlavička SMF První čtyři byty jsou ASCII hodnoty písmen "MThd". Dále následuje délka hlavičky v bytech, to je 32bitový údaj, který byl dodán pro budoucí možná rozšiřování SMF normy. Nyní je tato hodnota 6, což je délka hlavičky bez úvodních osmi bytů. Na dalších dvou bytech je číslo, které odpovídá SMF formátu 0, 1 nebo 2. Následující číslo udává počet stop (pro formát 0 je to vždy 1) a je též na dvou bytech. Hlavičku uzavírá tzv. rozlišení, které udává vztažnou hodnotu pro kódování deltačasu, obvykle určuje relativní čas jako počet tiků do jedné čtvrťové hodnoty (noty). Příklad (hexadecimálně):
Hlavička stopy Hlavička stopy opět začíná ASCII hodnotami, tentokrát "MTrk". Následuje čtyřbytové číslo znamenající délku stopy. Dále následují kódovaná data, tzv. meta-eventy, data a zvláštní systémová data. Příklad (hexadecimálně):
Meta-eventy Meta-eventy jsou interní kódy, které reprezentují různá speciální data skladby jako tempo, metrum, tóninu, textové popisy, písňové texty synchronizované s hudbou pro karaoke aplikace aj. Každá skladba by měla mít minimálně údaj o tempu a metru. Měl by být umístěn v hlavičce stopy před hudebními daty. Ve formátu 1 je na první stopě. Meta-eventy přerušují trvající stavový byte. Každý meta-event začíná bytem s hodnotou 255 (FF). Za ním je byte určující typ, který má v MSB hodnotu 0, takže je možné rozlišit 128 různých meta-eventů. Dosud nebyly všechny definovány a jejich celý popis lze najít v [1]. Data Obsahují hudební data stopy spolu s údajem o relativním časovém umístění, tzv. deltačas. Deltačas může být různě dlouhý, proto i počet bytů pro jeho popis je různý. Pro kódování se používá převod osmibitových skupin na sedmibitové a pak se do MSB doplní ve všech bytech 1, jen do posledního 0. Příklad
Převod na sedmibitové skupiny:
Do MSB 1, do posledního 0 a máme zakódovaný deltačas:
Jako nejvyšší vstupní číslo je dovoleno 0F FF FF FF (hexadecimálně), které se zakóduje jako FF FF FF 7F. Teoreticky je možné i větší číslo, ale v praxi to bohatě stačí, protože takto vysoká hodnota představuje vzdálenost mezi dvěmi hudebními událostmi několik dní (záleží na rozlišení a tempu). V souboru bude tedy základní informace o stisku klávesy sestávat ze čtyř bytů. Příklad: Event: 00 90 45 6E (hexadecimálně)
5.1.2. Příklad uložení hudební skladby v souboru.Tento příklad je přejatý z [1]. Jde o uložení standardního notového zápisu v SMF formátu 0. Je použit trvající stavový byte.
Tabulka je rozdělena do třech částí. Na začátku je inicializační část s hlavičkou souboru a stopy. Stopa je dlouhá 58 bytů. Dále následují dva meta-eventy udávající metrum a tempo. Protože jsou již součástí stopy, je před každým údaj o deltačase. Následují data, kde je použit trvající stavový byte. Soubor je ukončen meta-eventem znamenajícím konec stopy. Mezi komputerizovanými hudebníky je tento formát velmi rozšířen. Jeho původní účel přenosu hudebních dat mezi různými systémy se také rozšířil. Dnes slouží jako hlavní formát pro hardwarové přehrávače SMF skladeb v reálném čase a setkáváme se s ním i na internetu, kde jsou v něm archivovány skladby profesionálních i amatérských hudebníků. Používá se také v počítačových hrách a multimediálních aplikacích. Výhodou je jeho malá velikost: zatímco průměrně složitá tříminutová kompozice zabírá prostor asi 50 kB, stejná kompozice v podobě komprimovaných digitalizovaných audiodat spotřebuje více než 3 MB (stereo, 16 bitů, vzorkovací kmitočet 44,1 kHz, ztrátová komprese typu MP3). A to je rozdíl.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||