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 microKORG MIDI implementation
The MIDI implementation of the Korg microKORG: what it answers to, and the 71 controls it offers.
At a glance
- Firmware
- Not recorded.
- MIDI channel
- Any one of 1 to 16.
- Voices
- 4.
- Note range
- Not recorded.
- Velocity
- Sent and received. Release velocity is ignored.
- Aftertouch
- None, sent or answered.
- Pitch bend
- 12 semitones, and the range can be changed.
- Program change
- Received and sent, with 128 presets.
- MIDI clock
- Sent and received.
- Start and stop
- Received.
- Control change
- Assigned by the player, apart from the 42 controls below.
- NRPN
- Supported. 29 of the controls below have one.
- System exclusive
- Supported.
Controls
In the order the definition gives them, by group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("korg/microkorg") has loaded them.
Pitch
| Control | CC | NRPN | Values |
|---|---|---|---|
Pitch Modulation Depthpitch_modulation_depth |
1 | 0-127 | |
Portamentopitch_portamento |
5 | 0-127 The factory's number, which the player can change |
Oscillator 1
| Control | CC | NRPN | Values |
|---|---|---|---|
Waveosc1_wave |
77 | 0-127 The factory's number, which the player can change |
|
Control1osc1_control1 |
14 | 0-127 The factory's number, which the player can change |
|
Control2osc1_control2 |
15 | 0-127 The factory's number, which the player can change |
Oscillator 2 and audio in 1
| Control | CC | NRPN | Values |
|---|---|---|---|
Waveosc2_wave |
78 | 0-127 The factory's number, which the player can change |
|
OSC Modosc2_osc_mod |
82 | 0-127 The factory's number, which the player can change |
|
Semitoneosc2_semitone |
18 | 0-127 The factory's number, which the player can change |
|
Tuneosc2_tune |
19 | 0-127 The factory's number, which the player can change |
Mixer
| Control | CC | NRPN | Values |
|---|---|---|---|
OSC 1 Levelmixer_osc_1_level |
20 | 0-127 The factory's number, which the player can change |
|
OSC 2 Levelmixer_osc_2_level |
21 | 0-127 The factory's number, which the player can change |
|
Noise Levelmixer_noise_level |
22 | 0-127 The factory's number, which the player can change |
Filter
| Control | CC | NRPN | Values |
|---|---|---|---|
Typefilter_type |
83 | 0-127 The factory's number, which the player can change |
|
Cutofffilter_cutoff |
74 | 0-127 The factory's number, which the player can change |
|
Resonancefilter_resonance |
71 | 0-127 The factory's number, which the player can change |
|
Filter EG Intfilter_eg_int |
79 | 0-127 The factory's number, which the player can change |
|
KBD Trackfilter_kbd_track |
85 | 0-127 The factory's number, which the player can change |
Filter envelope
| Control | CC | NRPN | Values |
|---|---|---|---|
Attackfilter_eg_attack |
23 | 0-127 The factory's number, which the player can change |
|
Decayfilter_eg_decay |
24 | 0-127 The factory's number, which the player can change |
|
Sustainfilter_eg_sustain |
25 | 0-127 The factory's number, which the player can change |
|
Releasefilter_eg_release |
26 | 0-127 The factory's number, which the player can change |
Amp
| Control | CC | NRPN | Values |
|---|---|---|---|
Levelamp_level |
7 | 0-127 The factory's number, which the player can change |
|
Panpotamp_panpot |
10 | 0-127 The factory's number, which the player can change |
|
Distortionamp_distortion |
92 | 0-127 The factory's number, which the player can change |
Amp envelope
| Control | CC | NRPN | Values |
|---|---|---|---|
Attackamp_eg_attack |
73 | 0-127 The factory's number, which the player can change |
|
Decayamp_eg_decay |
75 | 0-127 The factory's number, which the player can change |
|
Sustainamp_eg_sustain |
70 | 0-127 The factory's number, which the player can change |
|
Releaseamp_eg_release |
72 | 0-127 The factory's number, which the player can change |
LFO 1
| Control | CC | NRPN | Values |
|---|---|---|---|
Wavelfo1_wave |
87 | 0-127 The factory's number, which the player can change |
|
Frequencylfo1_frequency |
27 | 0-127 The factory's number, which the player can change |
LFO 2
| Control | CC | NRPN | Values |
|---|---|---|---|
Wavelfo2_wave |
88 | 0-127 The factory's number, which the player can change |
|
Frequencylfo2_frequency |
76 | 0-127 The factory's number, which the player can change |
Modulation patches
| Control | CC | NRPN | Values |
|---|---|---|---|
Intensitypatch_1_intensity |
28 | 0-127 The factory's number, which the player can change |
|
Intensitypatch_2_intensity |
29 | 0-127 The factory's number, which the player can change |
|
Intensitypatch_3_intensity |
30 | 0-127 The factory's number, which the player can change |
|
Intensitypatch_4_intensity |
31 | 0-127 The factory's number, which the player can change |
|
Patch1 Sourcepatch1_source |
512 MSB 4, LSB 0 |
0-127 | |
Patch2 Sourcepatch2_source |
513 MSB 4, LSB 1 |
0-127 | |
Patch3 Sourcepatch3_source |
514 MSB 4, LSB 2 |
0-127 | |
Patch4 Sourcepatch4_source |
515 MSB 4, LSB 3 |
0-127 | |
Patch1 Destinationpatch1_destination |
520 MSB 4, LSB 8 |
0-127 | |
Patch2 Destinationpatch2_destination |
521 MSB 4, LSB 9 |
0-127 | |
Patch3 Destinationpatch3_destination |
522 MSB 4, LSB 10 |
0-127 | |
Patch4 Destinationpatch4_destination |
523 MSB 4, LSB 11 |
0-127 |
Modulation effect
| Control | CC | NRPN | Values |
|---|---|---|---|
LFO Speedmod_fx_lfo_speed |
12 | 0-127 The factory's number, which the player can change |
|
Depthmod_fx_depth |
93 | 0-127 The factory's number, which the player can change |
Delay
| Control | CC | NRPN | Values |
|---|---|---|---|
Delay Timedelay_time |
13 | 0-127 The factory's number, which the player can change |
|
Depthdelay_depth |
94 | 0-127 The factory's number, which the player can change |
MIDI
| Control | CC | NRPN | Values |
|---|---|---|---|
Timbre Selectmidi_timbre_select |
95 | 0-127 The factory's number, which the player can change |
|
Sync Ctrlmidi_sync_ctrl |
90 | 0-127 The factory's number, which the player can change |
Arpeggiator
| Control | CC | NRPN | Values |
|---|---|---|---|
Arpeggio On/Offarpeggio_on_off |
2 MSB 0, LSB 2 |
0-127 | |
Arpeggio Octavesarpeggio_octaves |
3 MSB 0, LSB 3 |
0-127 | |
Arpeggio Latch On/Offarpeggio_latch_on_off |
4 MSB 0, LSB 4 |
0-127 | |
Arpeggio Typearpeggio_type |
7 MSB 0, LSB 7 |
0-127 | |
Arpeggio Gatearpeggio_gate |
10 MSB 0, LSB 10 |
0-127 |
Vocoder
| Control | CC | NRPN | Values |
|---|---|---|---|
Band 1 Levelvocoder_band1_level |
528 MSB 4, LSB 16 |
0-127 | |
Band 2 Levelvocoder_band2_level |
530 MSB 4, LSB 18 |
0-127 | |
Band 3 Levelvocoder_band3_level |
532 MSB 4, LSB 20 |
0-127 | |
Band 4 Levelvocoder_band4_level |
534 MSB 4, LSB 22 |
0-127 | |
Band 5 Levelvocoder_band5_level |
536 MSB 4, LSB 24 |
0-127 | |
Band 6 Levelvocoder_band6_level |
538 MSB 4, LSB 26 |
0-127 | |
Band 7 Levelvocoder_band7_level |
540 MSB 4, LSB 28 |
0-127 | |
Band 8 Levelvocoder_band8_level |
542 MSB 4, LSB 30 |
0-127 | |
Band 1 Panvocoder_band1_pan |
544 MSB 4, LSB 32 |
0-127 | |
Band 2 Panvocoder_band2_pan |
546 MSB 4, LSB 34 |
0-127 | |
Band 3 Panvocoder_band3_pan |
548 MSB 4, LSB 36 |
0-127 | |
Band 4 Panvocoder_band4_pan |
550 MSB 4, LSB 38 |
0-127 | |
Band 5 Panvocoder_band5_pan |
552 MSB 4, LSB 40 |
0-127 | |
Band 6 Panvocoder_band6_pan |
554 MSB 4, LSB 42 |
0-127 | |
Band 7 Panvocoder_band7_pan |
556 MSB 4, LSB 44 |
0-127 | |
Band 8 Panvocoder_band8_pan |
558 MSB 4, LSB 46 |
0-127 |
Where these facts come from
Source documents
- micro KORG MIDI Implementation, Revision 1.4, dated 27 June 2002, its MIDI implementation, read on 2 October 2026 (the file read).
- microKORG Owner's Manual, E 2, its user manual, read on 2 October 2026 (the file read).
- Downloads | microKORG (2002) | KORG (USA), its download page, read on 2 October 2026 (the file read).
How they were read
Two documents, because this instrument's control map is split across both and neither half is in the other. The MIDI Implementation, revision 1.4, is a plain text file with no pages, cited by its own section numbers; the Owner's Manual E 2 has 80 pages and is cited by page.
THE IMPLEMENTATION GIVES NO CONTROLLER NUMBER FOR ANY PANEL PARAMETER, which is this instrument's first surprise. Its channel message rows say only "Control Change cc=00~95" (implementation), and its panel table is headed "Panel Knob & Switch Control (assignable)" (implementation) - forty-odd parameters in two columns and not one number against them. That is not an omission. The numbers are the player's to set, and Korg prints the factory assignment in the manual instead, in a table whose column is headed "Initial" (p. 56). Both facts are at the head of this file because that is where somebody about to rely on a number is looking.
THE IMPLEMENTATION GIVES THE NRPNS, all 29, and prints them twice over - once for what the instrument transmits and once for what it recognises. The two copies are identical, which was checked rather than assumed. They address what the panel does not: the arpeggiator, the four modulation patches, and the vocoder's eight bands.
ONE CONTROL CHANGE IS NOT ASSIGNABLE and so is in neither table: CC 1, which the implementation's receive table fixes as pitch modulation depth and its transmit table names as the modulation wheel.
ONE CHANNEL, STATED AS A LIMIT RATHER THAN INFERRED: "The microKORG uses only one MIDI channel to transmit and receive. You cannot use two MIDI channels to play the two timbres independently" (p. 66). So there are no parts here, although the instrument is two timbres deep when layered. Which timbre a control change reaches is CC 95 below, a setting rather than a channel.
THE TWO DOCUMENTS DO NOT NAME THE SAME 41 CONTROLS, which is worth knowing before anybody tries to reconcile them. The implementation's map of assignable slots includes an "EG2/Gate Sw" (implementation) and a "SEQ Off/On Sw" (implementation) that the manual's table has no row for, while the manual's table has Timbre Select and Sync Ctrl, which the implementation keeps as two global bytes of their own rather than as slots in that map. The numbers below are the manual's, because the implementation gives none; the overlap is recorded rather than resolved.
NO BANK SELECT, said outright: "The microKORG does not transmit or receive bank select messages" (p. 52). That is the difference the microKORG S's own implementation adds, and it is why one definition cannot cover both.
NO USB. The specifications list the connectors and name only MIDI in, out and thru, and the word USB appears twice in 80 pages, both times about somebody else's interface box: "Some USB-MIDI interface devices may not be able to transmit/receive the microKORG's MIDI exclusive messages" (p. 49). Every byte this instrument sends or receives goes down a DIN cable.
WHAT IT WILL NOT ANSWER TO, established from the table that enumerates what it does. The recognised channel messages are note off, note on, CC 1, data entry, the NRPN pair, the channel mode messages, generic control data, program change and pitch bend - and nothing else.
AFTERTOUCH IS ABSENT FROM THAT LIST in both forms, which agrees with the keyboard the specifications describe: "37 notes (mini keyboard, velocity sensitive, no aftertouch)" (p. 67). So aftertouch is a checked absence rather than an unread page.
NOT RECORDED: the note range, which neither document states for what the instrument receives - the implementation gives kk = 0 ~ 127 for what the 37-key keyboard transmits with octave and transpose applied, and that is the panel rather than the span it answers to.
THE SIBLING MODELS WERE SETTLED, NOT ASSUMED. The microKORG Crystal's download page offers the same MIDI Implementation under the same manual id, resolving to the same file, so this definition describes the Crystal by construction. The microKORG S's own implementation was fetched and compared: it is a different document, revision 1.01 (2026.06.22), and it adds Bank Select MSB and LSB that this instrument has not got. It is held in the library beside this one and is not described here.