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 modwave mk II MIDI implementation
The MIDI implementation of the Korg modwave mk II: what it answers to, and the 22 controls it offers, on firmware 3.0.
At a glance
- Firmware
- This page describes firmware 3.0.
- MIDI channel
- Any one of 1 to 16.
- Parts
- Layer, 2 of them: each 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, or 1 as set on the instrument, 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
- How far it bends is not recorded, and the range can be changed.
- 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 22 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/modwave_mk_ii") has loaded them.
On the base MIDI channel
Controllers
| Control | CC | Values |
|---|---|---|
Modulationmodulation |
1 | 0-127 |
Volumevolume |
7 | 0-127 Received, never sent |
Panpan |
10 | 0-127 Received, never sent |
Expressionexpression |
11 | 0-127 Received, never sent |
Kaoss physics
| Control | CC | Values |
|---|---|---|
Kaoss Pad Xkaoss_pad_x |
18 | 0-127 |
Kaoss Pad Ykaoss_pad_y |
19 | 0-127 |
Kaoss Bttnkaoss_button |
12 | 0-127 |
Pedals
| Control | CC | Values |
|---|---|---|
Damperdamper |
64 | 0-127 |
Sostenutosostenuto |
66 | 0-127 Received, never sent |
Softsoft |
67 | 0-127 Received, never sent |
Scale
| Control | CC | Values |
|---|---|---|
Scale Selectscale_select |
9 | 0-127 The factory's number, which the player can change |
Mod knobs
| Control | CC | Values |
|---|---|---|
Mod Knob 1mod_knob_1 |
24 | 0-127 The factory's number, which the player can change |
Mod Knob 2mod_knob_2 |
25 | 0-127 The factory's number, which the player can change |
Mod Knob 3mod_knob_3 |
26 | 0-127 The factory's number, which the player can change |
Mod Knob 4mod_knob_4 |
27 | 0-127 The factory's number, which the player can change |
Layer
Controllers
| Control | CC | Values |
|---|---|---|
Modulationlayer_modulation |
1 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Volumelayer_volume |
7 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Panlayer_pan |
10 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Expressionlayer_expression |
11 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Pedals
| Control | CC | Values |
|---|---|---|
Damperlayer_damper |
64 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Sostenutolayer_sostenuto |
66 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Softlayer_soft |
67 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Where these facts come from
Source documents
- modwave Owner's Manual, E3, dated 22 March 2024, its user manual, read on 3 October 2026 (the file read).
- modwave Property Exchange MIDI Implementation, Version 1.1, dated 8 September 2025, its MIDI implementation, read on 3 October 2026 (the file read).
- modwave Property Exchange Resource List, Version 1.1, dated 8 September 2025, its MIDI implementation, read on 3 October 2026 (the file read).
- About the modwave mkII, EFGSCJ 2, dated 14 December 2023, its release notes, read on 3 October 2026 (the file read).
- Downloads | modwave mk II | KORG (USA), its download page, read on 3 October 2026 (the file read).
- Downloads | modwave | KORG (USA), its download page, read on 3 October 2026 (the file read).
How they were read
modwave Owner's Manual, edition E3, 113 pages, dated 2024-03-22 on Korg's download page and created 2024-03-20 by its own metadata. Korg publishes no separate MIDI implementation document for this instrument - what it offers under that name is a Property Exchange MIDI Implementation, which is 310 lines of system exclusive and carries no controller number at all. So the manual's own MIDI Implementation Chart, on printed page 107, is the whole of the published control map.
ONE DOCUMENT SET, THREE PRODUCTS. "These manuals apply to all modwave models with software version 3.0 or later, collectively referred to as 'the modwave'" (manual p. 1), and the specification names the three: "modwave: 32 stereo voices; modwave mkII and modwave module: 60 stereo voices" (manual p. 106). Korg's download pages agree: the modwave's page and the modwave mk II's offer the same sixteen files under the same file ids, and the mk II's has exactly one addition - "About the modwave mkII" (download_page), whose whole content is that one difference. The manual's own Title metadata names all three where its cover names one. So the voice count is the only thing in this definition that is the mk II's rather than the modwave's.
THE CHART IS THE STANDARD FOUR-COLUMN FORM and all twelve of its groups are present. Its Control Change section names nine controller numbers and gives one assignable range, and the directions are not all the same: Modulation, the two Kaoss Pad axes and Damper are marked O in both columns, while Volume, Pan, Expression, Sostenuto and Soft are X transmitted and O recognised. Those five carry a direction of their own below.
THREE CONTROLLER NUMBERS ARE PRINTED TWICE, on a named row and again inside an assignable range, and the two statements disagree about direction. CC 67 is "Soft", X transmitted and O recognised, and is also inside "67-95", which is O and O. CC 18 and CC 19 are "Kaoss Pad X, Y" (manual p. 107), O and O, and are also inside "12-31". Each is recorded as its named row, because that row says what the number is for where the range says only that a player may re-use it.
This is not a misprint, although one number alone would look like one. If 67 were the only name falling inside a range, "67-95" would read as a slip for 68-95 - the other named numbers sit just outside their neighbouring ranges, 1 before "2-6", 7 before "8-9", 64 before "65". But 18 and 19 fall inside "12-31" the same way, so printing a name and then including the number in a range is something this chart does three times and not once.
A THIRD LIST NAMES THE ONE CONTROLLER THE CHART DOES NOT. The modulation sources under "Controllers" give three numbers with their own names: "Mod Wheel CC 1 This is the built-in Mod Wheel (unipolar MIDI CC#1)" (manual p. 70) and "Damper CC 64 This is the damper or sustain pedal (unipolar MIDI CC#64)" (manual p. 71) corroborate two of the chart's rows, and "Kaoss Bttn CC 12 This is the front-panel KAOSS button (unipolar MIDI CC#12)" (manual p. 71) gives a controller the chart mentions only by folding 12 into "12-31". It is below, because a number with a name and a purpose is a control whichever table prints it.
THE KAOSS PAD'S TWO AXES ARE STATED TWICE AS WELL, which is worth having for a pair of numbers no other instrument here uses: "When you move your finger on the x-y pad, the X and Y positions are sent as MIDI CCs 18 and 19, respectively" (manual p. 47), against the chart's own row for 18 and 19.
FIVE MORE NUMBERS COME FROM A SECOND TABLE, "MIDI CC Assign" (manual p. 101), which gives a "Default CC assignment" (manual p. 101) of 9 for Scale Select and, over the page, of 24 to 27 for the knobs, in a row printed Mod Knobs 1…4 24…27 (manual p. 102). The chart's footnote ties the two together: those controls are "Sent and received by Mod Knobs and Scale Select when assigned in UTILITY > MIDI CC Assign; also received as programmable modulation sources" (manual p. 107). All five lie inside the assignable range, so they are a factory assignment a player can change. The four Mod Knob numbers are stated twice: Korg's Property Exchange Resource List carries an X-ParameterList (e.g.) whose four entries give "controlcc": 24 to 27 (resource_list). That file never names a Mod Knob. The tie is the four numbers, and two of its four names: its entries are Balance, Envelope, Animator and Process, each with a default, and the manual's picture of the Mod Knobs screen shows BALANCE on knob 1 and PROCESS on knob 4, with GROOVE and WOBBLE between them (manual p. 70). The knobs can be named, and the two documents name the middle two differently, so the names are one sound's: the file's Channel List example, which links to this list, gives its programTitle as Cassini. None of the names or defaults is taken. The numbers are the same four. The manual says the same thing in prose: "Each knob sends and receives a MIDI CC" (manual p. 70), which is where their direction comes from.
THE ONE BLOCK OF CONTROLLER NUMBERS THE CHART ACCOUNTS FOR NOWHERE IS 96 TO 101, and that is why no NRPN is recorded. Its Control Change section runs from 1 to 95 without a gap, between the named rows and the ranges, and then gives 102 to 119 and 120, 121. Its Aux Messages section adds 123 to 127 by number, on the All Notes Off row, and names 122 without its number as "Local On/Off" (manual p. 107). Nought is bank select, which sixty-four program changes do not need. So what no part of the chart reaches is 96, 97, 98, 99, 100 and 101 - data increment and decrement, and the NRPN and RPN parameter numbers. The chart has no NRPN row either, and the words NRPN, RPN and Data Entry appear in none of this instrument's documents.
TWO LAYERS, EACH ADDRESSABLE ON A CHANNEL OF ITS OWN. "A Performance has two Layers (A and B), Kaoss Physics, and a master reverb and EQ" (manual p. 3), and each Layer chooses: "Use Global MIDI Channel ... On: This is the default. The Layer will play from the built-in keyboard, and receive on the Global Channel. Off: The Layer will receive on the channel specified below, and will not play from the built-in keyboard" (manual p. 13), with "MIDI Channel [1...16]" (manual p. 13) beneath it.
WHAT A LAYER TAKES AND WHAT IT DOES NOT. Each one has an Rx Other CCs switch (manual p. 13) whose off position tells you what the on position means: the Layer then "will ignore all MIDI CCs (except for CC#64), as well as Aftertouch, Poly Aftertouch, and Pitch Bend" (manual p. 14). So notes, controllers, both kinds of aftertouch and pitch bend all reach a Layer. Program change does not: it is global, listed under the Global Channel as "Program Change (via Set Lists)" (manual p. 98), so a Layer's receives stops at notes and controls.
SEVEN STANDARD CONTROLLERS ARE WRITTEN TWICE, once for the Global Channel and once for a Layer taken off it. A control naming no part is on the Global Channel. For the seven, that is where a Layer left on it receives them, its two Rx switches allowing. The seven keyed layer_ 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" (manual p. 13). No page marks any of the seven with a channel. They rest on that sentence and on the two switches, and the only number either switch names is 64: with Rx Damper on, the Layer "will respond to the connected damper pedal and to MIDI CC#64" (manual p. 13). Each of the seven is received only, since what the keyboard and its controllers send, the Mod Knobs apart, goes out on the Global Channel (manual p. 98). Nor does a page say what five of them act on. Volume, pan, expression, sostenuto and soft are rows of the chart, and 7 is named once more as a dedicated controller that cannot be reassigned (manual p. 101); neither place says what they act on, and the instrument has three volumes, for the Program (manual p. 10), the Layer (manual p. 13) and the Performance (manual p. 14). And no page says in terms whether a Layer taken off the Global Channel still answers the wheel, the pedal or these numbers arriving on the Global Channel. The setting says such a Layer "will receive on the channel specified below, and will not play from the built-in keyboard" (manual p. 13), and the sentence of Rx Damper about the connected pedal makes no exception for it.
The other numbers below name no part only because the rule this follows covers the standard controllers: Rx Other CCs is each Layer's switch for the controllers it answers. Three are less simple. Kaoss Physics, which the pad's two axes feed, is the Global Channel's own (manual p. 98), whatever channel a Layer is on; the Kaoss button is a modulation source like the wheel (manual p. 71), and no page puts it on the Global Channel alone. Scale Select is given no channel on any page. And for the Mod Knobs the manual speaks only of a Layer left on the Global Channel (manual p. 98), so which channel carries a knob for a Layer taken off it is not stated.
PROGRAM CHANGE SELECTS A SET LIST SLOT AND THERE ARE 64 OF THEM. "A Set List has 64 Slots, arranged into four banks A- D, corresponding to MIDI Program Change messages 1-64" (manual p. 5) - the maker's own spacing - and the chart gives Program Change as 0-63 both ways with the remark "Selects Slots in the current Set List" (manual p. 107). Sixty-four slots numbered from zero on the wire and from one on the panel, which is the ordinary off-by-one and not a disagreement.
NOT RECORDED: a single default MIDI channel, because the chart gives the Basic Channel's Default as the whole range, "1-16" in both columns, with the remark "Memorized" (manual p. 107) - so the instrument remembers whatever it was set to and the maker publishes no factory value. How far pitch bend reaches, because the two parameters that set it, "Pitch Bend Up" (manual p. 63) and "Pitch Bend Down" (manual p. 63), each run "-60...+60" semitones (manual p. 63) and no default is given for either. And what any of the 101 assignable controller numbers does, since that is a player's choice.