Yamaha QL5 Reference Manual - Page 252

MIDI Data Format, CHANNEL MESSAGE

Page 252 highlights

MIDI Data Format This section explains the format of the data that the QL series is able to understand, send, and receive. 1 CHANNEL MESSAGE 1.1 NOTE OFF (8n) Reception These messages are echoed to MIDI OUT if [OTHER COMMAND ECHO] is ON. They are received if [Rx CH] matches, and used to control effects. STATUS DATA 1000nnnn 8n Note off message 0nnnnnnn nn Note number 0vvvvvvv vv Velocity (ignored) 1.2 NOTE ON (9n) Reception These messages are echoed to MIDI OUT if [OTHER COMMAND ECHO] is ON. They are received if [Rx CH] matches, and used to control effects. STATUS DATA 1001nnnn 9n Note on message 0nnnnnnn nn Note number 0vvvvvvv vv Velocity (1-127:on, 0:off) 1.3 CONTROL CHANGE (Bn) Two types of CONTROL CHANGE can be transmitted and received; [NRPN] (Non-Registered Parameter Numbers) and freely-assigned [TABLE] (1CH x 110) messages. Select either [TABLE] or [NRPN]. Reception These messages are echoed to MIDI OUT if [CONTROL CHANGE ECHO] is ON. If [TABLE] is selected, these messages are received when [CONTROL CHANGE Rx] is ON and [Rx CH] matches, and will control parameters according to the settings of the [CONTROL CHANGE EVENT LIST]. For the parameters that can be assigned, refer to "Parameters that can be assigned to control changes" (page 22). If [NRPN] is selected, these messages are received when [CONTROL CHANGE Rx] is ON and the [Rx CH] matches; the four messages NRPN control number (62h, 63h) and DATA ENTRY control number (06h, 26h) are used to control the specified parameter. Transmission If [TABLE] is selected, and if [CONTROL CHANGE Tx] is ON when you operate a parameter that is assigned in the [CONTROL CHANGE EVENT LIST], these messages will be transmitted on the [Tx CH] channel. For the parameters that can be assigned, refer to "Parameters that can be assigned to control changes" (page 22). If [NRPN] is selected, and if [CONTROL CHANGE Tx] is ON when you operate a specified parameter, the four messages NRPN control number (62h, 63h) and DATA ENTRY control number (06h, 26h) are transmitted on the [Tx CH] channel. For the parameters that can be assigned, refer to "Parameters that can be assigned to control changes" (page 22). CONTROL CHANGE messages are not used for transmission to QL Editor because there is no guarantee that the contents of the assignment tables will match. (PARAMETER CHANGE messages are always used.) CONTROL CHANGE numbers 0 and 32 are for selecting banks. STATUS DATA STATUS DATA 1011nnnn Bn 00 0vvvvvvv vv 1011nnnn Bn 20 0vvvvvvv vv Control change Control number (00) Control Value (0-127) Control change Control number (32) Control Value (0-127) If [TABLE] is selected STATUS 1011nnnn Bn Control change DATA 0nnnnnnn nn Control number (1-5, 7-31, 33-37, 38-95, 102-119) * 0vvvvvvv vv Control Value (0-127) * Numbers 0, 32, and 96-01 cannot be used. * Control number 6, 38 can be used. Equation for converting a Control Value to parameter data paramSteps = paramMax - paramMin + 1; add = paramWidth / paramSteps; mod = paramWidth - add * paramSteps; curValue = paramSteps * add + mod / 2; (1) If the assigned parameter has fewer than 128 steps paramWidth = 128; rxValue = Control value; (2) If the assigned parameter has 128 or more but less than 16,384 steps paramWidth = 16384; (2-1) When High and Low data is received rxValue = Control value(High) * 128 + Control value(Low); (2-2) When only Low data is received rxValue = (curValue & 16256) + Control value(Low); (2-3) When only High data is received rxValue = Control value(High) * 128 + (curValue & 127); (3) If the assigned parameter has 16,384 or more but less than 2,097,152 steps paramWidth = 2097152; (3-1) When High, Middle, and Low data is received rxValue = Control value(High) * 16384 + Control value(Middle) * 128 + Control value(Low); (3-2) When only Low data is received rxValue = (curValue & 2097024) + Control value(Low); (3-3) When only Middle data is received rxValue = (curValue & 2080895) + Control value(Middle) * 128; (3-4) When only High data is received rxValue = (curValue & 16383) + Control value(High) * 16384; (3-5) When only Middle and Low data is received rxValue = (curValue & 2080768) + Control value(Middle) * 128 + Control value(Low); (3-6) When only High and Low data is received rxValue = (curValue & 16256) + Control value(High) * 16384 + Control value(Low); (3-7) When only High and Middle data is received rxValue = (curValue & 127) + Control value(High) * 16384 + Control value(Middle) * 128; if ( rxValue > paramWidth) rxValue = paramWidth; param = ( rxValue - mod / 2) / add; If [NRPN] is selected STATUS 1011nnnn Bn Control change DATA 01100010 62 NRPN LSB 0vvvvvvv vv Parameter number LSB STATUS 1011nnnn Bn Control change * DATA 01100011 63 NRPN MSB 0vvvvvvv vv Parameter number MSB STATUS 1011nnnn Bn Control change * DATA 00000110 06 Data entry MSB 0vvvvvvv vv Parameter data MSB STATUS 1011nnnn Bn Control change * DATA 00100110 26 Data entry LSB 0vvvvvvv vv Parameter data LSB * The STATUS byte of the second and subsequent messages need not be added during transmission. Reception must occur correctly whether or not the status byte is omitted. 1.4 PROGRAM CHANGE (Cn) Reception If [PROGRAM CHANGE ECHO] is ON, bank select messages will also be echoed from MIDI OUT. If SINGLE CH is selected, these messages are received if [PROGRAM CHANGE Rx] is ON and the [Rx CH] matches. However if [OMNI] is ON, these messages are received regardless of the channel. When these messages are received, scene memory, effect library and premium rack library are recalled according to the settings of the [PROGRAM CHANGE EVENT LIST]. Transmission If [PROGRAM CHANGE Tx] is ON, these messages are transmitted according to the [PROGRAM CHANGE Table] settings when scene memory, effect library and premium rack library are recalled. If SINGLE CH is selected, these messages are transmitted on the [Tx CH] channel. If the recalled scene memory, effect library and premium rack library have been assigned to more than one PROGRAM NUMBER, the lowest-numbered PROGRAM NUMBER for each MIDI channel will be transmitted. PROGRAM CHANGE messages are not used for transmission to QL Editor because there is no guarantee that the contents of the assignment tables will match. (PARAMETER CHANGE messages are always used.) You can choose either MULTI MIDI CH or SINGLE CH. If SINGLE is selected You can choose the Rx CH, OMNI CH, and Tx CH. You can choose whether a bank select message will be added. A bank of up to 16 can be specified. If MULTI is selected The Rx and Tx channels will be the same. The assignment table will use the settings for each MIDI channel. Bank select messages will not be added. You can make settings for up to sixteen MIDI channels. STATUS DATA 1100nnnn Cn Program change 0nnnnnnn nn Program number (0-127) 33 Data List

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264

Data List
33
MIDI Data Format
This section explains the format of the data that the QL series
is able to understand, send, and receive.
1
CHANNEL MESSAGE
1.1
NOTE OFF
(8n)
Reception
These messages are echoed to MIDI OUT if [OTHER COMMAND ECHO] is ON.
They are received if [Rx CH] matches, and used to control effects.
1.2
NOTE ON
(9n)
Reception
These messages are echoed to MIDI OUT if [OTHER COMMAND ECHO] is ON.
They are received if [Rx CH] matches, and used to control effects.
1.3
CONTROL CHANGE
(Bn)
Two types of CONTROL CHANGE can be transmitted and received; [NRPN]
(Non-Registered Parameter Numbers) and freely-assigned [TABLE] (1CH x 110)
messages. Select either [TABLE] or [NRPN].
Reception
These messages are echoed to MIDI OUT if [CONTROL CHANGE ECHO] is ON.
If [TABLE] is selected, these messages are received when [CONTROL CHANGE Rx]
is ON and [Rx CH] matches, and will control parameters according to the settings
of the [CONTROL CHANGE EVENT LIST]. For the parameters that can be
assigned, refer to “
Parameters that can be assigned to control changes
(
page 22
).
If [NRPN] is selected, these messages are received when [CONTROL CHANGE Rx]
is ON and the [Rx CH] matches; the four messages NRPN control number (62h,
63h) and DATA ENTRY control number (06h, 26h) are used to control the
specified parameter.
Transmission
If [TABLE] is selected, and if [CONTROL CHANGE Tx] is ON when you operate a
parameter that is assigned in the [CONTROL CHANGE EVENT LIST], these
messages will be transmitted on the [Tx CH] channel. For the parameters that can
be assigned, refer to “
Parameters that can be assigned to control changes
(
page 22
).
If [NRPN] is selected, and if [CONTROL CHANGE Tx] is ON when you operate a
specified parameter, the four messages NRPN control number (62h, 63h) and
DATA ENTRY control number (06h, 26h) are transmitted on the [Tx CH] channel.
For the parameters that can be assigned, refer to “
Parameters that can be
assigned to control changes
” (
page 22
).
CONTROL CHANGE messages are not used for transmission to QL Editor because
there is no guarantee that the contents of the assignment tables will match.
(PARAMETER CHANGE messages are always used.)
CONTROL CHANGE numbers 0 and 32 are for selecting banks.
If [TABLE] is selected
Equation for converting a Control Value to parameter data
paramSteps
= paramMax – paramMin + 1;
add
= paramWidth / paramSteps;
mod
= paramWidth – add * paramSteps;
curValue
= paramSteps * add + mod / 2;
(1) If the assigned parameter has fewer than 128 steps
paramWidth = 128; rxValue = Control value;
(2) If the assigned parameter has 128 or more but less than 16,384 steps
paramWidth = 16384;
(2-1) When High and Low data is received
rxValue = Control value(High) * 128 + Control value(Low);
(2-2) When only Low data is received
rxValue = (curValue & 16256) + Control value(Low);
(2-3) When only High data is received
rxValue = Control value(High) * 128 + (curValue & 127);
(3) If the assigned parameter has 16,384 or more but less than 2,097,152
steps
paramWidth = 2097152;
(3-1) When High, Middle, and Low data is received
rxValue = Control value(High) * 16384 + Control value(Middle) * 128 + Control value(Low);
(3-2) When only Low data is received
rxValue = (curValue & 2097024) + Control value(Low);
(3-3) When only Middle data is received
rxValue = (curValue & 2080895) + Control value(Middle) * 128;
(3-4) When only High data is received
rxValue = (curValue & 16383) + Control value(High) * 16384;
(3-5) When only Middle and Low data is received
rxValue = (curValue & 2080768) + Control value(Middle) * 128 + Control value(Low);
(3-6) When only High and Low data is received
rxValue = (curValue & 16256) + Control value(High) * 16384 + Control value(Low);
(3-7) When only High and Middle data is received
rxValue = (curValue & 127) + Control value(High) * 16384 + Control value(Middle) * 128;
if ( rxValue > paramWidth)
rxValue = paramWidth;
param = ( rxValue – mod / 2) / add;
If [NRPN] is selected
1.4
PROGRAM CHANGE
(Cn)
Reception
If [PROGRAM CHANGE ECHO] is ON, bank select messages will also be echoed
from MIDI OUT.
If SINGLE CH is selected, these messages are received if [PROGRAM CHANGE Rx]
is ON and the [Rx CH] matches. However if [OMNI] is ON, these messages are
received regardless of the channel. When these messages are received, scene
memory, effect library and premium rack library are recalled according to the
settings of the [PROGRAM CHANGE EVENT LIST].
Transmission
If [PROGRAM CHANGE Tx] is ON, these messages are transmitted according to
the [PROGRAM CHANGE Table] settings when scene memory, effect library and
premium rack library are recalled.
If SINGLE CH is selected, these messages are transmitted on the [Tx CH] channel.
If the recalled scene memory, effect library and premium rack library have been
assigned to more than one PROGRAM NUMBER, the lowest-numbered
PROGRAM NUMBER for each MIDI channel will be transmitted.
PROGRAM CHANGE messages are not used for transmission to QL Editor because
there is no guarantee that the contents of the assignment tables will match.
(PARAMETER CHANGE messages are always used.)
You can choose either MULTI MIDI CH or SINGLE CH.
If SINGLE is selected
You can choose the Rx CH, OMNI CH, and Tx CH.
You can choose whether a bank select message will be added.
A bank of up to 16 can be specified.
If MULTI is selected
The Rx and Tx channels will be the same.
The assignment table will use the settings for each MIDI channel. Bank select
messages will not be added.
You can make settings for up to sixteen MIDI channels.
STATUS
1000nnnn 8n
Note off message
DATA
0nnnnnnn nn
Note number
0vvvvvvv vv
Velocity (ignored)
STATUS
1001nnnn 9n
Note on message
DATA
0nnnnnnn nn
Note number
0vvvvvvv vv
Velocity (1-127:on, 0:off)
STATUS
1011nnnn Bn
Control change
DATA
00
Control number (00)
0vvvvvvv vv
Control Value (0-127)
STATUS
1011nnnn Bn
Control change
DATA
20
Control number (32)
0vvvvvvv vv
Control Value (0-127)
STATUS
1011nnnn Bn
Control change
DATA
0nnnnnnn nn
Control number (1-5, 7-31, 33-37, 38-95,
102-119) *
0vvvvvvv vv
Control Value (0-127)
*
Numbers 0, 32, and 96–01 cannot be used.
*
Control number 6, 38 can be used.
STATUS
1011nnnn Bn
Control change
DATA
01100010 62
NRPN LSB
0vvvvvvv vv
Parameter number LSB
STATUS
1011nnnn Bn
Control change *
DATA
01100011 63
NRPN MSB
0vvvvvvv vv
Parameter number MSB
STATUS
1011nnnn Bn
Control change *
DATA
00000110 06
Data entry MSB
0vvvvvvv vv
Parameter data MSB
STATUS
1011nnnn Bn
Control change *
DATA
00100110 26
Data entry LSB
0vvvvvvv vv
Parameter data LSB
*
The STATUS byte of the second and subsequent messages need not
be added during transmission.
Reception must occur correctly whether or not the status byte is
omitted.
STATUS
1100nnnn Cn
Program change
DATA
0nnnnnnn nn
Program number (0-127)