Musical Instrument Digital Interface
MIDI (akronym Musical Instrument Digital Interface, česky „digitální rozhraní hudebního nástroje“) je volně přístupný průmyslový standard, který spravuje organizace MIDI Manufacturers Association (MMA). Tento standard obsahuje specifikace hardware i software pro digitální komunikaci mezi hudebními nástroji navzájem a dalšími zařízeními jako jsou sekvencery, počítače, mixery nebo i jevištní technika, třeba ovládání reflektorů.[1] Digitální MIDI komunikace nahradila předchozí analogovou komunikaci VC/Trig, která nebyla standardizována a nebyla proto kompatibilní mezi nástroji různých výrobců elektronických hudebních nástrojů.
MIDI standard mimo jiné obsahuje specifikace pro hardware (obvod s proudovou smyčkou, konektor), pro komunikační protokol (sériový) a pro datový protokol. V dnešní době je nejdůležitější specifikace datového protokolu, protože k přenosu dat se dnes běžně používají i nestandardní (z pohledu MIDI specifikace) transportní vrstvy. Například USB nebo Bluetooth rozhraní.
Historie
Všechno začalo už v roce 1981 na výstavě NAMM (National Association of Music Merchants) v USA. Finální MIDI verze 1.0 se poprvé objevila 5. srpna 1983. Prvním výrazným propagátorem MIDI mimo výrobce hudebních nástrojů se stala americká společnost Atari, která rozhraním MIDI vybavila své počítače Atari ST a STE.
Technická specifikace
Hardware
Přenos dat je sériový a asynchronní (podobný např. RS-232) s rychlostí 31250 bit/s. Používá proudovou smyčku s proudem 5 mA a galvanickým oddělením na vstupu.
Pro propojení přístrojů se používají 5-pólové konektory DIN a dvojžilové stíněné kabely. Komunikace je jednosměrná, pro obousměrnou komunikaci musí být přístroje vybaveny více konektory. Některé přístroje obsahují až tři konektory označené In, Out a Thru. Konektor In je vstupní, přes konektor Out jsou vysílány MIDI zprávy generované zařízením a na konektor Thru jsou kopírována data přicházející na vstup. Některá MIDI zařízení používají funkci Soft Thru, která slučuje vstupní data s interně generovanými daty a vše posílá na konektoru Out.
Moderní přístroje podporují obousměrnou MIDI komunikaci přes nestandardní rozhraní, např. přes USB pro propojení k PC nebo Bluetooth pro propojení s mobilními zařízeními typu iPad.
Komunikace
Komunikace MIDI nepřenáší mezi hudebními nástroji audio signál (zvuk), ale informace o událostech. Typicky informace, co hudebník se svým nástrojem dělá. Například u keyboardu o stisku nebo puštění klávesy či použití jiného kontroleru, jako je třeba pedál nebo potenciometr. Událost může mít několik parametrů. Například stisk klávesy má dva parametry. Která klávesa byla stisknuta a jak rychle/silně byla stisknuta.
Nástroj může MIDI události jen vysílat (má jen vysílač), nebo jen přijímat nebo vysílat i přijímat. Jen vysílač mají typicky master keyboardy, kterými se ovládají ostatní MIDI nástroje a které nejsou vybaveny vlastním syntezátorem. Přijímač i vysílač mají typicky keyboardy, které umožňují posílat hru hráče třeba do nahrávacího sequenceru, ale mohou být i ovládány z master keyboardu a fungovat jako syntezátor. Je také možné nechat keyboard ovládat ze sequenceru, kdy keyboard na základě přijímaných událostí hraje hudební podklad a do toho na něm současně hraje živě hudebník.
Komunikace se přenáší pomocí stavových a datových bytů. Datový byte může nabývat hodnot 0x00 až 0x7F a stavový byte může nabývat hodnot 0x80 až 0xFF. Na první pohled se tak od sebe liší stavem 8 bitu. Událost začíná typicky stavovým bytem, který specifikuje o jakou jde událost a za ním může následovat jeden nebo více datových byte. V době vzniku MIDI se šetřilo každým byte, takže protokol je navržen datově velmi úsporně. Je to nutné i pro pomalost sériové komunikace, aby bylo možno skrz dráty dostat co nejvíc událostí. Z toho důvodu se stavový byte nevysílá zbytečně opakovaně za sebou, ale jen při změně události. Je-li událost stejná, posílají se jen datové byte, nazývá se to Running Status.
MIDI kanály
Události se přenáší v tzv. kanálech, kde každý kanál představuje jeden zvuk (zvukový program), ať reálný (fyzický) nebo virtuální (zvuková banka v klávesách). MIDI specifikace definuje max. 16 kanálů. Tento limit umožňuje použít současně 16 zvuků. V elektronických klávesách a podobně pak může současně hrát max. 16 různých virtuálních nástrojů. Stejné omezení platí i pro MIDI soubory (SMF). Kanál 10 je vyhrazen pro sadu bicích nástrojů, ostatním kanálům lze přiřadit libovolný zvuk. Je-li počet kanálů omezující, mohou se v jednom kanálu různé zvuky střídat.
Hra na klaviaturu se může přenášet i do několika kanálů, běžně až do čtyř. Záleží na možnostech a nastavení daného nástroje. To umožňuje, aby hudebník současně ovládal nástrojů několik - buď přes rozdělenou klaviaturu (každou rukou může hrát jiný zvuk, třeba basu a kytaru), nebo přes vrstvy, kdy stisknutím jedné klávesy zazní několik zvukových barev současně.
MIDI události
MIDI události jsou rozděleny na kanálové a systémové. Kanálové události se týkají jen nástroje pro daný kanál, systémové události se týkají všech nástrojů (platí pro všechny kanály).
Kanálové události:
0x8n – NOTE-OFF – note no – velocity
0x9n – NOTE-ON – note no – velocity'
0xAn – AFTERTOUCH – note no – pressure
0xBn – CONTROLLER – controller no – data'
0xCn – PROGRAM CHANGE – program no
0xDn – CHANNEL PRESSURE – pressure
0xEn – PITCH BEND – data1 – data2
n: 0 až F, číslo kanálu
note no: 0 až 127, číslo noty, střední C je 60
controller no: 0 až 127, adresa kontroleru. Adresy běžných kontrolerů jsou definovány, ale i tak je to zdroj možných nekompatibilit. Hodnotou je jeden datový byte, tedy číslo 0 až 127. U kontrolerů, kde je hodnota 0 až 127 nedostatečná, se věc řeší použitím dvouhodnotového kontroleru, což jsou v praxi dva kontrolery, jenž se považují za jeden a jejichž hodnoty se bitově sečtou. Tím je ale počet adres pro kontrolery omezen na pár desítek, což nemusí být dostačující. Omezení počtu adres kontrolerů se řeší mechanismem speciálního kontroleru, jenž sám představuje volbu kontroleru, tj. jeho hodnota je adresa kontroleru. Tento speciální kontroler je dvouhodnotový, což dává možnost adresovat přes 16 000 kontrolerů.
program no: 0 až 127, číslo zvuku. Přiřazení čísel zvukům definuje norma General Midi (GM). Dnešní nástroje jsou ale mnohdy vybavený stovkami různých zvuků. Řeší se to přepínáním zvukových bank, kdy parametr PROGRAM vybírá zvuk ze zvolené banky. Banka se volí pomocí speciálního dvouhodnotového kontroleru, tj. počet bank může být přes 16 000. Není-li zvolena banka, pak se považuje za výchozí banku banka číslo 0, která podléhá adresaci nástrojů dle GM. Ostatní banky jsou v rukou výrobců nástrojů a nejsou kompatibilní, tj. např. do banky 10 na adresu 5 může dát každý výrobce jiný zvuk. Existují různé další normy jako GS nebo XG, které jsou ale firemní a nejsou podporovány napříč všemi výrobci. To omezuje nebo ztěžuje používání ne-GM nástrojů, MIDI souborů a podobně.
pitch bend: to je kontroler, který jakýmsi řízením osudu dostal vlastní událost. Datové byty 1 a 2 se bitově sčítají, takže výsledkem těchto hodnot je jedna 14bitová hodnota.
Systémové události:
0xF0 – SYSTEM EXCLUSIVE START – id výrobce – ... – 0xF7 0xF1 – MTC Quarter Frame Message – da 0xF2 – Song Position – data1 – data2 0xF3 – Song Select – data 0xF4 - 0xF5 - 0xF6 – Tune Request 0xF7 – SYSTEM EXCLUSIVE STOP 0xF8 – MIDI Clock 0xF9 - 0xFA – MIDI Start 0xFB – MIDI Continue 0xFC – MIDI Stop 0xFD – 0xFE – Active Sense 0xFF – Reset
MIDI v osobních počítačích
U osobních počítačů bývaly MIDI signály vyvedeny na game port, který byl obvykle součástí zvukové karty. Jedná se o 15-pinový konektor typu D-SUB „samice“. Pin 12 slouží jako výstup, pin 15 jako vstup. U game portu je použita TTL logika, takže kabel pro připojení MIDI zařízení ke zvukové kartě musí být doplněn o převodník mezi proudovou smyčkou a TTL. Některé zvukové karty obsahují přímo úplné MIDI rozhraní s konektory MIDI-In a MIDI-Out. Dnes jsou nejčastější MIDI převodníky připojované prostřednictvím rozhraní USB.
Pro zpracování MIDI-dat je nabízena celá řada aplikací a pro jejich uložení je používán formát SMF (Standard MIDI File).
Pro méně technicky nadané hudebníky malé vysvětlení. Pro jednoduchost si představíme dva klávesové nástroje, propojené přes MIDI rozhraní. Jeden z nich je tedy řídící (master)(MIDI kabel připojený v konektoru OUT), druhý je řízený (slave)(kabel v konektoru IN). Začneme-li hrát na řídící nástroj, ten začne vysílat po MIDI kabelu data. Nejedná se o žádný zvuk, proudí tam pouze informace o tom, která klávesa byla právě stisknuta, jak silně a kdy byla uvolněna. (Těch dat je samozřejmě mnohem víc, ale pro hrubou představu je možné si představit, že klávesy řídícího nástroje jsou jakoby táhly spojeny se stejnými klávesami řízeného nástroje). Řízený nástroj tedy přijme informaci, že na řídícím nástroji byla právě stisknuta např. klávesa c1. Protože má zrovna nastaven zvuk dejme tomu trumpety, tak zahraje tón c1 trumpetovým zvukem a drží ho tak dlouho, dokud hudebník na řídícím nástroji tu klávesu neuvolní. Informace o stisknutých klávesách jsou ideální pro uložení v počítači. Program vám je hezky zobrazí, např. jako podlouhlé otvory (podle délky tónu) v "papírovém pásu" (tak to většinou vypadá a je to grafické znázornění papírového pásu,na který hrály pianoly),můžete je všelijak upravovat, mazat, připisovat další a nakonec si v dalším editoru nastavit i zvuk, kterým se mají přehrávat, jeho hlasitost, umístění v panoramě, úroveň hallu a chorusu a další údaje. Těchto "pásů" ( označují se jako kanály 1-16) máte k dispozici 16. Takže je možné si na první pás nahrát třeba part basy, na druhý piáno, na desátý bicí. Tato data pustíte z počítače do klávesového nástroje. Ten zjistí, že na prvním kanálu má nastavit zvuk basy a zahrát tón c1. Současně na druhém kanálu má nastavit zvuk klavíru a zahrát tóny c2,e2,g2. A na desátém kanálu sputit zvuk velkého bubnu a činelu. Je jasné, že když budete stejnou skladbu přehrávat přes různé klávesové nástroje nebo expandery (expander je pouze generátor zvuků, tedy jako klávesový nástroj bez klávesnice) výsledný zvuk se bude výrazně lišit podle jejich kvality přesto, že ta skladba bude pokaždé přehrána naprosto stejně.
Dechové ovladače (Wind controllers)
Dechový ovladač umožňuje řízení některých parametrů MIDI dechem hráče (např. dynamiak, artikulace)
Umožňuje ovládání tónů dechem, což je žádoucí zejména při simulaci zvuku dechových nástrojů, zvláště při hraní vzorkovaných nebo fyzicky modelovaných částí dechových nástrojů.
Typický dechový ovladač má senzor, který přeměňuje změny tlaku dechu na informace o hlasitosti a umožňuje změnu výšky tónu např. pomocí senzoru stisku rtů. Některé modely mají konfigurovatelné strojivo (rozložení klapek) pro přizpůsdobení prstokladům různých dechových nástrojů.
Drum and percussion controllers
Klávesnice mohou být použity ke spouštění bubnových zvuků, ale jsou nepraktické pro přehrávání opakovaných vzorků, jako jsou role, vzhledem k délce trvání klíče.
Po klávesnicích jsou bubnové podložky dalšími nejvýznamnějšími výkonovými řadiči MIDI.
Podložky zabudované do bubnových strojů jsou zpravidla příliš malé a křehké, aby se mohly hrát s palicemi a hrají se prsty
Specialized performance controllers
Jsou používána speciální
Napr. MIDI spouštěče připojené k obuvi nebo oděvu jsou někdy používány jevištními umělci. Bezdrátový senzor Kroonde Gamma dokáže zachytit fyzický pohyb jako signály MIDI. Senzory zabudované do tanečního parketu na univerzitě v Texasu v Austinu převádějí pohyby tanečníků do zpráv MIDI
Existují softwarové aplikace, které umožňují použití zařízení iOS jako gestikulátorů.
Dělení
Se zvukovou bankou
– výstupy pro připojení do zesilovače
- kvalitnější přístroje
Bez zvukové banky
– zvuk musí být vycházející ze softwaru
Nástroje General MIDI - GM
Následující tabulka obsahuje český překlad anglických názvů. Některé MIDI nástroje číslují nástroje takto, jiné mají číslování posunuté o jednotku, tzn. klavír je 1.
Číslo | Anglicky | Česky |
---|---|---|
Piano | klavír | |
0 | Acoustic Grand Piano | koncertní křídlo |
1 | Bright Acoustic Piano | ostře znějící klavír |
2 | Electric Grand Piano | elektrické křídlo |
3 | Honky-tonk Piano | honky-tonk pianino |
4 | Rhodes Piano | Rhodes piano |
5 | Chorused Piano | klavír s chorusem |
6 | Harpsichord | cembalo |
7 | Clavinet | klavinet |
Pitched percussion | melodické bicí | |
8 | Celesta | celesta |
9 | Glockenspiel | zvonkohra |
10 | Music Box | hrací skříňka |
11 | Vibraphone | vibrafon |
12 | Marimba | marimba |
13 | Xylophone | xylofon |
14 | Tubular Bells | trubicové zvony |
15 | Dulcimer | dulcimer (trsátkem) |
Organ | varhany | |
16 | Hammond Organ | Hammondovy varhany |
17 | Percussive Organ | perkusivní varhany |
18 | Rock Organ | rockové varhany |
19 | Church Organ | kostelní varhany |
20 | Reed Organ | jazýčkové varhany |
21 | Accordion | akordeon |
22 | Harmonica | harmonika |
23 | Tango Accordion | tango akordeon |
Guitar | kytara | |
24 | Acoustic Guitar (nylon) | akustická kytara (nylonové struny) |
25 | Acoustic Guitar (steel) | akustická kytara (ocelové struny) |
26 | Electric Guitar (jazz) | elektrická kytara (jazz) |
27 | Electric Guitar (clean) | elektrická kytara (čistá) |
28 | Electric Guitar (muted) | elektrická kytara tlumená |
29 | Overdriven Guitar | přebuzená elektrická kytara |
30 | Distortion Guitar | zkreslená elelektrická kytara |
31 | Guitar Harmonics | flažolet |
Bass | strunné basy | |
32 | Acoustic Bass | kontrabas (pizzicato) |
33 | Electric Bass (finger) | elektrická baskytara (prsty) |
34 | Electric Bass (pick) | elektrická baskytara (trsátkem) |
35 | Fretless Bass | bezpražcová baskytara |
36 | Slap Bass 1 | slap baskytara 1 |
37 | Slap Bass 2 | slap baskytara 2 |
38 | Synth Bass 1 | syntetická baskytara 1 |
39 | Synth Bass 2 | syntetická baskytara 2 |
Strings | smyčcové nástroje | |
40 | Violin | housle |
41 | Viola | viola |
42 | Cello | violoncello |
43 | Contrabass | kontrabas (arco) |
44 | Tremolo Strings | smyčce tremolo |
45 | Pizzicato Strings | smyčce pizzicato |
46 | Orchestral Harp | orchestrální harfa |
47 | Timpani | tympány |
soubory | ||
48 | String Ensemble | smyčcový soubor |
49 | String Ensemble Slow | smyčcový soubor (pomalé nasazení tónu) |
50 | SynthStrings 1 | syntetické smyčce 1 |
51 | SynthStrings 2 | syntetické smyčce 2 |
52 | Choir Aahs | sbor, vokál A |
53 | Voice Oohs | hlas U |
54 | Synth Voice | syntetický hlas |
55 | Orchestra Hit | orchestrální akcent |
žesťové dechové nástroje | ||
56 | Trumpet | trumpeta |
57 | Trombone | pozoun (trombon) |
58 | Tuba | tuba |
59 | Muted Trumpet | trumpeta s dusítkem |
60 | French Horn | lesní roh |
61 | Brass Section | žesťová sekce |
62 | Synth Brass 1 | syntetické žestě 1 |
63 | Synth Brass 2 | syntetické žestě 2 |
dřevěné dechové nástroje | ||
64 | Soprano Sax | sopránsaxofon |
65 | Alto Sax | altsaxofon |
66 | Tenor Sax | tenorsaxofon |
67 | Baritone Sax | barytonsaxofon |
68 | Oboe | hoboj |
69 | English Horn | anglický roh |
70 | Bassoon | fagot |
71 | Clarinet | klarinet |
píšťaly | ||
72 | Piccolo | pikola |
73 | Flute | příčná flétna |
74 | Recorder | zobcová flétna |
75 | Pan Flute | Panova flétna (syrinx) |
76 | Bottle Blow | foukání přes láhev |
77 | Shakuhachi | šakuhači |
78 | Whistle | píšťalka |
79 | Ocarina | okarina |
elektronické sólové zvuky | ||
80 | Square Wave | syntetické sólo 1 (čtvercový signál) |
81 | Sawtooth Wave | syntetické sólo 2 (pilový signál) |
82 | Synth calliope | syntetické sólo 3 (calliope) |
83 | Chiffer lead | syntetické sólo 4 (chiff, se vzduchem) |
84 | Charang | syntetické sólo 5 (charang) |
85 | Solo Voice | syntetické sólo 6 (hlas) |
86 | 5th Sawtooth Wave | syntetické sólo 7 (pilový signál s kvintou) |
87 | Bass & Lead | syntetické sólo 8 (bas + sólo) |
elektronické doprovodné zvuky | ||
88 | Fantasia | plocha 1 (fantazie) |
89 | Warm Pad | plocha 2 (teplá) |
90 | Polysynth | plocha 3 (polyfonní syntetizér) |
91 | Space Voice | plocha 4 (hlas vesmíru) |
92 | Bowed Glass | plocha 5 (hra na sklenice) |
93 | Metal Pad | plocha 6 (kovová) |
94 | Halo Pad | plocha 7 (halo) |
95 | Sweep Pad | plocha 8 (sweep) |
elektronické zvukové efekty | ||
96 | Ice Rain | FX1 (ledový déšť) |
97 | Soundtrack | FX 2 (soundtrack) |
98 | Crystal | FX 3 (křišťál) |
99 | Atmosphere | FX 4 (atmosféra) |
100 | Brightness | FX 5 (jas) |
101 | Goblin | FX 6 (goblins, skřítci) |
102 | Echo Drops | FX 7 (ozvěny) |
103 | Star Theme | FX 8 (sci-fi) |
etnické | ||
104 | Sitar | sitár |
105 | Banjo | bendžo |
106 | Shamisen | šamisen |
107 | Koto | koto |
108 | Kalimba | kalimba |
109 | Bagpipe | dudy |
110 | Fiddle | skřipky |
111 | Shanai | šenai |
perkusivní | ||
112 | Tinkle Bell | rolničky |
113 | Agogo | agogo |
114 | Steel Drums | ocelové bubny |
115 | Woodblock | ozvučná dřívka |
116 | Taiko Drum | buben taiko |
117 | Melodic Tom | melodický tom |
118 | Synth Drum | syntetický buben |
119 | Reverse Cymbal | činel pozpátku |
zvukové efekty | ||
120 | Guitar Fret Noise | zvuk kytarového pražce |
121 | Breath Noise | zvuk dechu |
122 | Seashore | příboj |
123 | Bird Tweet | ptačí zpěv |
124 | Telephone Ring | telefonní zvonek |
125 | Helicopter | vrtulník |
126 | Applause | potlesk |
127 | Gun Shot | výstřel |
Reference
- Scalex. MIDI - Musical Instruments Digital Interface. ZX Magazín. 1994, čís. 3–4/94, s. 33–36. ISSN 1210-4833.
Související články
Standard MIDI File (zkráceně SMF)
Externí odkazy
- Obrázky, zvuky či videa k tématu Musical Instrument Digital Interface na Wikimedia Commons
- Rozhraní MIDI na osobních počítačích: http://www.root.cz/…
- Audiozone – server o hudbě a zvuku: http://www.audiozone.cz/midi/
- MIDI Q&A and Discussion Forums (anglicky)
- Musical Instrument Digital Interface (anglicky)
- Association of Musical Electronics Industry (anglicky)
- MIDI Manufacturers Association (anglicky)
- The MIDI Show Control standard (anglicky)
- A good introduction to MIDI (anglicky)
- How MIDI Works (anglicky)
- Obecné MIDI (General MIDI), Standardní MIDI soubor: http://www-kiv.zcu.cz/~herout/…
- (.mid) Standard MIDI File Format: http://faydoc.tripod.com/formats/mid.htm
- MIDI interface pro zvukové karty PC: http://www.chd-el.cz/…
- MIDI Thru Box: http://www.noise.cz/…
- BRELS MIDI Editor (GNU/GPL)