84 midi implementation 4. приложения, Таблица десятеричных и шестнадцатеричных величин, Примеры midi-сообщений – Инструкция по эксплуатации Roland V-4

Страница 82: Установки, передаваемые/принимаемые с помощью midi, Z midi tx channel, Z midi rx channel, Z transition time, Z a ch effect 1, Z a ch effect 2, Z a ch effect 3

Advertising
background image

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

Advertising