Selathco 0.91 generated HTML
Predchozi Obsah ) Dalsi

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.

Skupiny nástrojů ve standardu GM
Číslo programu Nástrojová skupina
01 - 08 klavíry
09 - 16 laděné bicí
17 - 24 varhany
25 - 32 kytary
33 - 40 basové zvuky
41 - 48 smyčce
49 - 56 ansáblové zvuky
57 - 64 žestě
65 - 72 plátkové
73 - 80 píšťaly
81 - 88 elektronické sólové zvuky
89 - 96 elektronické doprovodné zvuky
97 - 104 elektronické zvukové efekty
105 - 112 etnické
113 - 120 perkusivní
121 - 128 zvukové efekty

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:

  • Formát 0 zapíše jednu stopu (track) - ta může obsahovat všechny MIDI kanály. 
  • Formát 1 ukládá jednu i více současně hrajících stop (pattern), to odpovídá lineárně (nikoli patternově) orientovaným sekvencerům. Pochopitelně i zde mohou být multikanálové stopy, z toho pak vyplývají určité problémy (tzv. nečistý formát 1).

  •  
  • Formát 2 uloží celou skladbu (song), je určen pro patternově orientované sekvencery, kde každý pattern má obsahovat jednu multikanálovou stopu. Teoreticky má umět přenést i polytempo, tedy ten případ, kdy každá stopa hraje v jiném tempu. Tento formát se nepoužívá.
SMF formát má největší význam při transferu dat prostřednictvím disket mezi nástroji a jako univerzální archivační formát hudebních skladeb i jiných dat v počítačových sítích.

5.1.1. Struktura souboru

Soubor 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ě):
 
 
4D 54 68 64 00 00 00 06 00 00 00 01 01 80
MThd délka 6 bytů formát 0 jedna stopa 96 tiků

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ě):
 
 
4D 54 72 6B 00 00 00 3A
MTrk 58 bytů

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
Budeme kódovat deltačas o velikosti 2000 hexadecimálně.
 
2 0 0 0 hexadecimálně
0010 0000 0000 0000 binárně

Převod na sedmibitové skupiny:
 
00 1000000 0000000 binárně

Do MSB 1, do posledního 0 a máme zakódovaný deltačas:
 
1100 0000 0000 0000 binárně
C 0 0 0 hexadecimálně

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ě)
Jednotlivé byty říkají: 

  • 00 - deltačas - nula znamená buď začátek stopy nebo je to event ve stejném čase jako předchozí. 
  • 90 - stavový byte - <Nota zapnuta>. Je stisknuta klávesa. Jaká přesně, to je v následujících datových bytech. 
  • 45 - datový byte - nota malé a 
  • 6E - datový byte - rychlost stisku 110 (= 6E)

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.


Obr. 3 Hudební příklad 

Příklad skladby v SMF
Data Komentář 
4D  54  68  64  MThd 
00  00  00  06  délka hlavičky 
00  00  00  01  formát 0, jedna stopa 
01  80  96 tiků na jednu čtvrťovou 
4D  54  72  6B  MTrk 
00  00  00  3A  délka stopy - 58 bytů 
00  FF  58  04  Meta-event: metrum 3/4, metronom 
03  02  18  08  každou čtvrťovou, 8 dvaatřicetinek do jedné čtvrťové
00  FF  51  03  Meta-event: tempo, jedna čtvrťová 
07  A1  20  trvá 500 000 sec
D-čas Data Komentář 
00  90  46  6E  zapnuta nota 70 rychlostí 110 
81 40 46  00  vypnuta nota 70 
00  2D  50  zapnuta nota 45 rychlostí 80 
60  2D  00  vypnuta nota 45 
00  26  0D  zapnuta nota 38 rychlostí 80 
00  3E  0D  zapnuta nota 62 rychlostí 80 
00  41  0D  zapnuta nota 65 rychlostí 80 
00  45  0D  zapnuta nota 69 rychlostí 80 
81 40 3E  00  vypnuta nota 62 
00  41  00  vypnuta nota 65 
00  45  00  vypnuta nota 69 
00  26  00  vypnuta nota 38 
60  FF  2F  00  Meta-event:konec stopy 

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.


Predchozi
Converted by Selathco 0.91 on 16.09.2000 17:39
Dalsi