
84
MIDI Implementation
4. Приложения
Таблица десятеричных и шестнадцатеричных величин
(Ê êîíöó ÷èñåë â øåñòíàäöàòåðè÷íîì âûðàæåíèè äîáàâëÿåòñÿ "Í".)
 MIDI−äîêóìåíòàöèè âåëè÷èíû äàííûõ è àäðåñà/ðàçìåðû ýêñêëþçèâíûõ ñîîáùåíèé è ïð. âûðàæåíû
øåñòíàäöàòåðè÷íûìè âåëè÷èíàìè ïî 7−áèò.
Íà ñëåäóþùåé òàáëèöå ïðèâåäåíû ñîîòíîøåíèÿ øåñòíàäöàòåðè÷íûõ è äåñÿòåðè÷íûõ âåëè÷èí.
+——————+——————++——————+——————++——————+——————++——————+——————+
| Deci | Hexa || Deci | Hexa || Deci | Hexa || Deci | Hexa |
+——————+——————++——————+——————++——————+——————++——————+——————+
| 0 | 00H || 32 | 20H || 64 | 40H || 96 | 60H |
| 1 | 01H || 33 | 21H || 65 | 41H || 97 | 61H |
| 2 | 02H || 34 | 22H || 66 | 42H || 98 | 62H |
| 3 | 03H || 35 | 23H || 67 | 43H || 99 | 63H |
| 4 | 04H || 36 | 24H || 68 | 44H || 100 | 64H |
| 5 | 05H || 37 | 25H || 69 | 45H || 101 | 65H |
| 6 | 06H || 38 | 26H || 70 | 46H || 102 | 66H |
| 7 | 07H || 39 | 27H || 71 | 47H || 103 | 67H |
| 8 | 08H || 40 | 28H || 72 | 48H || 104 | 68H |
| 9 | 09H || 41 | 29H || 73 | 49H || 105 | 69H |
| 10 | 0AH || 42 | 2AH || 74 | 4AH || 106 | 6AH |
| 11 | 0BH || 43 | 2BH || 75 | 4BH || 107 | 6BH |
| 12 | 0CH || 44 | 2CH || 76 | 4CH || 108 | 6CH |
| 13 | 0DH || 45 | 2DH || 77 | 4DH || 109 | 6DH |
| 14 | 0EH || 46 | 2EH || 78 | 4EH || 110 | 6EH |
| 15 | 0FH || 47 | 2FH || 79 | 4FH || 111 | 6FH |
| 16 | 10H || 48 | 30H || 80 | 50H || 112 | 70H |
| 17 | 11H || 49 | 31H || 81 | 51H || 113 | 71H |
| 18 | 12H || 50 | 32H || 82 | 52H || 114 | 72H |
| 19 | 13H || 51 | 33H || 83 | 53H || 115 | 73H |
| 20 | 14H || 52 | 34H || 84 | 54H || 116 | 74H |
| 21 | 15H || 53 | 35H || 85 | 55H || 117 | 75H |
| 22 | 16H || 54 | 36H || 86 | 56H || 118 | 76H |
| 23 | 17H || 55 | 37H || 87 | 57H || 119 | 77H |
| 24 | 18H || 56 | 38H || 88 | 58H || 120 | 78H |
| 25 | 19H || 57 | 39H || 89 | 59H || 121 | 79H |
| 26 | 1AH || 58 | 3AH || 90 | 5AH || 122 | 7AH |
| 27 | 1BH || 59 | 3BH || 91 | 5BH || 123 | 7BH |
| 28 | 1CH || 60 | 3CH || 92 | 5CH || 124 | 7CH |
| 29 | 1DH || 61 | 3DH || 93 | 5DH || 125 | 7DH |
| 30 | 1EH || 62 | 3EH || 94 | 5EH || 126 | 7EH |
| 31 | 1FH || 63 | 3FH || 95 | 5FH || 127 | 7FH |
+——————+——————++——————+——————++——————+——————++——————+——————+
* Äåñÿòåðè÷íûå âåëè÷èíû, òàêèå êàê MIDI−êàíàë, âûáîð áàíêà (bank select) è èçìåíåíèå ïðîãðàììû
(program change) îòîáðàæàþòñÿ íà 1 áîëüøå ñîîòâåòñòâóþùåé âåëè÷èíû, ïîäàííîé â
âûøåïðèâåäåííîé â òàáëèöå.
* Øåñòíàäöàòåðè÷íûå âåëè÷èíû, îòîáðàæåííûå ïî 7−áèò, ìîãóò âûðàæàòü ìàêñèìóì 128 óðîâíåé â
îäíîì áàéòå äàííûõ. Äëÿ äàííûõ, ãäå íåîáõîäèìî áîëåå âûñîêîå ðàçðåøåíèå, èñïîëüçóþòñÿ 2
èëè áîëåå áàéò. Íàïðèìåð, äâà øåñòíàäöàòåðè÷íûõ ÷èñëà aa bb, âûðàæåííûõ äâóìÿ 7−áèòíûìè
áàéòàìè, îáîçíà÷àþò âåëè÷èíó aa x 128 + bb.
<Ïðèìåð 1> Êàêîå äåñÿòåðè÷íîå âûðàæåíèå 5ÀÍ?
Èç âûøåïðèâåäåííîé òàáëèöû: 5ÀÍ = 90
<Ïðèìåð 2> Êàêîå äåñÿòåðè÷íîå âûðàæåíèå âåëè÷èíû 12 34Í, äàííîé êàê
øåñòíàäöàòåðè÷íàÿ äëÿ êàæäîãî 7−áèòíîãî áàéòà?
Èç âûøåïðèâåäåííîé òàáëèöû: ïîñêîëüêó
12Í = 18, 34Í = 52, òî 18 õ 128 + 52 = 2356
Примеры MIDI-сообщений
<Ïðèìåð 1> 92H 3EH 5FH
"9n" − ñòàòóñ "Note−on", à "n" − íîìåð MIDI êàíàëà. 2Í = 2, 3ÅÍ = 62 è 5FH = 95. Ïîýòîìó äàííîå
ñîîáùåíèå "Note−on" äëÿ MIDI CH = 3, íîìåðà íîòû 62 (íàçâàíèå íîòû D4) è äèíàìèêè 95.
<Ïðèìåð 2> CÅÍ 49Í
CnH − ñòàòóñ "Program Change/Èçìåíåíèå ïðîãðàììû" è "n" − íîìåð MIDI êàíàëà. ÅÍ = 14, à 49Í = 73,
Ïîýòîìó äàííîå ñîîáùåíèå "Program Change/Èçìåíåíèå ïðîãðàììû" äëÿ MIDI CH = 15, íîìåðà
ïðîãðàììû 74 (â çâóêîâîé êàðòå GS, ôëåéòà).
<Ïðèìåð 3> EAÍ 00Í 28Í
EnH − ñòàòóñ "Pitch Bend Change/Èçìåíåíèå ïèò÷à" è "n" − íîìåð MIDI êàíàëà. Âòîðîé áàéò (00Í=0) −
íèæíèé áàéò âåëè÷èíû Pitch Bend , à 3−é áàéò (28Í=40) − âåðõíèé áàéò. Ïîñêîëüêó âåëè÷èíà Pitch
Bend ÿâëÿåòñÿ ÷èñëîì ñî çíàêîì, â êîòîðîì 40 00Í (=64 õ 128 + 0 = 8192) ñîîòâåòñòâóåò 0, òî
âåëè÷èíà Pitch Bend â äàííîì ñëó÷àå ðàâíà 28Í 00Í−40Í 00Í = 40 õ 128 + 0−(64 õ 128+0) = 5120−
8192 =−3072. Åñëè ÷óâñòâèòåëüíîñòü èçìåíåíèÿ ïèò÷à (Pitch Bend Sensitivity) íàñòðîåíà íà äâà
ïîëóòîíà, òî ïðè Pitch Change −8192 (00H 00H) ïèò÷ èçìåíèòñÿ íà −200 öåíòîâ, ïîýòîìó â äàííîì
ñëó÷àå Pitch Bend −200õ (−3072) / (−8192) = −75 öåíòîâ îáîçíà÷àåòñÿ íà MIDI−êàíàëå 11.
Пример эксклюзивного сообщения и вычисления
контрольной суммы
Ïåðåäà÷à ýêñêëþçèâíûõ ñîîáùåíèé Roland (RQ1, DT1) ïðîèñõîäèò ñ êîíòðîëüíîé ñóììîé â ïîñëå
äàííûõ (ïîñëå F7) äëÿ ïðîâåðêè ïðàâèëüíîñòè ïðèåìà ñîîáùåíèÿ. Âåëè÷èíà êîíòðîëüíîé ñóììû
ïðîèñõîäèò îò àäðåñà è äàííûõ (èëè ðàçìåðîì) ïåðåäàííîãî ýêñêëþçèâíîãî ñîîáùåíèÿ.
z Как вычислить контрольную сумму
(шестнадцатеричные числа обозначены буквой "Н")
Êîíòðîëüíàÿ ñóììà − âåëè÷èíà, êîòîðàÿ ïðîèçâîäèò íèæíèå 7 áèò íóëÿ ïîñðåäñòâîì äîáàâëåíèÿ
àäðåñà, ðàçìåðà è ñàìîé êîíòðîëüíîé ñóììû. Åñëè ïåðåäàâàåìîå ýêñêëþçèâíîå ñîîáùåíèå èìååò
àäðåñ aaÍ bbÍ ccÍ, à äàííûå − ddH, eeH, òî âû÷èñëåíèå áóäåò ñëåäóþùèì:
aa + bb + cc + dd + ee = ñóììà
ñóììà/128 = êîýôôèöèåíò ... îñòàòîê
128−îñòàòîê = êîíòðîëüíàÿ ñóììà.
<Ïðèìåð> Íàçíà÷åíèå ïàðàìåòðà Modulation êàê ñìåíû ðåæèìà óïðàâëåíèÿ (Control Change), êîòîðûé
óïðàâëÿåò âðåìåíåì ýôôåêòà ïåðåõîäà äëÿ óñòàíîâêè Tx/Rx Setting.
Ñîãëàñíî "Êàðòå àäðåñîâ ïàðàìåòðîâ" âðåìÿ ýôôåêòà ïåðåõîäà äëÿ óñòàíîâêè Tx/Rx Setting èìååò
íà÷àëüíûé àäðåñ 01Í 10Í 00Í, à âåëè÷èíà ïàðàìåòðà ñìåíû ðåæèìà óïðàâëåíèÿ ìîäóëÿöèåé
(Modulation control change) ðàâíà 01Í. Òàêèì îáðàçîì:
F0H 41H 10H 00H 5BH 12H 01H 10H 00H 00H 01H ??H 7FH
−−−−−− −−−−− −−−−− −−−−−−−−−−−− −−−−− −−−−−−−−−−−−−−−−−− −−−−−−−−−−−−− −−−−−− −−−−−
(1) (2) (3) (4) (5) (6) (7) (8) (9)
(1) Ýêñêëþçèâíîå ñîñòîÿíèå (2) Íîìåð ID (Roland)
(3) Device ID/ID óñòðîéñòâà (17) (4) ID ìîäåëè (V−4)
(5) ID êîìàíäû (DT1) (6) Àäðåñ
(7) Äàííûå (8) Êîíòðîëüíàÿ ñóììà
(9) EOX / Êîíåö ýêñêëþçèâíîãî ñîîáùåíèÿ
Òåïåðü âû÷èñëÿåì êîíòðîëüíóþ ñóììó.
01Í + 10Í + 00Í + 01Í = 1 + 16 + 0 + 1 = 18 (ñóììà)
18 (ñóììà) / 128 = 0 (êîýôôèöèåíò) ÀÅ18 (îñòàòîê)
êîíòðîëüíàÿ ñóììà = 128 − 18 (îñòàòîê) = 110 = 6ÅÍ
Ýòî çíà÷èò, ÷òî F0Í 41Í 10Í 00Í 5ÂÍ 12Í 01Í 10Í 00Í 01Í 6ÅÍ 7FÍ − ñîîáùåíèå, êîòîðîå íóæíî
ïîñëàòü.
Установки, передаваемые/принимаемые с помощью MIDI
zMIDI Tx Channel
Óñòàíàâëèâàåò êàíàë MIDI−ïåðåäà÷è V−4.
Ïðè çàâîäñêèõ óñòàíîâêàõ íàçíà÷åíî íà 1.
Âåëè÷èíû: 1−16
zMIDI Rx Channel
Óñòàíàâëèâàåò êàíàë MIDI−ïðèåìà V−4.
Ïðè çàâîäñêèõ óñòàíîâêàõ íàçíà÷åíî íà 1.
Âåëè÷èíû: 1−17, ñîîòâåòñòâåííî 1−16 è OFF.
zNote Mode
Âêëþ÷àåò èëè âûêëþ÷àåò âõîäíîé êàíàë ïðè ïðèåìå ñîîáùåíèÿ Note On.
Ïðè çàâîäñêèõ óñòàíîâêàõ íàçíà÷åíî íà OFF.
Âåëè÷èíû: 0−1, ñîîòâåòñòâåííî OFF è ON.
zTransition Time
Óñòàíàâëèâàåò äëèòåëüíîñòü ýôôåêòîâ ïåðåõîäà â ïðåçåíòàöèîííîì ðåæèìå (Presentation).
Ïðè çàâîäñêèõ óñòàíîâêàõ íàçíà÷åíî íà CC#7 (Ãðîìêîñòü)
Âåëè÷èíû: 0, 1−127, ñîîòâåòñòâåííî 00 ñåê. − 4,0 ñåê.
zA ch effect 1
Îïðåäåëÿåò ýôôåêò 1 âêë./âûêë. (on/off) è ïàðàìåòð äëÿ êàíàëà À â ðåæèìå Normal èëè áàçîâûé êàíàë
â ðåæèìå Presentation.
Ïðè çàâîäñêèõ óñòàíîâêàõ íå íàçíà÷åíî.
Âåëè÷èíû: 0, 1−127, ñîîòâåòñòâåííî OFF, ON:0−Max
zA ch effect 2
Îïðåäåëÿåò ýôôåêò 2 âêë./âûêë. (on/off) è ïàðàìåòð äëÿ êàíàëà À â ðåæèìå Normal èëè áàçîâûé êàíàë
â ðåæèìå Presentation.
Ïðè çàâîäñêèõ óñòàíîâêàõ íå íàçíà÷åíî.
Âåëè÷èíû: 0, 1−127, ñîîòâåòñòâåííî OFF, ON:0−Max
zA ch effect 3
Îïðåäåëÿåò ýôôåêò 3 âêë./âûêë. (on/off) è ïàðàìåòð äëÿ êàíàëà À â ðåæèìå Normal èëè áàçîâûé êàíàë
â ðåæèìå Presentation.
Ïðè çàâîäñêèõ óñòàíîâêàõ íå íàçíà÷åíî.
Âåëè÷èíû: 0, 1−127, ñîîòâåòñòâåííî OFF, ON:0−Max
Kommentare zu diesen Handbüchern