MIDI

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. február 23-án felülvizsgált verziótól ; az ellenőrzések 29 szerkesztést igényelnek .

A MIDI ( English  Musical Instrument Digital Interface  – hangszerek digitális interfésze ) egy digitális hangrögzítési szabvány az elektronikus hangszerek közötti adatcsere-formátumhoz .

Az interfész lehetővé teszi olyan adatok egységes kódolását digitális formában, mint a gombok lenyomása, a hangerő és egyéb akusztikai paraméterek beállítása, hangszín , tempó , billentyű stb. kiválasztása, pontos időreferenciával. A kódolórendszer számos ingyenes parancsot tartalmaz, amelyeket a gyártók, programozók és felhasználók saját belátásuk szerint használhatnak. Ezért a MIDI interfész a zenelejátszás mellett lehetővé teszi más berendezések vezérlésének szinkronizálását is, mint például világítás, pirotechnika stb.

A MIDI parancsok sorozata bármely digitális adathordozóra írható fájl formájában, és bármely kommunikációs csatornán továbbítható. A lejátszó eszközt vagy programot MIDI szintetizátornak ( szekvenszernek ) hívják , és valójában egy automatikus hangszer.

Történelem

A XX. század 70-es éveinek végére a zenei szintetizátorok széles körben elterjedtek. Feszültségvezérelt hangfrekvencia-generátorok voltak. A szintetizátor billentyűzetén lévő gomb megnyomásával bekapcsolta a generátort, amelynek frekvenciáját ennek a gombnak a hangszínszabályzójából származó feszültség állította be. Az egyes oszcillátorok száma meghatározta az egyidejűleg megszólalható szintetizátor hangok számát. A szintetizátorok bizonyos modelljei hangjellemzőkkel és különleges speciális effektusokkal rendelkezhetnek. Lehetetlen volt a hangszintézis lehetséges lehetőségeinek teljes skáláját egyetlen analóg eszközön belül irányítani. Egy akkori zenész munkahelye több, egymástól eltérő szintetizátorból állhatott; nehéz volt egy ilyen „állatkerttel” dolgozni. A 80-as évek elején nyilvánvalóvá vált a heterogén szintetizátorok vezérlésének rugalmasságának növelésének igénye, és az elektronika fejlődése a probléma megoldásának útját javasolta: a digitális programvezérlést. A szintetizátorgyártók sikeresen megállapodtak a szintetizátorvezérlő interfész egységes szabványának kidolgozásában és támogatásában, amely 1982-ben jelent meg. [1] A szabvány ideológiája a kezelőszervek és a hangszintézis berendezések szétválasztását jelentette. A MIDI interfész tulajdonképpen a billentyűk és kezelőszervek helyzetének átvitelének eszközévé vált a zenei billentyűzetről a hangszintézis berendezésre. A zenész most több különböző típusú és gyártó szintetizátort vezérelhetett egyetlen billentyűzetről. Sőt, a digitális átviteli formátum lehetővé tette a berendezés kiegészítését szekvenszerekkel - olyan eszközökkel, amelyek tárolják a lejátszott dallamot. Mostantól a zenész felvehetett kompozíciókat vagy részeiket, keverhetett anélkül, hogy a hangminőség romlott volna, és az akkori kifinomult stúdiómagnókkal. A szabvány gyorsan népszerűvé vált. Fokozatosan új lehetőségekkel kiegészítve korunkban sem veszítette el relevanciáját. [2] [3] [4]

Hardver és szoftver szabvány

Az interfész fizikai szintje egy áramhurok (amely galvanikus leválasztást és biztonságot nyújt az eszközök egymáshoz csatlakoztatásakor). Az adó aktív, 5 mA, az áram jelenléte 0-t jelez, nincs áram - 1. Csatlakozó 5 tűs DIN 41524 . Aszinkron adó -vevő , adatátviteli sebesség 31250, 8-N-1 formátum. [5]

A készülékek kábelekkel vannak összekötve. A master eszköz adatkimenete (MIDI OUT csatlakozó) a slave eszköz bemenetéhez (MIDI IN csatlakozó) csatlakozik. Az adatátvitel a kábelen csak egy irányban történik, a mestertől a szolgáig (például a zenei billentyűzettől a szintetizátorig). A kétirányú adatátvitelhez egy második kábelre van szükség. [6]

