Midi Data Format - Yamaha M7CL-32 Service Manual

M7cl series digital mixing console
Hide thumbs Also See for M7CL-32:
Table of Contents

Advertisement

M7CL-32/M7CL-48

MIDI DATA FORMAT

This section explains the format of the data that the M7CL is able
to understand, send, and receive.
1 CHANNEL MESSAGE
1.1 NOTE OFF
Reception
These messages are echoed to MIDI OUT if [OTHER ECHO] is
ON.
They are received if [Rx CH] matches, and used to control effects.
STATUS
1000nnnn 8n Note off message
DATA
0nnnnnnn nn Note number
0vvvvvvv vv Velocity(ignored)
1.2 NOTE ON
Reception
These messages are echoed to MIDI OUT if [OTHER ECHO] is
ON.
They are received if [Rx CH] matches, and used to control effects.
STATUS
1001nnnn 9n Note on message
DATA
0nnnnnnn nn Note number
0vvvvvvv vv Velocity (1-127:on, 0:off)
1.3 CONTROL CHANGE
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 assign table].
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 assign table],
these messages will be transmitted on the [Tx CH] channel.
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.
Control Change messages are not used for transmission to M7CL
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
1011nnnn Bn Control change
DATA
0vvvvvvv vv Control Value (0-127)
STATUS
1011nnnn Bn Control change
DATA
0vvvvvvv vv Control Value (0-127)
202
(8n)
(9n)
(Bn)
00 Control number (00)
20 Control number (32)
If [TABLE] is selected
STATUS
1011nnnn Bn Control change
DATA
0nnnnnnn nn Control number (1-5, 7-31, 33-37,
0vvvvvvv vv Control Value (0-127)
* Numbers 0, 32, and 96 - 101 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
38-95, 102-119) *

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

M7cl-48

Table of Contents