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 wavestate MIDI implementation
The MIDI implementation of the Korg wavestate: what it answers to, and the 78 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. - Voices
- 64, 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 78 controls below.
- NRPN
- Not recorded.
- 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/wavestate") has loaded them.
On the base MIDI channel
Scale select
| Control | CC | Values |
|---|---|---|
Scale Selectscale_select |
9 | 0-127 The factory's number, which the player can change |
Performance mod knobs
| Control | CC | Values |
|---|---|---|
Performance Mod Knob 1perf_mod_1 |
24 | 0-127 The factory's number, which the player can change |
Performance Mod Knob 2perf_mod_2 |
25 | 0-127 The factory's number, which the player can change |
Performance Mod Knob 3perf_mod_3 |
26 | 0-127 The factory's number, which the player can change |
Performance Mod Knob 4perf_mod_4 |
27 | 0-127 The factory's number, which the player can change |
Performance Mod Knob 5perf_mod_5 |
28 | 0-127 The factory's number, which the player can change |
Performance Mod Knob 6perf_mod_6 |
29 | 0-127 The factory's number, which the player can change |
Performance Mod Knob 7perf_mod_7 |
30 | 0-127 The factory's number, which the player can change |
Performance Mod Knob 8perf_mod_8 |
31 | 0-127 The factory's number, which the player can change |
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 |
Vector Joystick Xvector_joystick_x |
16 | 0-127 |
Vector Joystick Yvector_joystick_y |
17 | 0-127 |
Pedals
| Control | CC | Values |
|---|---|---|
Damperdamper |
64 | 0-127 |
Sostenutosostenuto |
66 | 0-127 Received, never sent |
Softsoft |
67 | 0-127 Received, never sent |
Layer A
Layer A mod knobs
| Control | CC | Values |
|---|---|---|
Layer A Mod Knob 1layer_a_mod_1 |
80 | 0-127 The factory's number, which the player can change |
Layer A Mod Knob 2layer_a_mod_2 |
81 | 0-127 The factory's number, which the player can change |
Layer A Mod Knob 3layer_a_mod_3 |
82 | 0-127 The factory's number, which the player can change |
Layer A Mod Knob 4layer_a_mod_4 |
83 | 0-127 The factory's number, which the player can change |
Layer A Mod Knob 5layer_a_mod_5 |
84 | 0-127 The factory's number, which the player can change |
Layer A Mod Knob 6layer_a_mod_6 |
85 | 0-127 The factory's number, which the player can change |
Layer A Mod Knob 7layer_a_mod_7 |
86 | 0-127 The factory's number, which the player can change |
Layer A Mod Knob 8layer_a_mod_8 |
87 | 0-127 The factory's number, which the player can change |
Controllers
| Control | CC | Values |
|---|---|---|
Modulationlayer_a_modulation |
1 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Volumelayer_a_volume |
7 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Panlayer_a_pan |
10 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Expressionlayer_a_expression |
11 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Pedals
| Control | CC | Values |
|---|---|---|
Damperlayer_a_damper |
64 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Sostenutolayer_a_sostenuto |
66 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Softlayer_a_soft |
67 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Layer B
Layer B mod knobs
| Control | CC | Values |
|---|---|---|
Layer B Mod Knob 1layer_b_mod_1 |
88 | 0-127 The factory's number, which the player can change |
Layer B Mod Knob 2layer_b_mod_2 |
89 | 0-127 The factory's number, which the player can change |
Layer B Mod Knob 3layer_b_mod_3 |
90 | 0-127 The factory's number, which the player can change |
Layer B Mod Knob 4layer_b_mod_4 |
91 | 0-127 The factory's number, which the player can change |
Layer B Mod Knob 5layer_b_mod_5 |
92 | 0-127 The factory's number, which the player can change |
Layer B Mod Knob 6layer_b_mod_6 |
93 | 0-127 The factory's number, which the player can change |
Layer B Mod Knob 7layer_b_mod_7 |
94 | 0-127 The factory's number, which the player can change |
Layer B Mod Knob 8layer_b_mod_8 |
95 | 0-127 The factory's number, which the player can change |
Controllers
| Control | CC | Values |
|---|---|---|
Modulationlayer_b_modulation |
1 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Volumelayer_b_volume |
7 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Panlayer_b_pan |
10 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Expressionlayer_b_expression |
11 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Pedals
| Control | CC | Values |
|---|---|---|
Damperlayer_b_damper |
64 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Sostenutolayer_b_sostenuto |
66 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Softlayer_b_soft |
67 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Layer C
Layer C mod knobs
| Control | CC | Values |
|---|---|---|
Layer C Mod Knob 1layer_c_mod_1 |
102 | 0-127 The factory's number, which the player can change |
Layer C Mod Knob 2layer_c_mod_2 |
103 | 0-127 The factory's number, which the player can change |
Layer C Mod Knob 3layer_c_mod_3 |
104 | 0-127 The factory's number, which the player can change |
Layer C Mod Knob 4layer_c_mod_4 |
105 | 0-127 The factory's number, which the player can change |
Layer C Mod Knob 5layer_c_mod_5 |
106 | 0-127 The factory's number, which the player can change |
Layer C Mod Knob 6layer_c_mod_6 |
107 | 0-127 The factory's number, which the player can change |
Layer C Mod Knob 7layer_c_mod_7 |
108 | 0-127 The factory's number, which the player can change |
Layer C Mod Knob 8layer_c_mod_8 |
109 | 0-127 The factory's number, which the player can change |
Controllers
| Control | CC | Values |
|---|---|---|
Modulationlayer_c_modulation |
1 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Volumelayer_c_volume |
7 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Panlayer_c_pan |
10 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Expressionlayer_c_expression |
11 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Pedals
| Control | CC | Values |
|---|---|---|
Damperlayer_c_damper |
64 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Sostenutolayer_c_sostenuto |
66 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Softlayer_c_soft |
67 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Layer D
Layer D mod knobs
| Control | CC | Values |
|---|---|---|
Layer D Mod Knob 1layer_d_mod_1 |
110 | 0-127 The factory's number, which the player can change |
Layer D Mod Knob 2layer_d_mod_2 |
111 | 0-127 The factory's number, which the player can change |
Layer D Mod Knob 3layer_d_mod_3 |
112 | 0-127 The factory's number, which the player can change |
Layer D Mod Knob 4layer_d_mod_4 |
113 | 0-127 The factory's number, which the player can change |
Layer D Mod Knob 5layer_d_mod_5 |
114 | 0-127 The factory's number, which the player can change |
Layer D Mod Knob 6layer_d_mod_6 |
115 | 0-127 The factory's number, which the player can change |
Layer D Mod Knob 7layer_d_mod_7 |
116 | 0-127 The factory's number, which the player can change |
Layer D Mod Knob 8layer_d_mod_8 |
117 | 0-127 The factory's number, which the player can change |
Controllers
| Control | CC | Values |
|---|---|---|
Modulationlayer_d_modulation |
1 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Volumelayer_d_volume |
7 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Panlayer_d_pan |
10 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Expressionlayer_d_expression |
11 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Pedals
| Control | CC | Values |
|---|---|---|
Damperlayer_d_damper |
64 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Sostenutolayer_d_sostenuto |
66 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Softlayer_d_soft |
67 | 0-127 Received, never sent; Only once moved off the base MIDI channel |
Where these facts come from
Source documents
- wavestate Owner's Manual (English), E3, dated March 2024, its user manual, read on 1 October 2026 (the file read).
- wavestate Property Exchange MIDI Implementation, Version 1.1 (2025/9/3), dated 18 September 2025, its MIDI implementation, read on 1 October 2026 (the file read).
- New in wavestate 2.0, E1, dated 1 March 2022, its release notes, read on 1 October 2026 (the file read).
How they were read
Owner's Manual (100pp, the edition Korg names E3, published 03/2024): printed pp. 3, 13, 15, 56, 58, 60, 84, 85, 86, 88, 93, 94.
KORG PUBLISHES NO CONTROL-CHANGE CHART FOR THIS INSTRUMENT, which is the first thing to know about it. The file on its download page called wavestate/Property Exchange MIDI Implementation is a MIDI-CI document: Discovery, Property Exchange Capabilities, Get Property Data, Subscription, and the system exclusive byte layout that carries them. It holds no controller number at all. The same maker's file of that name for the minilogue xd is a control-change map, so the title means two different things on two of its own pages. So the numbers below come from two pages of the manual, and they are of two kinds.
FORTY-ONE OF THEM ARE DEFAULTS RATHER THAN FACTS ABOUT THE MODEL. "MIDI CC Assign" (manual p. 88) is a two-column table headed Function and "Default CC assignment" (manual p. 88), giving Scale Select 9, Performance Mod Knobs 1-8 as 24-31, and four layers of eight Mod Knobs as 80-87, 88-95, 102-109 and 110-117. The player can reassign any of them, and the page says which cannot be used: "Some dedicated CCs cannot be assigned (CCs 1, 7, etc.)" (manual p. 88). They are recorded because a factory default is a fact about the instrument, and marked assignment: default so that nothing reads them as fixed.
NINE ARE FIXED, from the MIDI implementation chart at printed p. 94: modulation at CC 1, volume at 7, pan at 10, expression at 11, the vector joystick's two axes at 16 and 17, and the damper, sostenuto and soft pedals at 64, 66 and 67. The chart also marks "2-6, 8-9, 12-31, 32-63, 65, 67-95, 102-119" (manual p. 94) as "Assignable for controllers and modulation" (manual p. 94), which is 107 of the 128 numbers; every one of the defaults above falls inside it, so the two pages agree.
THE CHART CONTRADICTS ITSELF ABOUT CC 67, and the file follows the dedicated row. Its own row gives 67 to the soft pedal, received and not sent, while the assignable range printed directly below it begins at 67 and is marked both ways. One of the two is wrong and the document does not say which; 68 would make the range consistent, and that is a guess rather than a reading, so it is not made here.
READING THAT CHART NEEDS CARE, and this is recorded for whoever checks it next. Its two mark columns are drawn in a single text run whose characters read RecognizedTransmitted, which is the reverse of their order on the page: the stream draws "Recognized" first and then jumps backwards to draw "Transmitted". Taking the text at face value inverts every direction in the file. The columns were settled from the page's own geometry, by the three vertical rules at x 215.0, 302.7 and 387.5 and by where each heading's glyphs fall between them, and the reading agrees with the marks themselves: the instrument does not transmit volume, polyphonic aftertouch or All Notes Off, and does transmit the aftertouch its remark limits to the SE model. Pitch bend is drawn as one string, "OO", with the spacing that puts one mark in each column; every extractor tried reports it in the left column alone.
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" (manual p. 15). No page names the channel on which such a Layer receives any of the seven, though the notes to OS 2.0 speak of the damper pedal's state for "tracks on channels other than the global channel" (os_2_0_notes p. 9). 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" (manual p. 15), 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" (manual p. 15). 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" (manual p. 84). This is the modwave's arrangement, on the same sentences.
EACH LAYER'S EIGHT MOD KNOBS ARE ITS OWN, on default numbers no other Layer's share (manual p. 88), and the Global Channel carries Mod Knob controllers "for any Layer with Use Global MIDI Channel enabled" (manual p. 84), where what the controllers send goes "except for Program Mod Knobs" (manual p. 84). No page says where a Layer taken off it receives them, though the first of those, by its condition, implies it is not the Global Channel. They name their Layer, so a program asking about a Layer moved to a channel of its own is handed its eight with its seven. That rests on what the seven rest on: such a Layer receives on its own channel and "will respond normally to MIDI CCs" (manual p. 15).
THE VECTOR JOYSTICK'S 16 AND 17 ARE NOT WRITTEN FOR EACH LAYER, because the rule this follows writes per part only the standard controllers. A Program can take them as modulation sources (manual p. 57), and no page puts them on a Layer's channel; the Global Channel carries "modulation of Master Reverb, Vector Envelope, and System Exclusive" (manual p. 84).
NOT RECORDED:
- values, bands, ranges and defaults for any control, which neither page gives;
- what any Mod Knob is assigned to, which belongs to the Program rather than to the model;
- and NRPN, which the chart does not mention.