A legtöbb MIDI eszköz nem másolja át az üzeneteket a bemenetről a kimenetre. Létezik egy harmadik típusú csatlakozó (MIDI THRU), amely megkettőzi a bemenetről érkező adatfolyamot. Ez a típusú csatlakozó lehetővé teszi tetszőleges számú szintetizátor csatlakoztatását egy láncba. [7] Azonban nem minden szintetizátor rendelkezik ilyen típusú csatlakozóval. Ezenkívül a MIDI eszközök kombinálhatók MIDI thru box ( hub ) segítségével, amelyek a bemeneti jelet több kimenetre továbbítják.

A szabvány leír egy hardveres interfészt , amely lehetővé teszi különböző gyártóktól származó elektronikus hangszerek és számítógépek csatlakoztatását, leírja a kommunikációs protokollokat az adatok egyik eszközről a másikra történő átvitelére. A MIDI eszközök a MIDI kommunikációs protokollt használó szoftveralkalmazásokkal tudnak kommunikálni. A megfelelő szoftveres MIDI - szekvenszer segítségével a külső MIDI-eszközök információkat küldhetnek a hangkártya szintetizátorának . A MIDI adatcsomagokon alapul, amelyek mindegyike egy-egy MIDI eseménynek felel meg ( angol.  MIDI-events ), a gombnyomástól az egyszerű szünetig, ezeket az eseményeket csatornák választják el egymástól. Egy összetett MIDI környezet sokféle hardvert tartalmazhat, ahol a rendszer minden része felelős a saját csatornáján zajló eseményekért. Alternatív megoldás az egyetlen szintetizátor , amely képes az összes csatornát önmagában vezérelni.

Zenei fájlformátum

Hangszer digitális interfész (MIDI)
Formátum típusa hangformátum
Weboldal midi.org/specific… ​(  angol)
 Médiafájlok a Wikimedia Commons oldalon

Más formátumoktól eltérően ez nem digitalizált hang , hanem parancskészletek (lejátszható hangjegyek, hangszerek hivatkozásai, megváltoztatható hangparaméterek értékei), amelyek a lejátszó eszköztől függően eltérően játszhatók le. A MIDI formátum, mint adatábrázolási formátum kényelme lehetővé teszi az adott akkordok szerint automatikusan rendeződő eszközök, valamint 3D hangvizualizációs alkalmazások megvalósítását. Ezenkívül az ilyen fájlok általában több nagyságrenddel kisebbek, mint a hasonló minőségű digitalizált hanganyagok.

A szabványos MIDI fájl (SMF - Standard MIDI File) egy speciálisan kialakított fájlformátum, amelyet egy szekvenszer által rögzített és/vagy végrehajtott adatok tárolására terveztek. A szekvenszer lehet számítógépes program vagy hardvermodul.

Ez a formátum tárolja a szabványos MIDI üzeneteket (vagyis az állapotbájtokat és a hozzájuk tartozó adatbájtokat), valamint az egyes üzenetekhez tartozó időbélyegeket vagy markereket (vagyis bájtsorozatokat, amelyek jelzik, hogy hány tetszőleges időegységet (impulzusokat, tickeket) kell várni, mielőtt a következő MIDI esemény végrehajtása). Ez a formátum lehetővé teszi a tempóról, az időfelbontásról, az egynegyed időtartamonkénti pipák számában (vagy másodpercenkénti időegységben, SMPTE formátumban ) kifejezett információk mentését, az időjelzéseket, a zenei billentyűkkel kapcsolatos információkat, valamint az üzletek nevét. sávokból és mintákból. A formátum lehetőséget biztosít több minta és sáv egy fájlba történő mentésére oly módon, hogy az alkalmazásprogramok a tárolt információk teljes készletéből kiválaszthassanak egyet, amely az alkalmazás számára érthető lesz.

Általában egy zeneszám analóg egy zenei résszel, például egy trombita szólamhoz. A minta analógja lehet a részek egész halmaza együtt, például egy trombita, dob, zongora stb. részeinek halmaza, amelyeket egy adott műben vagy annak egy részében használnak és egyidejűleg adnak elő.

A formátum kidolgozásakor lehetőség nyílt arra, hogy bármely szekvenszer úgy olvasson és írjon egy fájlt, hogy egyrészt az adatai ne vesszenek el, másrészt, hogy a formátum kellően rugalmas legyen, az alkalmazások konkrét információikat csak számukra érthető, de más alkalmazási programok számára érthetetlen fájlokba menteni, és a MIDI fájlok betöltésekor a más alkalmazási programok számára érthetetlen információk nem vezetnek félreértésekhez, hanem egyszerűen figyelmen kívül hagyják őket. Ebben az értelemben a MIDI fájlformátum összehasonlítható a szöveges információs formátumokkal. Különböző szekvenszer programok képesek a MIDI fájlok olvasására ugyanúgy, mint a különböző szövegszerkesztők az ASCII fájlokat, amelyek csak ennek a szerkesztőnek érthető segédinformációkat tartalmazhatnak. Az ASCII fájloktól eltérően azonban a MIDI fájlok digitális információkat tartalmaznak, ráadásul ezeket az információkat rekordokként tárolják, vagyis olyan bájtcsoportokként, amelyek saját fejlécet tartalmaznak, amelyek rekordazonosítóból és rekordhosszból állnak. Ezek a bejegyzések egymástól függetlenül formázhatók, betölthetők, figyelmen kívül hagyhatók stb. A rekordokkal való munkához az alkalmazási programok további, MIDI-fájlban rögzített információkat használnak fel. Például egy program "akarhat" tárolni egy zászlót, amely jelzi, hogy a felhasználó bekapcsolta a metronómot. Egy program beillesztheti ezt a jelzőt egy MIDI fájlba oly módon, hogy egy másik alkalmazás figyelmen kívül hagyja ezt a jelzőt. A jövőben talán bővül a meglévő MIDI formátum, és új lemeztípusok jelennek meg. A MIDI-fájlokkal való munkavégzésre szolgáló új programok az új típusú rekordokat is felismerik. A régebbi MIDI-fájlok azonban eredeti formájukban is lejátszhatók. A MIDI formátumot úgy tervezték meg, hogy a korábbi verziói kompatibilisek legyenek a bővítményeivel.

Mi az a rekord?

Az adatokat mindig rekordként tároljuk. Ugyanabban a MIDI-fájlban több különböző felvétel is létezhet. Minden bejegyzésnek saját mérete lehet, azaz a különböző bejegyzésekben lévő bájtok száma eltérő lehet. Az egy rekordban tárolt adatok bizonyos módon kapcsolódnak egymáshoz. A rekord lényegében egymáshoz kapcsolódó bájtok gyűjteménye.

Minden bejegyzés az azonosítójával kezdődik, amely négy betűből, azaz négy ASCII bájtból áll. Ez az azonosító jelzi, hogy a rekordban lévő adatbájtokban melyik rekordtípus szerepel. Az azonosítót követő négy bájt (mindegyik 8 bitből áll) egy 32 bites értéket alkot, amely jelzi ennek a bejegyzésnek a hosszát (vagy méretét). Minden bejegyzésnek ezzel a két mezővel kell kezdődnie: a bejegyzés azonosítójával és a bejegyzés méretével. Ez a két, mindössze 8 bájtot elfoglaló mező alkotja a bejegyzés fejlécét.

A rekord hossza nem tartalmazza a fejléc 8 bájtját. A hosszúságú bájtok egyszerűen a fejlécet követő bejegyzésben található bájtok számát jelzik.

Íme egy példa a fejlécre (itt a bájtok hexadecimálisan vannak ábrázolva):

4D 54 68 64 00 00 00 06

Vegye figyelembe, hogy a fejléc első négy bájtja az MThd-t alkotja (azaz a fejléc első négy bájtja az 'M', 'T', 'h' és 'd' betűk ASCII-értékei). A következő 4 bájt azt jelzi, hogy a fejlécet követő rekordban még 6 bájt lesz. Ezt a hat bájtot követnie kell a következő rekord fejlécének vagy a MIDI fájl végének.

Valójában minden MIDI fájl az MThd fejléccel kezdődik, és ez azt jelzi, hogy egy szabványos MIDI fájlról van szó).

MThd felvétele

Az MThd bejegyzés 6 bájt hosszú, és az MThd azonosítót és egy 32 bites számot (00 00 00 06) követi.

Nézzük meg közelebbről ezt a 6 bájtot az MThd bejegyzés 8 bájtos fejléce után.

Az adatok első két bájtja a MIDI-fájl formátumáról vagy típusáról tartalmaz információkat. A MIDI-fájloknak három különböző típusa (formátuma) létezik:

A következő két bájt határozza meg a fájlban tárolt sávok számát, ez a két bájt a NumTracks. Természetesen a 0 típusú fájloknál a NumTracks értéke mindig 1. A másik két típushoz más értékek is lehetségesek.

A fennmaradó két bájt jelzi az időfelbontás mértékét, vagyis az időimpulzusok (time ticks) számát negyed időtartamonként, amit angol szavakkal PPQN -nek neveznek . Például, ha a szekvenszer 96 ppqn értéket használ, akkor a rekord fejlécében a megfelelő mező hexadecimális értéke 00 60 lesz.

Ezzel szemben, ha a kérdéses fejléc mező első bájtja negatív, akkor a megfelelő formátum az SMPTE szabványt használja a PPQT szabvány helyett. Ebben az esetben az ideiglenes felbontás mező első bájtja -24, -25, -29 vagy -30, ami megfelel az SMPTE szabvány négy szabványos típusának. A második bájt (pozitív érték) a keretben lévő felbontás mértékét jelzi. A szabványos képkockafelbontás értéke 4 (MIDI időkód), 8, 10, 80 (SMPTE) vagy 100.

Ha a keretértékeket -25-re, a képkockán belüli felbontást pedig 40-re állítja, az időbeli felbontást ezredmásodperces időtartamra állíthatja be.

A következő példa egy teljes MThd típusú rekordra, a fejlécével együtt:

4D 54 68 64 MThd azonosító 00 00 00 06 Az MThd rekord hossza mindig 6 bájt 00 01 Ennek a MIDI-fájlnak a formátuma 1 00 02 Ez a fájl 2 MTrk típusú rekordot tartalmaz 00 60 Az impulzusszám negyedévenként 96.

MTrk rekord

Az MThd bejegyzést az MTrk bejegyzés követi. Az MThd felvételen kívül ez az egyetlen felvételtípus, amely jelenleg MIDI-fájlokhoz van definiálva. Ha a fájl valamilyen okból más típusú rekord azonosítóját tartalmazza, akkor ez a rekord valószínűleg egy másik program számára készült, és ezt a rekordot figyelmen kívül kell hagyni a fejlécében feltüntetett rekord hosszának megfelelően.

Az MTrk rekord MIDI adatokat és időbélyeg bájtokat, valamint opcionális információkat tartalmaz. Ezek az adatok egy sávra vonatkoznak. Nyilvánvaló, hogy a fájlban lévő MTrk bejegyzések számának meg kell egyeznie az MThd bejegyzésben megadott NumTracks értékkel.

Az MTrk rekord fejléce egy rekordazonosítóval kezdődik, amely négy ASCII bájtból áll 'M', 'T', 'r', 'k', amit a rekord hossza követ, azaz egy szám, amely megegyezik a rekord bájtjainak számával. rekord. A különböző sávok esetében az MTrk rekordok hossza eltérő lehet. (Például a Bach -verseny hegedűszólamát tartalmazó szám valószínűleg több adatot tartalmaz, mint egy olyan basszusszólam, amely ütemenként csak két hangot tartalmaz.)

Változó hosszúságú értékek – Esemény időbélyegei

A MIDI-fájlban lévő sáv ugyanaz, mint egy MIDI-szekvenszerben. A szekvenszer sáv eseménysorozatot tartalmaz. Például az első esemény lehet a C hang első oktávja. A második esemény a "mi" hangjegy harmadával magasabb ütése lehet. Ez a két esemény történhet egyszerre. A harmadik esemény a "hoz" megjegyzés eltávolítása lehet. Ez az esemény néhány ütemtel később következhet be az első esemény után (azaz a „előtte” hang néhány ütemtel az elvétele után el fog esni). Minden eseménynél meg van adva annak ideje, ebben az időpontban történik az esemény. Minden esemény egyetlen rekordon belül van a szekvenszer memóriájában, az időben történő előfordulásuk sorrendjében.

A MIDI-fájlban az esemény ideje az eseményt leíró adatbájtok elé kerül. Más szóval, az esemény időbélyege megelőzi az esemény leírását. Például, ha az első esemény 4 időintervallum múlva következik be (az időintervallum az MThd rekordban van beállítva) a lejátszás megkezdése után, akkor a megfelelő delta érték - az időintervallum értéke - 04 lesz. Ha a következő esemény Ezzel az első eseménnyel egyidejűleg következik be, akkor a delta ideje értéke 00. Így a delta idő elemi időintervallumokban kifejezett időtartam egy adott esemény és az azt megelőző esemény között.

Mivel a feltételezések szerint minden szám lejátszása a 0 időpontban kezdődik, az első esemény delta ideje 0 lesz.

