E-Mu Classic keys Operation Manual page 113

Table of Contents

Advertisement

MIDI
Specification
REFERENCE SECTION
NOTE 1 - PROGRAM MAPPING
MIDI program changes will normally
correspond to internal preset numbers 0-
127. However, the user may "re-map" any
MIDI program number, assigning it to an
arbitrary internal preset. This feature
allows any of the internal presets to be
selected from a MIDI keyboard controller.
NOTE 2 - SOUND SETS
A Classic Keys sound set consists of
sample data (sound ROMs), plus addi-
tional instrument data in the program
ROMs. Each sound set has a unique ID
number.
The sound set for Classic Keys is 6.
It is necessary to include the sound set
number as part of the instrument number
when exchanging data. The complete
instrument number contains two fields:
bits 8-12 specify the sound set (0-31) and
bits 0-7 specify the instrument within the
sound set (0-255).
Instrument Bit Fields:
12
8 7
<— sound set —> <—instrument # —>
(5 bits)
Within any given sound set, the first
instrument is #1 and #0 selects "None".
The "magic number" 1536 represents the
start number for the Classic Keys instru-
ments. To calculate the complete instru-
ment number follow the instructions
below.
SysEx Instr. No. = 1536 + Instr. No.
Next you must convert the SysEx instru-
ment number to a 14-bit MIDI number.
See the information on 14-bit 2's comple-
ment numbers.
Example:
Suppose we want to change the
instrument to I002 B3 Dist Fast.
1) 1536 + 2 = 1538
2) 1538 ÷ 128 = 12 r-2 = 12 (ignore
remainder)
3) 12 in Hex = 0C = msb
4) remainder 2 in Hex = 02 = lsb
5) SysEx Instrument Number =
The complete message to change the
primary instrument to #002:
F0 18 04 dd 03 17 00 02 0C F7
14-bit Signed 2's Complement Numbers
If the data value is negative, you must
first take the 2's complement of the
number: In the case of a 14-bit number
this is equivalent to adding 16384 to the
original negative value.
0
To fit the 7-bit MIDI protocol, numbers
must be "nibble-ized".
(8 bits)
• To get the 14-bit nibble-ized value (of a
positive value or a 2's complemented
negative value):
msb = value DIV 128 (divide and ignore
the remainder)
lsb = value MOD 128 (divide and use only
the remainder)
lsb
msb
02
0C
111

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents