midi
glazba

hgu@hgu.hr

NEDIĆ

POSEBNE SISTEMSKE PORUKE

SYSTEM EXCLUSIVE MESSAGES

Japanska tvrtka Roland, inovator u području sint tehnologije, jedan je od začetnika General MIDI sustava (GM) zajedničke programsko-zvukovne raspoređenosti: dok su mnogi pitali je li to još samo jedna u nizu glazbenih novotarija, Roland proširuje GM sustav novim zvukovima i kontrolama, dajući mu ime General Standard (GS) (o čemu smo već pisali). Jedna od novosti GS standarda je mogućnost dodatne obrade preko posebnih sistemskih poruka (system exclusive messages).

Posebna MIDI sistemska poruka obuhvaća heksadecimalno predstavljanje unutarnjih parametara postavke instrumenta i razdijeljena je u tri sekcije: zaglavlje (header), tijelo (body) i kraj (end). Zaglavlje je isto za većinu Sound Canvas SysEx poruka. Ono poruku određuje kao posebnu sistemsku poruku za Roland GS instrumente.

Zaglavlje posebne sistemske poruke (SysEx) za sve Roland SC sinetsajzere započinje nizom sljedećih pet bajtova: F0 41 10 42 12.

F0 Statusni bajt - početak sistemske poruke (SysEx)

41 Roland ID (prepoznatljivi broj)

10 Device ID (prepoznatljiv broj uređaja)

42 GS Model ID (prepoznatljiv broj GS modela)

12 Data Set Naredba

Tijelo se sastoji od tri-bajt adrese te nepopularnog Roland checksuma broja. Svaki editirajući parametar u SC ima svoju vlastitu SysEx adresu. Prikaz baze parametarnih adresa pogledajte u SC priručniku, gdje je tablica označena kao Patch Parameters adresse. Kraj posebne sistemske poruke obilježava se sa F7.

Posebnu teškoću i nepoznanicu mnogima predstavlja Rolandov checksum koji se koristi kao zaštita SC uređaja od primanja neispravnih poruka. O njemu ćemo u ovom nastavku malo više govoriti.

PRIMJER:

Promjena Reverba od Hall 2 temeljnog seta u Delay. Adresa Macro Reverba prema listi Patch Parametar SC priručnika je 40 01 30 (tri-bajt adresa). Na toj je listi Delay na adresi 06, pa 06 postaje naš prvi i jedini data bajt.

Potom valja odrediti checksum za tu poruku. Pravilo određivanja checksum broja jest:

80H - (zbroj adresa bajta + zbroj data bajta) = checksum

U navedenom primjeru:

Heksadecimalno:

80H - (40H + 01H + 30H + 06H) = Checksum

80H - 77H = Checksum

09H = Checksum

Decimalno:

128 - (64 + 1 + 48 + 6) = 119

128 - 119 = 09

09 = Checksum

Na taj se način tijelo poruke sastoji od:

40 01 30 06 09 (adresa - data bajt - checksum)

Checksum se postavlja prije završetka SysEx poruke (prije završnog bajta F7) te cjelovita poruka glasi:

F0 41 10 42 12 40 01 30 06 09 F7

Ako ste početnik u heksa računanju, zacijelo ste zbunjeni računom 80 - 77 = 09. Naime, riječ je o heksa brojevima koje valja pretvoriti u decimalne, oduzeti te pretvoriti opet u heksa. Stoga smo paralelno upisali i decimalne vrijednosti, što u navedenom slučaju iznosi

128 (80 Hex) - 119 (77 Hex) = 9.

U slučaju da je zbroj adrese i data bajt veći od 80H (128), rezultat će biti negativan checksum. U tom se slučaju od zbroja oduzima 80H i to sve dok iznos ne bude manji od 80H (128).

Primjer:

ako je iznos adrese i data bajt veći od 80H(prikazan heksa i decimalnim sustavom):

Heksa: 80H - (80H + 40H + 01H + 40H + 06H) = 107H (checksum veći od 80H - potrebno oduzeti 80H)

Dec: 128 - (128 + 064 + 001 + 064 + 06) = -135 (checksum veći od 128 - potrebno oduzeti 128)