A deltaidőket a rendszer bájtok sorozataként tárolja, amelyeket változó hosszúságú értékeknek nevezünk. Minden bájtnak csak az első 7 bitje van jelentőségteljes a delta idő meghatározásához. Ha a delta időt 32 bites halmazként fejezzük ki, akkor ezt a 4 bájtos értéket ki kell csomagolni négy 7 bites jelentős bájtból álló sorozat kibontásával (hasonlóan ahhoz, ahogyan ez a SYSEX üzenetek MIDI protokollon belüli továbbításánál történik. ). A delta idő értékétől függően a bájtok száma eltérő lehet. Ahhoz, hogy megjelöljük az utolsó bájtot ezen bájtok sorozatában, ennek az utolsó bájtnak a 7. bitjét kell tisztán hagyni (a legjelentősebb bit 0). Tehát, ha a delta idő 0 és 127 között van, akkor egyetlen bájtban is kifejezhető. A legnagyobb deltaidő értéke 0FFFFFFFF, az ilyen idő rögzítéséhez 4 bájt változó hosszúságú érték szükséges. A különböző delta idők változó hosszúságú értékei így nézhetnek ki (a delta időt 32 bites értékként fejezzük ki):

Idő delta Megfelelő változó hosszúságú érték

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 7F

Vegye figyelembe, hogy a változó hosszúságú értékek használata, azaz egy nagy érték bájtsorozatra osztása nem korlátozódik a delta időkre. A változó hosszúságú értékek MIDI-fájlokban és más esetekben használatosak.

Események

Az MTrk rekord első bájtjai (1. bájt vagy 1–4. bájt) határozzák meg az első esemény delta időértékét változó hosszúságú formátumban. Az ezt követő adatbájt a MIDI esemény első bájtja. Ezt a bájtot eseményállapot-byte-nak vagy aktuális MIDI-státuszbájtnak nevezzük. MIDI események esetén az esemény állapotbájtjait jelöli. Például, ha ez a bájt 0x90, akkor ez az esemény a Hit Note on MIDI Channel 0 esemény, vagy ha ez a bájt 0x23, akkor az előző esemény állapotbájtját kell elérni. Nyilvánvaló, hogy az MTrk rekord első MIDI eseményének tartalmaznia kell az állapotbájtokat. Az állapotbájtot egy vagy két adatbájt követi, az esemény típusától függően. Ezen adatbájtok után megkeresi a következő delta időértéket (változó hosszúságú értékként), és megkezdődik a következő esemény beolvasásának folyamata.

Különleges esetek azok a SYSEX üzenetek, amelyeknek a bájt állapota F0. A SYSEX események bármilyen hosszúságúak lehetnek. Az F0 állapotbájtot változó hosszúságú értékek sorozata követi. Kaphat egy 32 bites értéket, amely megegyezik a SYSEX eseményt alkotó bájtok számával. Ez a hossz nem tartalmazza az állapotbájtokat (F0).

Tekintsük a következő MIDI SYSEX eseményt példaként:

F0 7F 7F 04 01 7F 7F F7

Egy MIDI fájlban egy ilyen esemény a következő bájtsorozatként kerül tárolásra (kivéve az eseményt megelőző delta időt):

F0 07 7F 7F 04 01 7F 7F F7

Az FF állapotbájt nem MIDI eseményállapotként való használatra van fenntartva. Az FF bájtot egy másik bájt követi, amely jelzi, hogy az esemény milyen típusú nem MIDI eseményt ír le. Ez egyfajta második állapotbájt. Ezt a bájtot egy változó hosszúságú érték követi, amely jelzi, hogy az esemény hány bájtot tartalmaz. vagyis beállítja az esemény hosszát. A hossz nem tartalmazza az FF kezdőállapotú bájtokat, az eseménytípus bájtokat és az eseményhosszúság bájtokat. Ezt a speciális, nem MIDI üzenetet metaeseménynek nevezik. Néhány metaeseményt az alábbiakban ismertetünk. Eltérő rendelkezés hiányában egynél több metaesemény is elhelyezhető egy MTrk bejegyzésben, és ugyanaz a metaesemény többször is elhelyezhető ugyanabban a bejegyzésben. A metaesemények tetszőleges időbélyeggel rendelkezhetnek (delta idő). Mint minden MIDI-esemény, a metaesemények is rendelkeznek delta időkkel (időbélyegekkel), amelyek azt az időt jelzik, amely elválaszt egy adott MIDI-eseményt vagy metaeseményt az elődjétől, függetlenül attól, hogy az esemény MIDI-esemény vagy metaesemény. Így tetszőlegesen keverhetjük a MIDI eseményeket és a meta eseményeket.

Sorszám (rekord)

FF 00 02 ss ss

