MIDI ( anglicky Musical Instrument Digital Interface - digitální rozhraní hudebních nástrojů) je standard digitálního záznamu zvuku pro formát výměny dat mezi elektronickými hudebními nástroji .
Rozhraní umožňuje jednotně zakódovat v digitální podobě taková data, jako je stisknutí kláves, nastavení hlasitosti a dalších akustických parametrů, výběr témbru , tempa , tóniny atd., s přesným odkazem v čase. Kódovací systém obsahuje mnoho bezplatných příkazů, které mohou výrobci, programátoři a uživatelé použít podle svého uvážení. Proto MIDI rozhraní umožňuje kromě přehrávání hudby synchronizovat ovládání dalšího zařízení, jako je osvětlení, pyrotechnika atp.
Sekvence MIDI příkazů může být zapsána na jakékoli digitální médium ve formě souboru, přenášeného jakýmkoli komunikačním kanálem. Přehrávací zařízení nebo program se nazývá MIDI syntezátor ( sekvencer ) a je to ve skutečnosti automatický hudební nástroj.
Na konci 70. let 20. století se hudební syntezátory rozšířily. Byly to sady napěťově řízených generátorů audio frekvence. Stisknutím klávesy na klaviatuře syntezátoru se zapnul generátor, jehož frekvence byla nastavena napětím z tónového ovladače této klávesy. Počet jednotlivých oscilátorů určoval počet zvuků syntezátoru, které mohly znít současně. Specifické modely syntezátorů mohou mít zvukové vlastnosti a výrazné speciální efekty. Nebylo možné ovládat celou škálu potenciálních možností syntézy zvuku v rámci jediného analogového zařízení. Pracoviště tehdejšího hudebníka se mohlo skládat z několika různých syntezátorů; práce s takovou „zoo“ byla náročná. Počátkem 80. let byla zřejmá potřeba zvýšit flexibilitu řízení heterogenních syntezátorů a vývoj elektroniky navrhl způsob, jak problém vyřešit: digitální řízení programu. Výrobcům syntezátorů se úspěšně podařilo dohodnout na vývoji a podpoře jednotného standardu pro ovládací rozhraní syntezátoru, který se objevil v roce 1982. [1] Ideologie standardu znamenala oddělení ovládacích prvků a zařízení pro syntézu zvuku. Rozhraní MIDI se ve skutečnosti stalo prostředkem pro přenos polohy kláves a ovládacích prvků z hudební klaviatury do zařízení pro syntézu zvuku. Nyní mohl hudebník ovládat několik syntezátorů různých typů a výrobců z jedné klávesnice. Formát digitálního přenosu navíc umožnil doplnit vybavení o sekvencery - zařízení, která ukládají hranou melodii. Nyní mohl hudebník nahrávat skladby nebo jejich části, mixovat bez ztráty kvality zvuku a používat na tehdejší dobu sofistikované studiové magnetofony. Standard rychle získal popularitu. Postupně doplňováno o nové příležitosti a v naší době neztratilo svůj význam. [2] [3] [4]
Fyzickou úrovní rozhraní je proudová smyčka (která zajišťuje galvanické oddělení a bezpečnost při vzájemném propojování zařízení). Vysílač je aktivní, 5 mA, přítomnost proudu indikuje 0, žádný proud - 1. Konektor 5-pin DIN 41524 . Asynchronní transceiver , přenosová rychlost 31250, formát 8-N-1. [5]
Zařízení jsou propojena kabely. Datový výstup hlavního zařízení (konektor MIDI OUT) je připojen ke vstupu podřízeného zařízení (konektor MIDI IN). Data jsou přenášena po kabelu pouze jedním směrem, od hlavního k podřízenému (například z hudební klaviatury do syntezátoru). Obousměrný přenos dat vyžaduje druhý kabel. [6]
Většina MIDI zařízení nekopíruje zprávy ze vstupu na výstup. Existuje ještě třetí typ konektoru (MIDI THRU), který duplikuje datový tok ze vstupu. Tento typ konektoru umožňuje připojit libovolný počet syntezátorů v řetězci. [7] Tento typ konektoru však nemají všechny syntezátory. Kromě toho lze MIDI zařízení kombinovat pomocí MIDI thru boxů ( rozbočovačů ), které přenášejí vstupní signál na více výstupů.
Norma popisuje hardwarové rozhraní , které umožňuje propojit elektronické hudební nástroje a počítače různých výrobců, popisuje komunikační protokoly pro přenos dat z jednoho zařízení do druhého. MIDI zařízení mohou komunikovat se softwarovými aplikacemi pomocí komunikačního protokolu MIDI. Pomocí vhodného softwarového MIDI sekvenceru mohou externí MIDI zařízení posílat informace do syntezátoru zvukové karty . MIDI je založeno na datových paketech, z nichž každý odpovídá MIDI události ( angl. MIDI-events ), od stisknutí klávesy po jednoduchou pauzu, tyto události jsou odděleny kanály. Komplexní MIDI prostředí může zahrnovat různé hardware, přičemž každá část systému je zodpovědná za události na svém příslušném kanálu. Alternativou by byl jediný syntezátor , který může ovládat všechny kanály sám.
Digitální rozhraní hudebních nástrojů (MIDI) | |
---|---|
Typ formátu | audio formát |
webová stránka | midi.org/specific… ( anglicky) |
Mediální soubory na Wikimedia Commons |
Na rozdíl od jiných formátů se nejedná o digitalizovaný zvuk , ale o sady příkazů (hratelné noty, odkazy na hrací nástroje, hodnoty parametrů zvuku, které lze měnit), které lze přehrát různě v závislosti na přehrávacím zařízení. Pohodlí formátu MIDI jako formátu reprezentace dat umožňuje implementaci zařízení, která se automaticky řadí podle daných akordů, stejně jako aplikace pro 3D vizualizaci zvuku. Kromě toho jsou takové soubory zpravidla o několik řádů menší než digitalizovaný zvuk srovnatelné kvality.
Standardní MIDI soubor (SMF - Standard MIDI File) je speciálně navržený formát souboru určený k ukládání dat zaznamenaných a/nebo spuštěných sekvencerem, sekvencerem může být buď počítačový program, nebo hardwarový modul.
Tento formát ukládá standardní MIDI zprávy (tj. stavové bajty a jim odpovídající datové bajty), jakož i časové značky nebo značky pro každou zprávu (tj. sekvence bajtů udávající, o kolik libovolných jednotek času (pulzů, tiků) se má čekat, než provedení další MIDI události). Tento formát umožňuje ukládat informace o tempu, časovém rozlišení, vyjádřené v počtu ticků za čtvrtinu trvání (nebo v časových jednotkách za sekundu, ve formátu SMPTE ), taktu, informace o hudebních klíčích a také názvy obchodů. stop a vzorů.. Formát poskytuje možnost uložení několika vzorů a stop do jednoho souboru tak, aby si aplikační programy mohly z celé sady uložených informací vybrat takovou, která bude pro tuto aplikaci srozumitelná.
Stopa je obvykle analogická k hudební části, jako je například část trubky. Obdobou patternu může být celý soubor partů braný dohromady, např. sada partů trubky, bicích, klavíru atd., které jsou použity v daném díle nebo jeho části a jsou provedeny současně.
Při vývoji formátu bylo možné, aby jakýkoli sekvencer četl a zapisoval soubor tak, aby na jedné straně nedocházelo ke ztrátě dat a na druhé straně, aby byl formát dostatečně flexibilní, mohou aplikace ukládat jejich konkrétní informace do souborů, které jsou srozumitelné pouze jim, ale nesrozumitelné pro jiné aplikační programy, a při načítání MIDI souborů nevedou informace nesrozumitelné pro jiné aplikační programy k nedorozuměním, ale jsou jednoduše ignorovány. V tomto smyslu lze formát souboru MIDI přirovnat k formátům textových informací. Různé programy sekvencerů jsou schopny číst soubory MIDI stejným způsobem, jakým různé textové editory čtou soubory ASCII , které mohou obsahovat pomocné informace srozumitelné pouze tomuto editoru. Ale na rozdíl od souborů ASCII obsahují soubory MIDI digitální informace a kromě toho jsou tyto informace uloženy jako záznamy, to znamená skupiny bajtů, které obsahují vlastní záhlaví, sestávající z identifikátoru záznamu a délky záznamu. Tyto záznamy lze formátovat, načítat, ignorovat atd. nezávisle na sobě. Pro práci se záznamy používají aplikační programy další informace zaznamenané v souboru MIDI. Například, program může "chtít" uložit příznak indikující, že uživatel nastavil metronom jako zapnutý. Program může vložit tento příznak do souboru MIDI takovým způsobem, že jiný aplikační program může tento příznak ignorovat bez pozornosti. V budoucnu možná dojde k rozšíření stávajícího formátu MIDI a objeví se nové typy záznamů. Nové programy pro práci s MIDI soubory rozpoznají i nové typy záznamů. Starší MIDI soubory však lze přehrávat v jejich původní podobě. Formát MIDI je navržen tak, aby jeho dřívější verze byly kompatibilní s jeho rozšířeními.
Data jsou vždy uložena jako záznamy. Ve stejném MIDI souboru může koexistovat několik různých nahrávek. Každá položka může mít svou vlastní velikost, tj. počet bajtů v různých položkách se může lišit. Data uložená v jednom záznamu spolu určitým způsobem souvisí. Záznam je v podstatě sbírka vzájemně propojených bajtů.
Každý záznam začíná svým identifikátorem, který se skládá ze čtyř písmen, tedy čtyř ASCII bajtů. Tento identifikátor udává, který typ záznamu je zastoupen v datových bajtech obsažených v záznamu. Čtyři bajty, které následují za identifikátorem (každý se skládá z 8 bitů), tvoří 32bitovou hodnotu udávající délku (nebo velikost) tohoto záznamu. Všechny položky musí začínat těmito dvěma poli: ID položky a velikost položky. Tato dvě pole, zabírající pouze 8 bajtů, tvoří záhlaví záznamu.
Délka záznamu nezahrnuje 8 bajtů záhlaví. Byty délky jednoduše udávají počet bajtů v položce, které následují za záhlavím.
Zde je příklad záhlaví (zde jsou bajty reprezentovány v šestnáctkové soustavě):
4D 54 68 64 00 00 00 06Všimněte si, že první čtyři bajty záhlaví tvoří MThd (tj. první čtyři bajty záhlaví jsou ASCII hodnoty písmen 'M', 'T', 'h' a 'd'). Další 4 bajty nám říkají, že v záznamu po záhlaví bude dalších 6 bajtů. Těchto šest bajtů musí být následováno záhlavím dalšího záznamu nebo koncem MIDI souboru.
Ve skutečnosti všechny MIDI soubory začínají hlavičkou MThd a tato skutečnost naznačuje, že máme co do činění se standardním MIDI souborem).
Záznam MThd je dlouhý 6 bajtů a následuje za identifikátorem MThd a 32bitovým číslem (00 00 00 06).
Podívejme se blíže na těchto 6 bajtů následujících po 8bajtovém záhlaví v položce MThd.
První dva bajty dat obsahují informace o formátu nebo typu souboru MIDI. Existují tři různé typy (formáty) souborů MIDI:
Další dva bajty definují počet stop uložených v souboru, tyto dva bajty jsou označeny jako NumTracks. Pro soubory typu 0 je přirozeně hodnota NumTracks vždy 1. Pro další dva typy jsou možné jiné hodnoty.
Zbývající dva bajty označují množství časového rozlišení, tj. počet časových impulsů (časových tiků) za čtvrtletí trvání, což je anglickými slovy zkráceno jako PPQN . Pokud například váš sekvencer používá 96 ppqn, pak bude mít odpovídající pole v záhlaví záznamu hexadecimální hodnotu 00 60.
Naopak, pokud je první bajt příslušného pole záhlaví záporný, pak odpovídající formát používá standard SMPTE namísto standardu PPQT. V tomto případě je první bajt pole dočasného rozlišení -24, -25, -29 nebo -30, což odpovídá čtyřem standardním typům ve standardu SMPTE. Druhý bajt (kladná hodnota) udává velikost rozlišení v rámci. Standardní hodnoty rozlišení snímků jsou 4 (časový kód MIDI), 8, 10, 80 (SMPTE) nebo 100.
Nastavením hodnot snímků na -25 a hodnoty rozlišení uvnitř snímku na 40 můžete nastavit hodnotu časového rozlišení na milisekundu.
Následuje příklad celého záznamu typu MThd, včetně jeho záhlaví:
4D 54 68 64 MThd identifikátor 00 00 00 06 MThd délka záznamu je vždy 6 bajtů 00 01 Formát tohoto MIDI souboru 1 00 02 Tento soubor obsahuje 2 záznamy typu MTrk 00 60 Pulsy za čtvrtletí je 96.Za záznamem MThd následuje záznam MTrk. Toto je jediný typ záznamu jiný než záznam MThd, který je aktuálně definován pro soubory MIDI. Pokud soubor z nějakého důvodu obsahuje identifikátor pro nějaký záznam jiného typu, pak je tento záznam pravděpodobně vytvořen pro nějaký jiný program a tento záznam by měl být ignorován v souladu s délkou tohoto záznamu uvedenou v jeho záhlaví.
Záznam MTrk obsahuje MIDI data a bajty časových razítek a také volitelné informace. Tento údaj se vztahuje na jednu stopu. Je zřejmé, že počet položek MTrk v souboru musí odpovídat hodnotě NumTracks uvedené v položce MThd.
Záhlaví záznamu MTrk začíná identifikátorem záznamu, což jsou čtyři ASCII bajty 'M', 'T', 'r', 'k', za nimiž následuje délka záznamu, tj. číslo rovné počtu bajtů v záznam. Pro různé stopy mohou být délky záznamů MTrk různé. (Například skladba obsahující houslový part z Bachova koncertu bude pravděpodobně obsahovat více dat než skladba obsahující basový part, který má pouze dvě noty na takt.)
Hodnoty proměnné délky - Časová razítka událostí
Stopa v MIDI souboru je stejná jako stopa v MIDI sekvenceru. Stopa sekvenceru obsahuje sekvenci událostí. První událostí může být například první oktáva tónu C. Druhou událostí by mohlo být udeření noty „mi“ o třetinu výše. Tyto dvě události se mohou stát současně. Třetí událostí může být odstranění poznámky „to“. Tato událost se může objevit o několik úderů později po první události (tj. zvuk „před“ bude vynechán několik úderů poté, co byl proveden). U každé události je uveden její čas, v tomto okamžiku událost nastane. Všechny události jsou organizovány v rámci jednoho záznamu v paměti sekvenceru v pořadí jejich výskytu v čase.
V MIDI souboru je čas události umístěn před datovými bajty, které popisují samotnou událost. Jinými slovy, časové razítko události předchází popisu události. Pokud například první událost nastane 4 časové intervaly (časový interval je nastaven v záznamu MThd) po zahájení přehrávání, pak se odpovídající hodnota delta - hodnota časového intervalu - nastaví na 04. Pokud další událost nastane současně s touto první událostí, pak hodnota jejího časového delta je 00. Čas delta je tedy doba trvání, vyjádřená v elementárních časových intervalech, mezi danou událostí a její předchozí událostí.
Protože se předpokládá, že všechny stopy začnou hrát v čase 0, bude delta čas první události 0.
Delta časy jsou uloženy jako sekvence bajtů, které se nazývají hodnoty s proměnnou délkou. Pouze prvních 7 bitů každého bytu je významných pro určení delta času. Pokud je delta čas vyjádřen jako množina 32 bitů, pak je nutné tuto 4bajtovou hodnotu rozbalit extrakcí sekvence čtyř 7bitových významných bajtů (podobně jako se to dělá pro přenos zpráv SYSEX v rámci protokolu MIDI ). V závislosti na hodnotě delta času může být počet bajtů různý. Aby bylo možné označit poslední bajt v posloupnosti těchto bajtů, je nutné ponechat 7. bit tohoto posledního bajtu volný (nejvýznamnější bit je 0). Pokud je tedy delta čas mezi 0 a 127, pak může být vyjádřen v jednom jediném bajtu. Největší delta čas je nastaven na 0FFFFFFFF, k zaznamenání takového času je potřeba hodnota proměnné délky 4 bajty. Hodnoty proměnné délky pro různé časy delta mohou vypadat takto (čas delta je vyjádřen jako 32bitová hodnota):
Časová delta Odpovídající hodnota proměnné délky
00000000 00 00000040 40 0000007F 7F 00000080 81 00 00002000 C0 00 00003FFFFF 7F 00004000 81 80 00 00100000 C0 80 00 001FFFFF FF FF 7F 00200000 81 80 80 00 08000000 C0 80 80 00 0FFFFFFFF FF FF FF 7FVšimněte si, že použití hodnot s proměnnou délkou, tj. rozdělení velké hodnoty do sekvence bajtů, není omezeno na případ delta časů. Hodnoty proměnné délky se používají v souborech MIDI a v jiných případech.
První bajty (byte 1 nebo bajty 1 až 4) záznamu MTrk určují hodnotu delta času pro první událost ve formátu s proměnnou délkou. Datový bajt následující po této hodnotě je prvním bytem MIDI události. Tento bajt se nazývá stavový bajt události nebo aktuální stavový bajt MIDI. U událostí MIDI představuje stavové bajty této události. Pokud je například tento bajt 0x90, pak je tato událost událostí Hit Note na MIDI Channel 0. Nebo, pokud je tento bajt 0x23, pak je nutné přistupovat ke stavovému bajtu předchozí události. Je zřejmé, že první MIDI událost v záznamu MTrk musí obsahovat stavové bajty. Za stavovým bajtem následuje jeden nebo dva datové bajty v závislosti na typu události. Po těchto datových bajtech je nalezena další hodnota delta času (jako hodnota proměnné délky) a začíná proces čtení další události.
Zvláštním případem jsou zprávy SYSEX, které mají bajtový stav F0. Události SYSEX mohou mít libovolnou délku. Po stavovém byte F0 následuje sekvence hodnot proměnné délky. Můžete získat 32bitovou hodnotu, která se rovná počtu bajtů, které následují a tvoří událost SYSEX. Tato délka nezahrnuje stavové bajty (F0).
Jako příklad zvažte následující událost MIDI SYSEX:
F0 7F 7F 04 01 7F 7F F7V MIDI souboru bude taková událost uložena jako následující sekvence bajtů (kromě delta času předcházejícího události):
F0 07 7F 7F 04 01 7F 7F F7Stavový bajt FF je vyhrazen pro použití jako stav non-MIDI události. Za bajtem FF následuje další bajt označující, jaký typ neMIDI události událost popisuje. Toto je druh druhého stavového bajtu. Za tímto bajtem následuje hodnota proměnné délky, která udává, kolik bajtů je v události obsaženo. to znamená, že nastavuje délku události. Délka nezahrnuje bajty počátečního stavu FF, bajt typu události, bajty délky události. Tato speciální non-MIDI zpráva se nazývá meta událost. Některé z meta událostí jsou popsány níže. Pokud není uvedeno jinak, může být v záznamu MTrk umístěna více než jedna metaudálost a stejná metaudálost může být umístěna ve stejném záznamu více než jednou. Meta události mohou mít libovolná časová razítka (časy delta). Stejně jako všechny MIDI události mají meta události delta časy (časová razítka), které označují množství času, které odděluje danou MIDI událost nebo meta událost od jejího předchůdce, bez ohledu na to, zda se jedná o událost MIDI nebo meta událost. Takto můžeme libovolně míchat MIDI události a meta události.
Tato volitelná metaudálost se musí objevit na samém začátku záznamu MTrk, před prvním nenulovým časovým razítkem nebo před první událostí. Tato meta událost nastavuje pořadové číslo (číslo záznamu) Dva datové bajty ss ss odpovídají datům ve zprávě MIDI Cue. V MIDI souborech druhého typu tato čísla definují čísla každého patternu (nebo záznamu MTrk), takže sekvence skladeb obsažených v souboru může být řízena zprávou MIDI Cue. Pokud jsou vynechány bajty ss ss (délka této meta zprávy je 0 místo 2), pak jsou čísla záznamu MTrk nastavena v pořadí, v jakém jsou zapsána v souboru (první MTrk odpovídá první stopě atd.) obsahovat jeden vzor, může obsahovat meta-zprávu pořadového čísla pouze v prvním záznamu MTrk. Několik souborů prvního typu, které obsahují různá pořadová čísla, lze považovat za kolekce samostatných kusů.
Na jeden záznam MTrk v souboru formátu 2 lze použít pouze jednu meta zprávu pořadového čísla. V souboru formátu 0 nebo formátu 1 lze použít pouze jednu meta zprávu pořadového čísla a tato meta zpráva se musí objevit v prvním záznamu MTrk.
Tato meta událost obsahuje libovolné množství textu pro jakýkoli účel. Hodnota len obsahuje délku textové zprávy v bajtech. Nejpohodlnější je umístit takové meta zprávy na začátek položky MTrk. Zatímco nahraný text lze použít pro jakýkoli účel, uvědomte si, že existují další meta textové zprávy, které jsou speciálně navrženy tak, aby označovaly orchestrální nástroje, texty písní, názvy skladeb a další. Tato meta událost je hlavně pro přidávání komentářů k MIDI souboru, očekává se, že tyto komentáře budou při načítání souborů ignorovány.
Všimněte si, že hodnota len je reprezentována jako hodnota proměnné délky.
Metaudálost s textem copyrightu je nejvýhodněji umístěna na začátek záznamu MTrk.
Všimněte si, že hodnota len je reprezentována jako hodnota proměnné délky.
Textová meta událost obsahující název MIDI sekvence nebo stopy. Tuto metaudálost je vhodné umístit na začátek záznamu MTrk.
Všimněte si, že hodnota len je reprezentována jako hodnota proměnné délky.
Textová metaudálost obsahující název nástroje, který hraje tuto stopu. Název nástroje se může lišit od názvu samotné stopy. Například název skladby může být, řekněme, „Lensky's Aria“, zatímco název nástroje může odkazovat na hlas a obsahovat význam „ tenor “.
Nejvýhodnější je umístit jednu nebo více metaudálostí tohoto typu na úplný začátek záznamu MTrk, protože tyto události nesou pomocné informace, které informují uživatele o tom, který nástroj tuto stopu hraje, a další užitečné údaje. Obvykle jsou skutečné parametry, které určují typ nástroje hrajícího stopu, uloženy v souboru jako MIDI události typu MIDI Program Change a zde popsané meta události vám umožní poskytnout uživateli pohodlně čitelné popisy, které odpovídají konfiguracím. proveden v záznamech MTrk.
Všimněte si, že hodnota len je reprezentována jako hodnota proměnné délky.
Textová metaudálost obsahující slova vokálního díla, která spadají do konkrétního hudebního rytmu. Jedna metaudálost "Slovo" musí obsahovat jednu jedinou slabiku textu.
Všimněte si, že hodnota len je reprezentována jako hodnota proměnné délky.
Textová metaudálost Značka je nastavena na konkrétní hudební rytmus. Tuto událost lze použít k organizaci smyček a může označovat počáteční a koncové body smyčky.
Všimněte si, že hodnota len je reprezentována jako hodnota proměnné délky.
Textová metaudálost "vstupní bod" může být použita k označení vstupního bodu externího datového toku, jako je počáteční bod digitálního zvukového souboru. Textová hodnota této metaudálosti může obsahovat název souboru WAV obsahujícího digitální zvuk.
Všimněte si, že hodnota len je reprezentována jako hodnota proměnné délky.
Tato volitelná meta událost se obvykle nachází na začátku zprávy MTrk, před prvním nenulovým časovým razítkem a před první meta událostí, s výjimkou meta události pořadového čísla. Meta-událost „MIDI channel“ nastavuje hodnotu MIDI kanálu, se kterým budou spojeny všechny následující meta-události a události SYSEX. Datový bajt cc je číslo MIDI kanálu, 0 je první kanál.
Specifikace MIDI nespecifikuje číslo kanálu pro události SYSEX a meta události. Pokud je vytvořen soubor typu 0, pak jsou všechny události SYSEX a meta události na stejné stopě a je obtížné tyto události distribuovat mezi odpovídající zprávy kanálu (hlasové) (například pokud chcete označit část kanálu 1 jako „Flute solo“ a část kanálu 2 jako „Pipe solo“, budete muset pro zadání těchto názvů použít dvě meta události „Název stopy“, ale protože se obě tyto stopy nacházejí na stejném kanálu, musíte zadat meta zprávu „MIDI channel“ před první meta zprávu názvu stopy, ve které chcete uvést číslo odpovídajícího kanálu, a před druhou meta-zprávu názvu stopy umístěte meta-zprávu MIDI kanálu s uvedením čísla. druhého kanálu.
Na jedné MIDI stopě lze použít více než jednu meta zprávu MIDI kanálu, pokud je třeba události této stopy distribuovat mezi více MIDI kanálů.
Toto je volitelná událost, která se obvykle nachází na začátku záznamu MTrk, před prvním nenulovým delta časem a před první událostí MIDI, která určuje, ke kterému MIDI portu (nebo zařízení) jsou události této zprávy MTrk přidruženy. . Datový bajt pp je číslo portu, nula pp odpovídá prvnímu MIDI zařízení v systému.
Specifikace MIDI poskytuje pouze 16 kanálů na vstupní nebo výstupní port (zařízení, konektor, nástroj - terminologie se může lišit) MIDI. Číslo MIDI kanálu každé MIDI události je obsaženo ve stavovém bajtu události, kde zabírá čtyři nejméně významné bity. Číslo kanálu je tedy vždy číslo mezi 0 a 15. Někdy systém umožňuje pracovat s více než 16 MIDI kanály, je nutné překonat omezení vyplývající z malého počtu MIDI kanálů a rozšířit možnosti MIDI výměna dat, zefektivňuje výměnu informací s externími MIDI zařízeními, tj. umožňuje hudebníkovi pracovat s více než 16 kanály. Některé sekvencery také umožňují vstup a výstup více než 16 MIDI kanálů současně. Bohužel MIDI protokol neposkytuje možnost použití více než 16 MIDI kanálů v rámci stavového bytu v MIDI události. Proto je zapotřebí další metoda pro rozlišení mezi událostmi, které odpovídají prvnímu kanálu na prvním MIDI portu, od událostí, které odpovídají, řekněme, prvnímu kanálu na druhém MIDI portu. Popsaná meta-událost umožňuje sekvenceru určit, na který MIDI port má odeslat události dané zprávy MTrk.
Je povoleno mít více než jednu meta-událost „MIDI Port“ ve stejné MIDI stopě, pokud chcete změnit hodnotu MIDI portu v určitém okamžiku.
Tato událost indikuje změnu tempa. 3 bajty dat tt tt tt definují tempo v mikrosekundách ve čtvrťové notě. Jinými slovy, hodnota tempa (µs) vám říká, jak dlouho by měla znít každá ze „čtvrtinových not“. Pokud tt tt tt = 07 A1 20, pak každá čtvrťová nota musí mít trvání 07 A1 20 (nebo 500 000) mikrosekund. (Zkontrolujte to pomocí kalkulačky Windows ve vědeckém režimu). Obvykle hudebníci vyjadřují tempo jako „součet čtvrťových not za každou minutu (tj. časové období)“. To je přesný opak toho, jak to vyjadřuje formát MIDI. Pro převod tempa do formátu MIDI (BPM - počet úderů za minutu): BPM = 60000000 / (tt tt tt). Například tempo 120 BPM = 07 A1 20 mikrosekund na čtvrťovou notu. POZNÁMKA: Pokud tempo není definováno, předpokládá se standardně 120 BPM.
FF 54 05 h mn se fr ff
Přiřadí čas začátku (hodiny, minuty, sekundy, snímky, dílčí snímky) MIDI stopy podle standardu SMPTE.
FF 58 04 nn dd cc bb
Hudební velikost je dána čtyřmi bajty. • nn a dd jsou v notovém zápisu čitatel a jmenovatel. Jmenovatel se vypočítá jako dva na mocninu dd. (dd = 2: 1/4; dd = 3: 1/8 atd.) • cc vyjadřuje počet MIDI hodin při kliknutí metronomu. • bb vyjadřuje počet not zapsaných 32. not v MIDI čtvrťové notě (24 MIDI hodin). Tato událost umožňuje programu spojit to, co MIDI považuje za čtvrtletí, s něčím úplně jiným. Například 6/8 taktu s kliknutím metronomu každé 3 osminové tóny a 24 hodin na čtvrťovou notu by byla následující událost: FF 58 04 06 03 18 08 POZNÁMKA: • Pokud není definován žádný časový podpis, výchozí hodnota 4/4 se předpokládá. • Časový podpis lze předefinovat pouze na začátku taktu.
FF 59 02 sf mi
• sf = -7 pro 7 bytů, -1 pro 1 byt atd., 0 pro C dur nebo přirozenou a moll, 1 pro 1 ostrý atd. • mi = 0 pro dur, 1 pro moll .
Tato událost je povinná. Musí to být poslední událost každého záznamu MTrk. Je to výslovná indikace konce záznamu MTrk. Pro každý záznam MTrk je povolena jedna metaudálost „End of Track“.
MIDI soubory jsou sada příkazů pro syntetizér ( sekvencer ) nainstalovaný v počítači, ale nenesou audio data připravená k přehrávání, na rozdíl od sledovacích modulů.
Zvuk „Softwarového syntetizéru“ instalovaného ve výchozím nastavení ve Windows uživateli často nevyhovuje (kvůli kvalitě vzorků v jeho bance zvuků). Pro vylepšení zvuku si můžete vybrat banku s kvalitnějšími zvuky, nebo syntezátor s jiným způsobem tvorby zvuku než je vlna.
Existují různé programy pro převod hudebních nahrávek do MIDI příkazů. Jako zdrojové soubory lze použít jak soubory WAV , tak soubory MP3 , zvukové CD stopy a také zvuk vycházející přímo z mikrofonu, aniž by byl zaznamenán do souboru . Některé programy jsou schopny rozpoznat polyfonní hudbu, tedy hudbu obsahující mnoho hlasů. Chcete-li zlepšit kvalitu rozpoznávání v některých programech, můžete použít vestavěný hudební editor .
![]() | |
---|---|
V bibliografických katalozích |