Subsystem Search

This page is read from MIDI Instrument Definitions, a Python library used in the author's other projects, in which every number is traced to a document its maker published. Its source is on GitHub.

Korg multi/poly MIDI implementation

The MIDI implementation of the Korg multi/poly: what it answers to, and the 50 controls it offers.

At a glance

Firmware
Not recorded.
MIDI channel
Any one of 1 to 16.
Parts
Layer A: on the base MIDI channel until the player gives it one of its own, taking notes and controls.
Layer B: on the base MIDI channel until the player gives it one of its own, taking notes and controls.
Layer C: on the base MIDI channel until the player gives it one of its own, taking notes and controls.
Layer D: on the base MIDI channel until the player gives it one of its own, taking notes and controls.
MIDI mode
3: omni off, poly.
Voices
60, shared by the parts that play notes.
Note range
0 to 127: C-1 to G9, counting middle C as C4.
Velocity
Sent and received. Release velocity is received.
Aftertouch
Channel pressure and polyphonic, each answered. It sends none.
Pitch bend
Not recorded.
Program change
Received and sent, with 64 presets.
MIDI clock
Sent and received.
Start and stop
Neither sent nor received.
Control change
Assigned by the player, apart from the 50 controls below.
NRPN
None.
System exclusive
Supported.

Controls

In the order the definition gives them, by part and group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("korg/multi_poly") has loaded them.

On the base MIDI channel

Scale select

Control CC Values
Scale Select
scale_select
9 0-127
The factory's number, which the player can change

Mod knobs

Control CC Values
Mod Knob 1
mod_knob_1
24 0-127
The factory's number, which the player can change
Mod Knob 2
mod_knob_2
25 0-127
The factory's number, which the player can change
Mod Knob 3
mod_knob_3
26 0-127
The factory's number, which the player can change
Mod Knob 4
mod_knob_4
27 0-127
The factory's number, which the player can change

Kaoss physics

Control CC Values
Kaoss Physics Finger On/Off
kaoss_finger
20 0-127
The factory's number, which the player can change
Kaoss Physics Throw 1
kaoss_throw_1
105 0-127
The factory's number, which the player can change
Kaoss Physics Throw 2
kaoss_throw_2
106 0-127
The factory's number, which the player can change
Kaoss Physics Throw 3
kaoss_throw_3
107 0-127
The factory's number, which the player can change
Kaoss Physics Throw 4
kaoss_throw_4
108 0-127
The factory's number, which the player can change
Kaoss Physics Throw 5
kaoss_throw_5
109 0-127
The factory's number, which the player can change
Kaoss Physics Throw 6
kaoss_throw_6
110 0-127
The factory's number, which the player can change
Kaoss Button
kaoss_button
12 0-127
Kaoss Pad X
kaoss_pad_x
18 0-127
The factory's number, which the player can change
Kaoss Pad Y
kaoss_pad_y
19 0-127
The factory's number, which the player can change

Controllers

Control CC Values
Modulation
modulation
1 0-127
Volume
volume
7 0-127
Received, never sent
Pan
pan
10 0-127
Received, never sent
Expression
expression
11 0-127
Received, never sent

Pedals

Control CC Values
Damper
damper
64 0-127
Sostenuto
sostenuto
66 0-127
Received, never sent
Soft
soft
67 0-127
Received, never sent

Layer A

Controllers

Control CC Values
Modulation
layer_a_modulation
1 0-127
Received, never sent; Only once moved off the base MIDI channel
Volume
layer_a_volume
7 0-127
Received, never sent; Only once moved off the base MIDI channel
Pan
layer_a_pan
10 0-127
Received, never sent; Only once moved off the base MIDI channel
Expression
layer_a_expression
11 0-127
Received, never sent; Only once moved off the base MIDI channel

Pedals

Control CC Values
Damper
layer_a_damper
64 0-127
Received, never sent; Only once moved off the base MIDI channel
Sostenuto
layer_a_sostenuto
66 0-127
Received, never sent; Only once moved off the base MIDI channel
Soft
layer_a_soft
67 0-127
Received, never sent; Only once moved off the base MIDI channel

Layer B

Controllers

Control CC Values
Modulation
layer_b_modulation
1 0-127
Received, never sent; Only once moved off the base MIDI channel
Volume
layer_b_volume
7 0-127
Received, never sent; Only once moved off the base MIDI channel
Pan
layer_b_pan
10 0-127
Received, never sent; Only once moved off the base MIDI channel
Expression
layer_b_expression
11 0-127
Received, never sent; Only once moved off the base MIDI channel

Pedals