Ennek az opcionális metaeseménynek az MTrk rekord legelején, az első nem nulla időbélyeg előtt vagy az első esemény előtt kell megjelennie. Ez a metaesemény beállítja a sorszámot (rekordszámot) A két ss ss adatbájt a MIDI Cue üzenetben lévő adatoknak felel meg. A második típusú MIDI-fájlokban ezek a számok határozzák meg az egyes minták (vagy MTrk rekordok) számát, így a fájlban található dalok sorrendje MIDI Cue üzenettel vezérelhető. Ha az ss ss bájtokat kihagyjuk (ennek a metaüzenetnek a hossza 0 helyett 2), akkor az MTrk rekordszámok a fájlba írt sorrendben lesznek beállítva (az első MTrk az első sávnak felel meg stb.) egyetlen mintát tartalmazhat, csak az első MTrk rekordban tartalmazhat sorozatszám meta-üzenetet. Az első típusú több, különböző sorszámot tartalmazó irat önálló darabok gyűjteményének tekinthető.

Egy 2-es formátumú fájlban MTrk bejegyzésenként csak egy sorozatszámú metaüzenet használható, 0 vagy 1 formátumú fájlban csak egy sorszámú metaüzenet használható, és ennek a metaüzenetnek meg kell jelennie az első MTrk bejegyzésben.

Szöveg

FF 01 len szöveg

Ez a metaesemény tetszőleges mennyiségű szöveget tartalmaz bármilyen célból. A len érték tartalmazza a szöveges üzenet hosszát bájtokban. Az ilyen metaüzeneteket a legkényelmesebb egy MTrk bejegyzés elejére helyezni. Bár a rögzített szöveg bármilyen célra felhasználható, ne feledje, hogy vannak más meta szöveges üzenetek is, amelyek kifejezetten a zenekari hangszerek, dalszövegek, számcímek és egyebek jelzésére szolgálnak. Ez a metaesemény főként megjegyzések MIDI fájlokhoz való hozzáadására szolgál, várhatóan ezeket a megjegyzéseket figyelmen kívül hagyja a fájlok betöltésekor.

Vegye figyelembe, hogy a len értéke változó hosszúságú értékként van ábrázolva.

Meta esemény Copyright

FF 02 len szöveg

A szerzői jogi szöveg metaesemény a legkényelmesebben egy MTrk bejegyzés elejére kerülhet.

Vegye figyelembe, hogy a len értéke változó hosszúságú értékként van ábrázolva.

Sorozat neve/műsorszám neve

FF 03 len szöveg

Szöveges metaesemény, amely egy MIDI-szekvencia vagy műsorszám nevét tartalmazza. Ezt a metaeseményt célszerű az MTrk rekord elejére helyezni.

Vegye figyelembe, hogy a len értéke változó hosszúságú értékként van ábrázolva.

Eszköz

FF 04 len szöveg

Szöveges meta-esemény, amely tartalmazza az ezen a számon játszó hangszer nevét. A hangszer neve eltérhet magától a szám nevétől. Például egy szám címe lehet például „Lensky's Aria”, míg egy hangszer neve utalhat egy hangra, és tartalmazhatja a „ tenor ” jelentést.

A legkényelmesebb egy vagy több ilyen típusú metaeseményt az MTrk rekord elejére helyezni, mivel ezek az események olyan segédinformációkat hordoznak, amelyek tájékoztatják a felhasználót arról, hogy melyik hangszeren játsszák ezt a számot, valamint egyéb hasznos adatokat. Általában a számot játszó hangszer típusát meghatározó valós paraméterek MIDI Program Change típusú MIDI eseményekként tárolódnak egy fájlban, és az itt leírt metaesemények lehetővé teszik, hogy kényelmesen olvasható leírásokat adjon a felhasználónak, amely megfelel a konfigurációknak. MTrk-nyilvántartásban készült.

Vegye figyelembe, hogy a len értéke változó hosszúságú értékként van ábrázolva.

Szavak

FF 05 len szöveg

Szöveges metaesemény, amely egy énekmű szavait tartalmazza, amelyek egy adott zenei ütemre esnek. Egy "Word" metaeseménynek egyetlen szótagnyi szöveget kell tartalmaznia.

Vegye figyelembe, hogy a len értéke változó hosszúságú értékként van ábrázolva.

Marker

FF 06 len szöveg

Szöveges meta-esemény A marker egy adott zenei ütemre van beállítva. Ez az esemény ciklusok szervezésére használható, és jelezheti a hurok kezdő- és végpontját.

Vegye figyelembe, hogy a len értéke változó hosszúságú értékként van ábrázolva.

Cue Point

FF 07 len szöveg

