Cs. Kádár Péter - XXI. századi Diszkónika, 257. A csatornából üzenik

A midi hangvezérlő csatornaüzenetekkel a muzsikálás közben előforduló eseményeket (billentyűk leütése, felengedése, hajlítás stb.) közli a midi adó a vevővel. Minden parányi esemény, amit a midis hangszeren, pontosabban, annak vezérlőjével műveltünk, egy-egy kód jelzi a kimeneten, ami tartalmazza, hogy mi is történt. A vevő ezt értelmezheti, feldolgozhatja, és végre is hajthatja a kódokhoz tartozó eseményt, pl. a vevő hangkészletében szereplő hangot előírás szerint effektezve szólaltathat meg.

A hangvezérlő csatornaüzenetek sorozata meghatároz, lebonyolít egy előadást. A csatornaüzenetek általánosan egy állapotbájttal kezdődnek, és egy vagy két adatbájttal záródnak, az adatbájtok számát az állapotbájt dönti el. Hangvezérlő csatornaüzenetből hétféle van:

• a hang indítása (note on);
• a hang befejezése (note off);
• hajlítás (pitch bend, pitch wheel change);
• polifon nyomás (polyphonic pressure);
• csatorna nyomás (channel pressure);
• programválasztás (program change);
• vezérlés módosítás (control change, cc).

Az eredeti angol elnevezés nem mindig tükrözi az adott csatornaüzenet tartalmát, s bár igyekeztem egyes esetekben a magyar szakirodalomban elterjedtnél jobbat találni, többnyire nekem sem sikerült. A midi eredetileg leginkább billentyűs szintetizátorokra hajazott, és ezt tükrözik a leírások, definíciók is. Ha billentyűzet helyett más vezérlő eszközt használunk, más felületre, pedálra, gombra, kallantyúra, tekrentyűre, tapipadra, stb. kell gondolnod. Jöjjenek hát a részletek!

A hang indítása (note on) üzit az adó akkor küldi, amikor egy hang megszólaltatása megkezdődött, pl. egy szintetizátor zenei billentyűzetén lenyomtak egy billentyűt. A vevő az állapotbájt szerinti csatornaegyeztetés után megszólaltathatja a kívánt hangot. Az állapotbájtot követő első adatbájt a hangmagasságot határozza meg, vagyis azt figyeli, hogy melyik billentyűt ütöttük meg. A második adatbájt üzeni, hogy mekkora sebességgel csaptunk a billentyűre, mekkora legyen a hangerő. Ha a billentyűzet nem érzékeny a leütés erejére, akkor minden sebességre ugyanazt az adatbájtot fogja küldeni, ami vagy előre beállítható a felhasználó által, vagy gyárilag rögzített érték. A hang addig fog szólni, amíg az adó egy másik üzenettel le nem állítja. Ez azonban csak olyan hangokra – pl. orgona hang – igaz, amelyeknek a kitartott szakasza bármilyen hosszú lehet. A legtöbb hangszer nem ilyen, vagyis a hang a kitartott szakasz után a hangszer jellegének megfelelően le fog csengeni. Az akusztikus zongorán is hiába tartjuk lenyomva a billentyűt, a kalapács csak egy pillanatra üti meg a húrt, csupán a pedálokkal játszva (lásd a sorozat 169. részét) tompíthatjuk vagy zengethetjük a hangot, s ezáltal rövidíthetjük vagy hosszabbíthatjuk a hang időtartamát.

csu02

A konkrét kódokat szép kis táblázatok tartalmazzák; az érdekesség kedvéért megmutatom, hogyan néz ki egy hangindítás üzenet:   10010011 00011011 0111111.    Ez a konkrét üzi három bájtból áll. Az első bájt állapotbájt, hoszen 1-gyel kezdődik. Az 1001 kódrész jelöli, hogy hangindításról van szó. A 0011 értéke tízes számrendszerben 3. Ez mondja meg, hogy a midi kapcsolaton belül melyik csatornán megy az üzenet. Mivel a csatornákat 1-től 16-ig számozzuk, ez a 3+1, a negyedik csatorna. Vagyis csak azok a vevők fognak reagálni az üzire, amelyek a 4-es midi csatornára vannak állítva. A következő bájt 0-val kezdődik, tehát adatbájt. Ennek értéke a tízes számrendszerben 27, ami azt jelenti, hogy a 27. billentyű lenyomásáról tartalmaz információt a parancs, az ehhez a billentyűhöz tartozó hangnak kell megszólalnia azo(ko)n a hangszere(ke)n, amely(ek) a 4. csatornához van(nak) rendelve. A harmadik bájt is 0-val kezdődik, ez is adatbájt, s ez a bájt a billentés sebességét közli. A sok egyes a maximális értéket, a 127-et jelenti a tízes számrendszerben. 127 a legnagyobb érték, tehát jó nagyot fog szólni hang.

A hang befejezése (note off) a billentyű felengedését jelzi. Ennek az üzinek a hatására sem mindig azonnal némul el a hangszer, a lecsengési szakaszt még befejezi (kivéve, ha omni on, mono vagy omni off, mono üzemmódban ezt egy újabb hang megszólaltatása le nem tiltja).

A hajlítást annyira imádják a muzsikusok, hogy külön midi kódot kapott (pitch bend, pitch wheel change).

csu03

A hajlító kerék általában előre és hátra tekerhető, a 0 pozíció középen van. A kerék előre fordítása növeli, visszafelé fordítva pedig csökkenti a hang magasságát.

Ha a midi adó lehetővé teszi, akkor beállítható az a tartomány, amennyit a hajlításra szánunk, vagyis az, hogy hány félhangnyit magasíthat vagy csökkenthet a hajlító. Az állapotbájt felső része a hajlítás kódja, alsó része a csatorna száma. Ezt két adatbájt követi, amelyben 7-7 bit határozza meg a hajlítás mértékét. Összesen tehát 14 bites lehet a hajlítás felbontása, pontossága, ami elég jó, 16 384 érték. A középállásnak a 8192-esnek megfelelő bináris kód felel meg. A hajlítás a kerékkel folyamatos mozdulat. Ezt a folyamatos eseményt az adó mikroprocesszora csak különböző időpillanatokban tudja megfigyelni, és a megfigyelés eredményét küldi a midi-kimenetre. Ha nem történik semmi a hajlítóeszközzel, nem megy ki hajlító midi üzenet, de bármilyen kis mozdítás hatására sok-sok üzi keletkezik; a processzor nagyon finom elemi lépésenként közli a hajlítási folyamatot a vevővel.

A polifon nyomás (polyphonic pressure) üzenetet a billentyűkre nehezedő nyomás erősségét érzékelni képes hangszerek közül azok küldik, amelyek billentyűnként más-más nyomásértéket képesek érzékelni. Ha egy ilyen billentyűzeten pl. akkordot tart lenyomva a zenész, akkor a billentyűzet érzékelni fogja, hogy a három billentyűt mennyire erősen nyomja a muzsikus. Ez nem elsősorban arra jó, hogy a három hang hangossága legyen más és más, hanem attól függően, hogy a vevő mit reagál a polifon hangerő kódokra, a vibrátó sebességét vagy mélységét lehet befolyásolni, netán hangmagasságot is el lehet tolni. Valójában tehát a polifon nyomás üzenettel a billentyű követést (aftertouch) valósítható meg.

A csatorna nyomás (channel pressure) azokkal az eszközökkel használható, amelyik nem billentyűnként érzékeli a nyomás erősségét, hanem a teljes klaviatúrára vonatkoztatva. Az olcsóbb vezérlők ilyenek, némi effektezésre ez is jó, noha ez nem igazi billentyű követés.

A programválasztás (program change) üzenettel a vevő aktuális hangprogramját, hangkészletének valamelyik hangszer-hangját választhatjuk ki, az előre beállított, vagy a felhasználó által készített programok, hangzások közül. Mint már említettem, eredetileg csak 128 (0-127) program létezett. A kijelzők, megjelenítők a barátságosabb 1-128 értékeket mutatják.

csu04

A programválasztás üzenet olyat is tud, hogy nem a hangszert, hanem annak effektjeit és annak beállításait választja ki. Ez különösen akkor kényelmes, ha pl. gitárerősítő szimulátort használnak pedálokkal, pedálsorral

csu05

Egyetlen utasítással megváltoztatható a teljes effektkészlet, az erősítő és a hangsugárzó, amelyek egyetlen midi programot alkotnak, egy kapcsolós pedállal. Egy másik pedált lehet meghatározni egy másik programban annak érdekében, hogy mindkét programban ugyanazt a vezérlőt használhassuk a két különböző effektus paramétereinek megváltoztatására. Az is lehetséges, hogy ugyanaz a fajta pedál szerepel mindkét programban, de különböző beállításokkal, például más-más a zengetés szintje és hossza. Program az, amit a felhasználó, vagyis te, programként definiálsz. Minden csak rajtad múlik, s ez egyben a midi erőssége is. A rugalmasságnak azonban az az ára, hogy az adót és a vevőt meg kell tanítani egymás szavaira, mert hiába közös nyelv a midi, ha a két eszköz nem érti egymás szavát.

A hetedik hangvezérlő csatornaüzenet a „vezérlés módosítás (control change, cc)” nevet kapta. Lehetett volna „egyéb”-nek is nevezni, mert mindent, amit az előző hat típusba nem lehetett belegyömöszölni, ebbe sorolták be. A cc kicsit összetettebb, mint a többi midi üzi, ezért inkább szusszanj egyet, e sok definíció után megérdemled. A következő, csaknem négy és fél órában midi segítségével készült zenékkel relaxálhatsz.