Control CC Values
Damper
layer_b_damper
64 0-127
Received, never sent; Only once moved off the base MIDI channel
Sostenuto
layer_b_sostenuto
66 0-127
Received, never sent; Only once moved off the base MIDI channel
Soft
layer_b_soft
67 0-127
Received, never sent; Only once moved off the base MIDI channel

Layer C

Controllers

Control CC Values
Modulation
layer_c_modulation
1 0-127
Received, never sent; Only once moved off the base MIDI channel
Volume
layer_c_volume
7 0-127
Received, never sent; Only once moved off the base MIDI channel
Pan
layer_c_pan
10 0-127
Received, never sent; Only once moved off the base MIDI channel
Expression
layer_c_expression
11 0-127
Received, never sent; Only once moved off the base MIDI channel

Pedals

Control CC Values
Damper
layer_c_damper
64 0-127
Received, never sent; Only once moved off the base MIDI channel
Sostenuto
layer_c_sostenuto
66 0-127
Received, never sent; Only once moved off the base MIDI channel
Soft
layer_c_soft
67 0-127
Received, never sent; Only once moved off the base MIDI channel

Layer D

Controllers

Control CC Values
Modulation
layer_d_modulation
1 0-127
Received, never sent; Only once moved off the base MIDI channel
Volume
layer_d_volume
7 0-127
Received, never sent; Only once moved off the base MIDI channel
Pan
layer_d_pan
10 0-127
Received, never sent; Only once moved off the base MIDI channel
Expression
layer_d_expression
11 0-127
Received, never sent; Only once moved off the base MIDI channel

Pedals

Control CC Values
Damper
layer_d_damper
64 0-127
Received, never sent; Only once moved off the base MIDI channel
Sostenuto
layer_d_sostenuto
66 0-127
Received, never sent; Only once moved off the base MIDI channel
Soft
layer_d_soft
67 0-127
Received, never sent; Only once moved off the base MIDI channel

Where these facts come from

Source documents

How they were read

Owner's Manual, 133 pages, the edition Korg names E 2, published 01/2025: the MIDI implementation chart on printed p. 127, MIDI CC Assign on pp. 121-122, the specifications on p. 126, the structure on p. 3, the Layer's MIDI settings on p. 13, the modulation sources on p. 64, the Utility MIDI settings on pp. 118-120, and the aftertouch source on p. 120.

THE NUMBERS BELOW ARE OF TWO KINDS AND THE FILE KEEPS THEM APART. Nine are fixed, from the chart: modulation at CC 1, volume at 7, pan at 10, expression at 11, the Kaoss pad's two axes at 18 and 19, and the damper, sostenuto and soft pedals at 64, 66 and 67. Twelve are factory defaults a player can reassign, from MIDI CC Assign: "You can control Scale Select and each Mod Knob directly from MIDI CCs" (p. 121), and its table gives Scale Select 9, Mod Knobs 1 to 4 as 24 to 27, and Kaoss Physics "18-20, 105-110" (p. 121). They are recorded because a factory default is a fact about the instrument as it leaves the factory, and marked as defaults so that nothing reads them as fixed.

THE TWO PAGES AGREE WITH EACH OTHER. The chart marks "2-6, 8-9, 12-31, 32-63, 65, 67-95, 102-119" (p. 127) as "Assignable for controllers and modulation" (p. 127), which is 107 of the 128 numbers, and every default above falls inside it. Only CC 0 and CC 96 to 101 appear nowhere in that block at all.

THAT RANGE IS WHERE FOURTEEN THINGS MAY BE PUT, NOT A HUNDRED CONTROLLERS, and reading its two O marks without its footnote is the mistake this instrument invites. Footnote *1 narrows it: "Sent and received by Mod Knobs and Scale Select when assigned in UTILITY > MIDI CC Assign; also received as programmable modulation sources" (p. 127). The settings page offers exactly fourteen assignable slots - nine for Kaoss Physics, one for Scale Select, four for the Mod Knobs - and they are the fourteen numbers below that are not fixed.

AND THE CHART CONTRADICTS ITSELF ABOUT CC 67, exactly as the wavestate's does. Its own row gives 67 to the soft pedal, recognised and not sent, while the assignable range printed directly below it begins at 67 and is marked both ways. The same template, the same contradiction, on a second instrument - which makes it the chart's rather than the instrument's, though neither document says so. The dedicated row is followed here, as it is there, and 68 would make the range consistent; that is a guess rather than a reading, so it is not made.

READING THAT CHART NEEDS CARE AND THE REASON IS NOT THE ONE THE wavestate HAD. Three of its spans come back 29 below the characters they draw - the heading "Recognized" as 5HFRJQL]HG, and the two lines of the model block - which is the opsix's cipher on a page where nothing else needs it. Testing for odd bytes would decode the model line and leave the heading, because 5HFRJQL]HG is printable throughout; the font is what tells them apart. The columns here were settled from the page's own geometry, by the three vertical rules at x 215.0, 302.7 and 387.5 and by which of them each heading falls between, and the two mark columns are in the order they read - "Transmitted" left, "Recognized" right.