A "belépési pont" szöveges meta-esemény használható egy külső adatfolyam belépési pontjának jelzésére, például egy digitális audiofájl kezdőpontjára. Ennek a metaeseménynek a szöveges értéke tartalmazhatja egy digitális hangot tartalmazó WAV-fájl nevét.

Vegye figyelembe, hogy a len értéke változó hosszúságú értékként van ábrázolva.

MIDI csatorna

FF 20 01 cc

Ez az opcionális metaesemény általában az MTrk üzenet elején található, az első nem nulla időbélyeg előtt és az első metaesemény előtt, kivéve a sorozatszám metaeseményt. Meta-esemény A „MIDI csatorna” beállítja annak a MIDI-csatornának az értékét, amelyhez az összes további meta-esemény és SYSEX-esemény társítva lesz. A cc adatbájt a MIDI csatorna száma, a 0 az első csatorna.

A MIDI specifikáció nem ad meg csatornaszámot a SYSEX eseményekhez és a metaeseményekhez. Ha egy 0 típusú fájl jön létre, akkor az összes SYSEX esemény és metaesemény ugyanazon a sávon van, és nehéz ezeket az eseményeket elosztani a megfelelő csatorna (hang) üzenetek között (például ha az 1. csatorna részt akarja kijelölni mint "Flute solo", a 2. csatorna része pedig "Pipe solo", akkor két "Track name" metaeseményt kell használnia ezeknek a neveknek a megadásához, de mivel mindkét szám ugyanazon a csatornán található, a „MIDI csatorna” metaüzenet az első sávnév meta üzenet előtt, amelyben a megfelelő csatorna számát kell feltüntetni, és a szám nevének második meta-üzenete elé helyezze el a MIDI csatorna számot jelző meta-üzenetét a második csatorna.

Egynél több MIDI-csatorna metaüzenet használható egyetlen MIDI-sávon, ha az adott sáv eseményeit több MIDI-csatorna között kell elosztani.

MIDI port

FF 21 01pp

Ez egy opcionális esemény, amely jellemzően egy MTrk rekord elején, az első nullától eltérő deltaidő előtt és az első MIDI esemény előtt található, amely meghatározza, hogy az MTrk üzenet eseményei melyik MIDI porthoz (vagy eszközhöz) vannak társítva. . A pp adatbájt a portszám, a nulla pp a rendszer első MIDI eszközének felel meg.

A MIDI specifikáció csak 16 csatornát biztosít bemeneti vagy kimeneti portonként (eszköz, csatlakozó, hangszer – a terminológia eltérő lehet) MIDI. Az egyes MIDI események MIDI csatornaszámát az esemény állapotbájtja tartalmazza, ahol a négy legkisebb jelentőségű bitet foglalja el. Így a csatornaszám mindig egy 0 és 15 közötti szám. Néha a rendszer lehetővé teszi, hogy több mint 16 MIDI csatornával dolgozzon, szükségessé válik a kevés MIDI csatorna által támasztott korlátok leküzdése, és a MIDI lehetőségeinek bővítése adatcsere, hatékonyabbá teheti az információcserét a külső MIDI eszközökkel, azaz lehetővé teszi a zenész számára, hogy több mint 16 csatornával dolgozzon. Néhány szekvenszer több mint 16 MIDI csatorna egyidejű be- és kimenetét is lehetővé teszi. Sajnos a MIDI protokoll nem ad lehetőséget 16-nál több MIDI csatorna használatára egy állapotbyte-on belül egy MIDI eseményben. Ezért egy további módszerre van szükség, hogy megkülönböztessük az első MIDI-porton az első csatornának megfelelő eseményeket azoktól az eseményektől, amelyek például a második MIDI-porton lévő első csatornának felelnek meg. A leírt meta-esemény lehetővé teszi a szekvenszer számára, hogy meghatározza, melyik MIDI portra küldje az adott MTrk üzenet eseményeit.

Egynél több "MIDI Port" meta-esemény megengedett egyazon MIDI sávon belül, ha egy adott időpontban módosítani szeretné a MIDI port értékét.

Pace

FF 51 03 tt tt tt

Ez az esemény tempóváltást jelez. A 3 bájtnyi adat tt tt tt határozza meg a tempót mikroszekundumban egy negyedhangban. Más szavakkal, a tempóérték (µs) megmondja, hogy az egyes "negyedhangok" meddig szóljanak. Ha tt tt tt = 07 A1 20, akkor minden negyed hangnak 07 A1 20 (vagy 500 000) mikroszekundumnak kell lennie. (Ellenőrizze a Windows számológépével tudományos módban). A zenészek jellemzően a tempót úgy fejezik ki, mint "minden percben (azaz időperiódusban) a negyedhangok összege". Ez pontosan az ellenkezője annak, ahogy a MIDI formátum kifejezi. A tempó MIDI formátumra konvertálásához (BPM - ütem per perc): BPM = 60000000 / (tt tt tt). Például tempó 120 BPM = 07 A1 20 mikroszekundum negyed hangonként. MEGJEGYZÉS: Ha a tempó nincs megadva, a rendszer alapértelmezés szerint 120 BPM-et feltételez.

SMPTE Offset

FF 54 05 h mn se fr ff

Egy MIDI sáv kezdési idejét (óra, perc, másodperc, képkockák, alkockák) rendeli hozzá az SMPTE szabvány szerint.

Time Signature ( méret )

FF 58 04 nn dd cc bb

A zenei méretet négy bájt adja meg. • nn és dd a számláló és a nevező a kottaírásban. A nevezőt a dd hatványa szerinti kettőként számítjuk ki. (dd = 2: 1/4; dd = 3: 1/8 stb.) • cc a MIDI órajelek számát fejezi ki egy metronóm kattanásában. • A bb a lejegyzett 32. hangok számát fejezi ki egy MIDI negyedhangban (24 MIDI órajel). Ez az esemény lehetővé teszi, hogy egy program összekapcsolja azt, amit a MIDI negyednek gondol, valami egészen mással. Például, ha 6/8-szor egy metronóm kattint minden 3. nyolcadik hangon és 24 óra negyedhangonként, az a következő esemény lenne: FF 58 04 06 03 18 08 MEGJEGYZÉS: • Ha nincs időaláírás megadva, az alapértelmezett érték 4/4 feltételezik. • A Time Signature csak a mérték kezdetén definiálható újra.

Key Signature ( tonalitás )

FF 59 02 sf mi

• sf = -7 7 lakásnál, -1 1 lakásnál stb., 0 C-dúr vagy természetes A-moll esetén, 1 élesnél 1 stb. • mi = 0 dúrnál, 1 mollnál.

A szám vége

FF2F00

Ez az esemény kötelező. Minden MTrk bejegyzés utolsó eseményének kell lennie. Ez egyértelműen jelzi az MTrk rekord végét. Minden MTrk-bejegyzéshez egyetlen "Sáv vége" meta-esemény engedélyezett.

A MIDI szintetizátor hangzásának javítása

A MIDI-fájlok egy számítógépre telepített szintetizátor ( szekvenszer ) parancskészlete , de a tracker modulokkal ellentétben nem hordoznak lejátszásra kész hangadatokat.

A Windows rendszerre alapértelmezés szerint telepített „Szoftverszintetizátor” hangja gyakran nem felel meg a felhasználónak (a hangbankjában található minták minősége miatt). A hangzás javításához választhat egy jobb hangminőségű bankot, vagy olyan szintetizátort, amely a hullámtól eltérő hangalkotási módot kínál.

Konvertálás MIDI-re

Különféle programok léteznek zenei felvételek MIDI parancsokká konvertálására . Forrásfájlként használható mind a WAV , mind az MP3 fájl , az audio CD - sáv , valamint a közvetlenül a mikrofonból érkező hang anélkül, hogy fájlba rögzítené . Egyes programok képesek felismerni a többszólamú , azaz sok hangot tartalmazó zenét. Egyes programokban a felismerés minőségének javítása érdekében használhatja a beépített zeneszerkesztőt .

MIDI kultúra

Lásd még

Jegyzetek

  1. MIDI részletesen. 1. rész – Alapok. . Letöltve: 2010. május 12. Az eredetiből archiválva : 2011. január 5..
  2. MIDI részletesen. 2. rész – Csatornaüzenetek. . Hozzáférés időpontja: 2016. február 8. Az eredetiből archiválva : 2016. február 15.
  3. MIDI részletesen. 3. rész – Rendszerüzenetek. . Hozzáférés időpontja: 2016. február 8. Az eredetiből archiválva : 2016. február 15.
  4. Cikkek a MIDI-ről . Hozzáférés időpontja: 2016. február 8. Az eredetiből archiválva : 2016. február 22.
  5. MIDI specifikáció . Hozzáférés időpontja: 2016. február 8. Az eredetiből archiválva : 2015. december 22.
  6. David Miles Huber. A MIDI kézikönyv  . - Carmel, Indiana, 1991. - ISBN 978-0672227578 .
  7. Jeffrey Hass. Harmadik fejezet : Hogyan működik a MIDI 2  . Archiválva az eredetiből 2015. június 17-én.

Linkek