Heksa: 80H - (87H - 80H) = 79H (checksum manji od 80H - pozitivan)

Dec: 128 - (135 - 128 ) = - 121 (checksum manji od 1288 - pozitivan)

Sve adrese imaju "n" u drugom bajtu koji određuje MIDI kanal.

40

1n

02

Rx

Channel

40

1n

03

Rx

Pitch-Bend

Kod SC uređaja partovi počinju s 1, pa za part 1 "n" je 1, za part 2 je 2, i tako dalje. Za part 10 "n" je 0, a partovi od 11 do 16 određeni su heksa brojevima od A do F (za part 11 "n" je A, za part 12 "n" je B, za 13 je C, za 14 je D, za 15 je E i za 16 je F).

Na sljedećem ćemo primjeru promijeniti dvije funkcije: promjenjena parta 1 s MIDI kanala 1 u kanal 16 te mu narediti da ne odgovara na pitch-bend poruke. Prvo se koristi nepromijenjeno pet-bajtno zaglavlje, proslijeđeno kod prigodne početne adrese, kao što je prikazano u Patch Parameter:

Zaglavlje: F0 41 10 42 12

Adresa: 40 11 02

Podatak: 0F 00

Checksum za ovu poruku treba biti:

80 - (40 + 11 + 02 + 0F + 00) = Checksum

80 - 62 = Checksum

1E = Checksum

Cjelovita poruka glasi:

F0 41 10 42 12 40 11 02 0F 00 1E F7

Podešavanje poruke Kanal isključen

Kad je u MIDI lancu uz SC modul još neki ton-modul, nastaju problemi jer Sound Canvas radi po svih 16 MIDI kanala te je, bez posebne intervencije, nemoguća kombinacija s nekim drugim ton-modulom. Uz pomoć SysEx poruka, mogu se isključiti pojedini partovi i tako SC spojiti u MIDI lanac s nekim drugim sintesajzerom (i, primjerice, klavir izvoditi po MIDI kanalu, a SC će izvoditi dionice ostalih MIDI kanala od 2 do 16). Poruka isključenja parta broj 1 jest:

F0 41 10 42 12 40 11 02 10 0D F7

U tabeli su prikazane naredbe za isključivanje svih partova pojedinačno.

Part

1:

F0

41

10

42

12

40

11

02

10

1D

F7

Part

2:

F0

41

10

42

12

40

12

02

10

1C

F7

Part

3:

F0

41

10

42

12

40

13

02

10

1B

F7

Part

4:

F0

41

10

42

12

40

14

02

10

1A

F7

Part

5:

F0

41

10

42

12

40

15

02

10

19

F7

Part

6:

F0

41

10

42

12

40

16

02

10

18

F7

Part

7:

F0

41

10

42

12

40

17

02

10

17

F7

Part

8:

F0

41

10

42

12

40

18

02

10

18

F7

Part

9:

F0

41

10

42

12

40

19

02

10

15

F7

Part

10:

F0

41

10

42

12

40

10

02

10

1E

F7

Part

11:

F0

41

10

42

12

40

1A

02

10

14

F7

Part

12:

F0

41

10

42

12

40

1B

02

10

13

F7

Part

13:

F0

41

10

42

12

40

1C

02

10

12

F7

Part

14:

F0

41

10

42

12

40

1D

02

10

11

F7

Part

15:

F0

41

10

42

12

40

1E

02

10

10

F7

Part

16:

F0

41

10

42

12

40

1F

02

10

0F

F7

GS Reset

Reset SC uređaja te postavljanje na tvorničke postavke može se također uz pomoć SysEx izvesti vrlo jednostavno. Poželjno je umetnuti tu poruku na početku svake pjesma, koja će uređaj vratiti u prvotno stanje

F0 41 10 42 12 40 00 7F 00 41 F7.

Do sljedećeg broja Status a i nastavka kolumne o Rolandovim sistemskim porukama, lijep pozdrav svima u moje osobno i u ime mojih dragih sponzora - prodavaonice glazbene opreme Hot Music Shop iz Zlatar Bistrice.

Slavko Nedić