Roland Fantom-X8 [322/340] Дополнительный материал

Roland Fantom-X6 [322/340] Дополнительный материал
324
MIDI-реализация
6. Дополнительный материал
Òàáëèöà äåñÿòåðè÷íûõ è
øåñòíàäöàòåðè÷íûõ âåëè÷èí.
(К концу чисел в шестнадцатеричн ом выражении добавляется "Н".)
В MIDI-документации величины данных и адреса/размеры эксклюзивных сообщений и пр.
выражены в виде шест надцатеричных ве личин для каждого 7-битного байта.
На следующей таб лице приведены соотношения шестнадцатеричных и десятеричных величин.
+——————+ ——————++——————+——————++——————+——————++——————+——————+
| D | H || D | H || D | H || D | H |
+——————+ ——————++——————+——————++——————+——————++——————+——————+
| 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-канал, выбор банка и изменение программы
показаны на единицу больше соответствующей ве личи ны, поданной в вышеприведенной
в таблице.
*7-битный байт может выражать данные в диапазоне 128 шагов. Для данных, где
необходима более вы сокая точнос ть, мы должны исп ользовать 2 или более байта.
Напри ме р, два шестнадцатеричных числа aa bbH, выражающих два 7-битных байта,
обозначают величину aa x 128 + bb.
* В случае если ве личины имеют знак +/-, то 00H = -64, 40H = +/-0, а 7FH = +63, поэтому
десятеричное выражение будет на 64 меньше, чем величина, данная в вышеприведенной
таблице. В случае с двумя типами, 00 00Н = -8192, 40 00Н = +/-0, а 7F 7FH = + 8191.
Напри ме р, если aa bbH выражены как десятеричные, получится aa bbH-40 00H = aa x 128
+ bb-64 x 128.
* Данные, обозначенные ка к "Использов ан ие полубайтовых данных" выра жены в 4-битных
единицах. Величина, выраженная как 2-байтовая полуб айтовая 0а 0bH обозначает
величи ну х 16+b.
ðèì åð 1> Êàêèì ÿâëÿåòñÿ äåñÿòåðè÷íîå âûðàæåíèå 5ÀÍ?
Èç âûøåïðèâåäåííîé òàáëèöû: 5ÀÍ = 90
ðèì åð 2> Êàêîå äåñÿòåðè÷íîå âûðàæåíèå âåëè÷èíû 12 34Í,
äàííîé êàê øåñòíàäöàòåðè÷íàÿ äëÿ êàæäîãî 7-áèòíîãî
áàéòà?
Из вышеприведенной таблицы: поскольку 12Н = 18, 34Н = 52, то 18 х 128 + 52 = 2356
ðèìåð 3> Êàêîå äåñÿòåðè÷íîå âûðàæåíèå ïîëóáàéòîâîé
âåëè÷èíû 0À 03 09 0D?
Из вышеприведенной таблицы: поскольку OAH = 10, 03Н = 3, 09Н = 9, 0DH = 13, то ((10 х 16 +
3) х 16 + 3 = 41885
ðèì åð 4> Êàêîå ïîëóáàéòîâîå âûðàæåíèå äåñÿòåðè÷íîé
âåëè÷èíû 1258?
16 ) 125 8
16 ) 7 8 ...10
16 ) 4 ...14
0 ... 4
Поскольку, исходя из вышеприведе нной таблицы, 0 = 00Н, 4 = 04Н, 14 = 0ЕН, 10 = 0АН, то в
результате: 00 04 0Е 0АН.
Ïðèìåðû ôàêòè÷åñêèõ MIDI ñîîáùåíèé.
<Ïðèìåð 1> 92 3E 5F
"9n" - состояние "Note-on", а "n" - номер MIDI канала. Поскольку 2Н = 2, 3ЕН = 62 и 5FH = 95,
то это - сигнал "Note-on" с MIDI CH (MIDI-ка налом ) = 3, номером нот ы 62 (назван ие ноты D4)
и скоростью 95.
<Ïðèìåð 2> 49
CnH - состояние "Program Change/Измене ние программы" и "n" - номер MIDI канала.
Поскольку ЕН = 14, а 49Н = 73, то это - сигнал "Program Change/Изменение программы" с
MIDI CH = 15, номером программы 74.
ðèìåð 3> EA 00 28
EnH - состояние "Pitch Bend Change/Изменение изгиба питча" и "n" - номер MIDI канала.
Второй байт (00Н=0) - LSB, а 3-й байт (28Н=40) - MSB, но величина изгиба питча является
числом cо знаком, в котором 40 00Н (=64 х 128 + 0 = 8192) - 0, поэтому эта величин а изгиба
питча равна 28 00Н-40 00Н = 40 х 128 + 0-(64 х 128+0) = 5120-8192 =-3072
Если чувствительность изгиба питча установлена на 2 полутона, то -8192 (00 00Н) вызовет
изменение пи тча на -200 центов, так что в этом случае -200 х (-3072) (-8192) = -75 центов
изгиба питча, применяе мого к MIDI-каналу 11.
ðèìåð 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH - состояние "Control Change" и "n" - номер MIDI-кана ла. Относительно "Control Changes/
Смен режимов управления", 2-й байт - номер управления, а 3-й байт - величина. Когда два или
более сообщения подряд имеют одинаковое состояние, MIDI выдает положение "бегущее
состояние", которое позволяет стирать байт состояния второго и следующих сообщений.
Таким образом, привед енные выше сообщения, имеют следующее значе ние.
В3 64 00 (MIDI-кан.4) ниж ний байт номера параметра RPN: 00Н
(В3) 65 00 (MIDI-кан.4) верхний байт номера параметра RPN: 00Н
(В3) 06 0С (MIDI-кан.4) верхний байт величины параметра:0СН
(В3) 26 00 (MIDI-кан.4) ниж ний байт величины параметра:00Н
(В3) 64 7F (MIDI-кан.4) нижний байт номера параметра RPN: 7FH
(B3) 65 7F (MIDI-кан.4) верхний байт номера параметра RPN: 7FH
Иными словами, приведенные вы ше сообщения определяют ве личину 0С 00Н для номера
параметра RPN 00 00Н на MIDI-канале 4, а затем устанавливают номер параметра RPN на 7F
7FH.
Номер параметра RPN 00 00Н является чувствительностью изгиба питча, а MSB величины
указывает е диницы в полут онах, величи на 0СН = 12 устанавливает максимальный диапазон
изгиба питча на +- 12 полутонов (1 октава). (На GS-звуковых генераторах LSB
чувствительности изгиба питча игнорируется, но LSB следует передавать в любом случае (с
величиной 0), так чтобы операция была правильной на любом устройстве.)
После определения номера параметра для RPN и NRPN, все сообщения ввода данных (Data
Entry), которые пере даются на том же канале, будут действительными, так что пос ле передач и
нужной вели чины неплохо было бы установить номер параметра на 7F 7FH во избежа ние
сбоев. Поэтому (В3) 64 7F (B3) 65 7F находятся в конце.
События бегущего состояния для данных исп олне ния (таких как Standard MIDI File data/
данные стандартного MIDI-файла), как указано в <Примере 4>, нежелательны. Потом у что,
если вос произведение прекра щается во время сонга , а затем перематывается вперед или назад,
секвенсер может и не передать правильное состояние и тогда звуковой генератор неправильно
интерпретирует данные. Обязательно предоставьте каждому событию собственное состояние.
Также необходимо произвести в соответствующем порядке установку номера параметра и
установку величины RPN или NRPN . На некоторых секвен сера х события, происходящие в
одинаковом (или последовательном) хронометраже, могут передаваться в порядке, отличном
от порядка, в котором они прин ималис ь. Поэтому, неплохо было бы немного изменить
хронометраж каждого событ ия (около 1 тика для TPQN = 96 и около 5 тиков для TPQN = 480).
*TPQN: тики на длительность четвертной нот ы.

Содержание

Скачать