Cs. Kádár Péter - XXI. századi Diszkónika, 256. Jött már üzi?

Immár könyvtárnyi irodalma van annak, hogy az internetes kommunikáció alapvetően változtatta meg a viselkedésünket és a kapcsolatainkat, hiszen ha nem kapunk sűrűn üziket, magányosnak érezzük magunkat, és elbizonytalanodunk.

A midi alapvetően változtatta meg a zene készítésének folyamatát és a muzsikusok viszonyát az elektronikus hangszerekhez. A midivel valósult meg a zenészek nagy álma: az elektronikus hangszerek olcsó és egyszerű vezérlése, s miként azt már tudod, a midi adatokat üzeneteknek hívjuk. A továbbiakban az olyan eszközt, amelyik midi kódokat böffent ki magából, adónak, amelyik pedig értelmezi, felhasználja e kódokat, vevőnek hívjuk.

A midi üziket öt alaptípusba sorolhatjuk:
• Csatornamód üzenetek (Channel Mode Messages)
• Hangvezérlő csatornaüzenetek (Channel Voice Messages)
• Egyszerű rendszerüzenetek (System Common Messages)
• Valós idejű rendszerüzenetek (System Real Time Messages)
• Exkluzív rendszerüzenetek (System Exclusive Messages)

A csatornamód üzenetek csak bizonyos vevőknek, méghozzá azoknak szólnak, amelyek csatornaszáma megegyezik az üzenetbe kódolt csatornaszámmal. Azt is tudod már, egy midi kapcsolat 16 csatornát tud kezelni.

pcs02

Ezt a csatornaszámot vagy számokat az állapotbájtban levő négybites csatornaazonosító tartalmazza. A vevőn is be kell állítani a csatorna számát, és a vevő e két értéket összehasonlítva eldönti, hogy az üzi neki szól-e vagy sem. A csatornamód üzenet a vevőt az üzemmódok egyikébe kapcsolhatja át. Az üzemmódok azt határozzák meg, hogy a vevő miképpen reagáljon a további csatornaüzenetekre. Négy üzemmód van:

• omni on, poly;
• omni on, mono;
• omni off, poly;
• omni off, mono.

Az „omni on, poly” üzemmódban a vevő nem fogja a bejövő üzenet csatornakódját figyelni, mintha az nem is létezne, hanem minden bejövő midi-üzire reagál, ha tud. Ez akkor hasznos, ha csak egy adó és egy vevő van; nem kell bajlódni a csatornaszámok egyeztetésével, és akkor is jó, ha azt akarjuk, hogy minden vevő ugyanúgy viselkedjen. Az „omni” tehát azt jelenti, hogy „mindenkinek”. Az persze elképzelhető, hogy a vevő olyan üzit kap, amivel nem tud mit kezdeni, pl. ha a szintetizátornak olyan hangon kéne megszólalnia, ami nincs a hangkészletében, akkor kussolni fog. A „poly” azt jelenti, hogy a vevő, többnyire a hangszer, polifonként több hangot képes egyszerre megszólaltatni. A megszólaló hangok maximális száma a hangszer megvalósításától, a hanggenerátorok számától függ.

Az „omni on, mono” üzemmódban is minden bejövő üzire reagál a vevő, de csak egyetlen hang szólhat egyszerre, a második hang megszólaltatása az elsőt elnémítja. Hogy ez mire jó? Kb. semmire, de például régi monofon szintetizátorok utánzásakor lehet hasznos.