THE PAGE ALSO CARRIES A HEADING THAT IS NOT PRINTED ON IT. A span reading MIDI Implementation Chart sits above the visible "[Analog Modeling Synthesizer]" (p. 127) and renders as nothing at all, so an extractor reports a title the page does not show.

AND THE CHART CALLS THE X-Y PAD SOMETHING THE INSTRUMENT IS NOT. Its row for 18 and 19 reads "Kaoss Pad X, Y" (p. 127), where the front panel, the settings page and the chapter on it all say Kaoss Physics; Kaoss Pad is this maker's name for a different product line. The labels below follow the chart for those two numbers and the manual for the rest.

THE INSTRUMENT SENDS LESS THAN IT RECEIVES, which is what direction is for: volume, pan, expression, sostenuto and soft are recognised and never sent. Modulation, the two Kaoss pad axes and the damper travel both ways, and so does every default, which footnote *1 puts plainly: "Sent and received by Mod Knobs and Scale Select when assigned in UTILITY > MIDI CC Assign; also received as programmable modulation sources" (p. 127).

WHICH LAYER A MOD KNOB REACHES IS DECIDED BY THE CHANNEL AND NOT BY THE NUMBER. There are four Layers and one set of four Mod Knob numbers: "MIDI CCs received by and sent from the Program Mod Knobs, for any Layer with Use Global MIDI Channel enabled" (p. 118). So a Layer given a channel of its own answers to 24 to 27 on that channel. The format cannot write one control for whichever part receives it, and the rule this follows writes per-part copies of the standard controllers alone, so those four name no part and this says so instead.

SEVEN STANDARD CONTROLLERS ARE WRITTEN FIVE TIMES, SINCE 2026-10-14: once for the Global Channel and once for each Layer taken off it. A control naming no part is on the Global Channel, where a Layer left on it receives them. The seven keyed layer_a_ to layer_d_ are modulation, volume, pan, expression, damper, sostenuto and soft, numbers 1, 7, 10, 11, 64, 66 and 67, for a Layer whose Use Global MIDI Channel is off: its channel setting "sets the channel on which the Layer will receive MIDI" (p. 13). No page names the channel on which such a Layer receives any of the seven. They rest on that sentence and on the Layer's two switches: with Rx Other CCs on, the Layer "will respond normally to MIDI CCs" (p. 13), and the only number either switch names is 64, since with Rx Damper on the Layer "will respond to the connected damper pedal and to MIDI CC#64" (p. 13). Each of the seven is received only, since what the keyboard and its controllers send goes out on the Global Channel, "except for Program Mod Knobs" (p. 118). This is the modwave's arrangement, on the same sentences.

THE MOD KNOBS' 24 TO 27 ARE NOT WRITTEN FOR EACH LAYER, because the rule this follows writes per part only the standard controllers. The sentence of p. 13 covers their controllers as much as the seven, and p. 118 says more of them than any page says of the seven: the Global Channel carries their controllers "for any Layer with Use Global MIDI Channel enabled" (p. 118), and what the controllers send goes there "except for Program Mod Knobs" (p. 118). So, though no page says it in terms, 24 to 27 reach a Layer taken off the Global Channel on its own channel, as the paragraph on the Mod Knobs above says, and no control here carries that.

BOTH KINDS OF AFTERTOUCH ARE RECEIVED AND NEITHER IS SENT. The chart marks both Polyphonic (Key) and Channel aftertouch as recognised and neither as transmitted, and a setting chooses which reaches the sound: "AT Source ... Off: All aftertouch will be ignored. Channel: The mod source 'Aftertouch' receives Channel Aftertouch ... Poly: The mod source 'Aftertouch' receives Poly Aftertouch ... Chan+Poly: The mod source 'Aftertouch' receives both Channel and Poly Aftertouch" (p. 120). So voice.aftertouch is both, since the model answers to either kind and which one reaches the sound is the player's setting, and aftertouch_transmits is false. The keyboard itself has none: "Note: Aftertouch is supported via MIDI only" (p. 119).

NOT RECORDED: THE PITCH BEND RANGE. The chart marks pitch bend as travelling both ways and gives no span, and the words "bend range" appear on no page of the manual.

CHECKED AND ABSENT: NRPN and RPN. Neither word appears anywhere in the 133 pages, and the Property Exchange files hold no controller number at all. Transport likewise: the chart marks Song Position, Song Select, Tune Request and the real-time Commands X in both columns, so start and stop neither arrive nor leave, where the clock does both.