beautypg.com

Midi data format – Yamaha LS9 User Manual

Page 260

background image

MIDI Data Format

260

LS9-16/32 Owner’s Manual

This section explains the format of the data that the LS9 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” on
page 249.
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” on page 249.
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” on page 249.
CONTROL CHANGE messages are not used for transmission to LS9 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

MIDI Data Format

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–101 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.