Az „omni off, poly” üzemmód a leggyakoribb. Ki is találhatod, mi a lényege. A vevő csak a neki szóló midi üziket értelmezi, tehát ha pl. a 14-es csatornára van állítva, akkor szarik az összes többi csatornát megjelölő üzire. A hangszer polifonikusan szólalhat meg. A multitimbrális hangszerek egyidejűleg több hangszert-hangot is meg tudnak szólaltatni a hangkészletből, és ezeket a hangokat más-más csatornához lehet rendelni. Ha pl. egy zongora és egy hegedű hangját egyidejűleg akarjuk megszólaltatni ugyanabban a szintetizátorban midi vezérléssel, akkor a zongorához és a hegedűhöz két külön csatornát rendelünk, mondjuk, a 6-ost és a 8-ast. Ha mindkét csatornán egyszerre érkezik egy-egy állapotbájt, akkor a két hangszer hangja egyszerre fog megszólalni, ha pedig csak az egyiken, akkor vagy a zongoráé, vagy a hegedűé. Na, most álljunk meg egy pillanatra! Nem gyanús valami? Ha nem, akkor emlékeztetlek, hogy a midi soros rendszer, tehát csak egymás után tudnak vánszorogni az üzik. Akkor mégis hogyan tud egyszerre menni két – vagy akár 16 – üzi? Elárulom, sehogy. Ám még a midi kis sebességén is rohanhatnak ők olyan gyorsan egymás után, hogy az időkülönbség (egy-két ezredmásodperc) nem hallható. Ráadásul – de ez már csak igazi ínyenceknek való – a midi üzik sorrendjének szervezésében van néhány csalafinta trükk, amelyek lerövidíthetik a vevő reagálási idejét.

Az „omni off, mono” szintén kitalálható. A vevő csak a neki szóló üzikre reagál, azokon a csatornákon fogadja őket, amelyekre beállították. Az egyes csatornákhoz tartozó hangszer-hangok csatornánként monofon módon fognak megszólalni, egy adott csatornán tehát egyidejűleg csak egy hang. De ha hat csatorna kap egyidejűleg üzit – most már biztosan tudod, hogy valójában parányi késéssel –, akkor hatféle hang is meg tud szólalni. Tegyük föl, hogy a vezérlő eszköz egy hathúros, elektromos gitár! A húrok alatt olyan hangszedő van, amelynek részeit nem közösítjük, nem kötjük sorba egymással, hanem egyenként kivezetjük őket. – így a húrok egymástól függetlenül szólhatnak, de egy húr – ha már gitároztál, tapasztalhattad – egyszerre csak egy hangot adhat. Léteznek olyan szintetizátorok, amelyek a húrokra osztott hangszedők jeleit midi vezérlő jelekké alakítják át. A gitár-midi átalakítókkal működő szintetizátorokat érdemes ilyen üzemmódban használni, mert minden húr más hangszer hangján játszhat, és a gitárjáték jellegzetességei, pl. hajlítások, sikálások a muzsikus játékmódjához hasonlóan, húronként érvényesülnek.

Az alábbi videó összefoglalja az eddigieket, némi kiegészítéssel.

A midi üzik következő csoportjába a hangvezérlő csatornaüzenetek tartoznak, ám ezek oly rengetegen vannak, hogy külön részeket érdemelnek. Az exkluzív rendszerüzenetekkel SysExnek rövidítve viszont már többször is találkozhattál a sorozatban. Ez az alaptípus eredetileg azzal a céllal jött létre, hogy csakis az adott eszközre jellemző, eszközspecifikus információk is átvihetők legyenek a midivel. Vagyis olyan adatokról van szó, amelyet nem tud megérteni minden cucc. Pl. nem biztos, hogy a Yamaha DX7 II SysExjeivel bármit is tud kezdeni egy másik gyártó szintetizátora, sőt, az sem biztos, hogy a Yamaha valamelyik másik típusa megérti a DX7 II Sysexjeit még akkor sem, ha az a DX7 II.-nél jóval modernebb típus. Viszont a DX7 II. képességei megfelelő SysExekkel turbózhatók fel. A SysEx egyik előnye, hogy az adott SysEx filéket úgy csereberélhetik egymás között az ezeket értő eszközök, hogy az ugyanabban a midi kapcsolatban álló többi eszközt a vircsaft nem zavarja. A SysEx filék állapotbájtja azzal kezdődik, hogy SysEX típusú adatcsomag következik, majd az adott eszköz gyártóazonosítójának kódjával folytatódik. E kódokat tartalmazza az alábbi linken található táblázat.

https://www.midi.org/specifications/item/manufacturer-id-numbers

A gyártóazonosító kód hossza is változó, ugyanis éppen amiatt, hogy még ugyanazon gyártók is eltérő tulajdonságú eszközöket készítenek, a SysEx gyártóazonosítói kiegészülnek az azonosítást finomító adatokkal. SysExet használnak gyakran a midis eszközök belső programjának, a firmware-nek a frissítéséhez; az ilyen üzi nyilván nemcsak gyártó-, hanem készülékspecifikus is.

A gyártóazonosító vizsgálata után az eszköz kétféle következtetésre juthat. Ha nem az ő azonosítókódja érkezett, akkor az összes további kódokat figyelmen kívül kell hagynia mindaddig, amíg az exkluzív üzenet végét jelző állapotkódot nem érzékeli. Ha viszont a vett gyártóazonosító a sajátja, onnantól kezdve a gyártó saját protokollja lép életbe, ennek megfelelően kell cselekednie. Megpróbálom egy nagyon egyszerű példával szemléltetni a dolgot. Tegyük föl, hogy a midi protokoll az öltözködésre is vonatkozna, és azt tartalmazná, hogy egyes eseményeken, helyszíneken milyen általános öltözködési szabályok vannak. Ezeket külföldiből magyarosítva dresszkódoknak hívjuk.

pcs03

Egy vállalat saját protokollja, egyenruha-előírása az öltözék színét, formáját, stb. is meghatározza, ami akár el is térhet a fenti képen látható, szokásos hivatali viselettől.

pcs04

Sőt, lehet egészen egyéni is, bár ez nem mindig előnyös, legalábbis, egy dresszkód szakértő szerint:

pcs05

A SysExnek nincs rögzített maximális hossza, az egyetlen megkötés az, hogy zárásként a midi protokoll szerinti SysEx kódnak kell érkeznie. Ekkor a vevő visszavált a midi protokollra.

A SysEx arra is jó, hogy az adott eszköz memóriáját mentesítse. Gyakori például, hogy egy hangkészlet több adatbankból áll, s akár több ezer hangszer-hang is tárolható ilyen módon vinyón vagy sdd-n. A több ezret úgy is értheted, hogy ugyanannak a hangnak többféle módosított, effektezett változatáról van szó. Ezen hangok olyan jellemzőit, amelyeket aztán az eszköz értelmez és megszólaltat, belerakják SysExekbe, s ha szükség van rájuk, csak be kell őket hívni az ssd-ből vagy a vinyóból. Ugyancsak a SysExek segítségével kommunikálhat pl. egy számítógép és egy szintetizátor. A szintetizátor a számítógépbe küldi a SysExet (a filé kiterjesztése sys), amelyben egy midi szerkesztő programmal a SysEx néhány adatát megváltoztatjuk, s a módosított SysExet visszaküldjük a szintetizátorba. A zenei munkaállomások erre külön számítógép nélkül is képesek. Mivel a SysExek nagyon nagy terjedelműek is lehetnek, a midin keresztüli másolásuk sokáig tarthat, ezért ezt a műveletet nem mindig midivel, hanem közvetlenebb filécserével végzik.

SysEx üzenetet ritkán szoktunk önmagunk gyártani, de nem tiltja semmi. Ha nem üzleti célból használod, a MIDI-OX program ingyér tölthető le az alábbi linkről windowsra:

http://www.midiox.com/

pcs06

Ha telepítetted a szoftvert, állítsd le a gépet, dugj hozzá valami midi cuccot, indítsd el a gépet, majd a programot!

Ez a szoftver nemcsak SysEx készítésére használható, hanem a midis kütyüid ellenőrzésére is.