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 minilogue MIDI implementation
The MIDI implementation of the Korg minilogue: what it answers to, and the 41 controls it offers, on firmware 2.01.
At a glance
- Firmware
- This page describes firmware 2.01.
- MIDI channel
- Any one of 1 to 16.
- MIDI mode
- 3: omni off, poly.
- Voices
- 4, or 1 or 2 as set on the instrument.
- Note range
- 0 to 127: C-1 to G9, counting middle C as C4.
- Velocity
- Sent and received. Release velocity is ignored.
- Aftertouch
- None, sent or answered.
- Pitch bend
- How far it bends is not recorded, and the range can be changed.
- Program change
- Received and sent, with 200 presets.
- MIDI clock
- Sent and received.
- Start and stop
- Sent and received.
- Control change
- 41 controls, in the tables below.
- NRPN
- None.
- 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/minilogue") has loaded them.
VCO 1
| Control | CC | Values |
|---|---|---|
VCO 1 PITCHvco_1_pitch |
34 | 0-127 |
VCO 1 SHAPEvco_1_shape |
36 | 0-127 |
VCO 1 OCTAVEvco_1_octave |
48 | 0-31 ft_16, 32-63 ft_8, 64-95 ft_4, 96-127 ft_2 |
VCO 1 WAVEvco_1_wave |
50 | 0-42 sqr, 43-85 tri, 86-127 saw |
VCO 2
| Control | CC | Values |
|---|---|---|
VCO 2 PITCHvco_2_pitch |
35 | 0-127 |
VCO 2 SHAPEvco_2_shape |
37 | 0-127 |
VCO 2 OCTAVEvco_2_octave |
49 | 0-31 ft_16, 32-63 ft_8, 64-95 ft_4, 96-127 ft_2 |
VCO 2 WAVEvco_2_wave |
51 | 0-42 sqr, 43-85 tri, 86-127 saw |
VCO 2 MODULATION
| Control | CC | Values |
|---|---|---|
VCO 2 CROSS MOD DEPTHcross_mod_depth |
41 | 0-127 |
VCO 2 PITCH EG INTpitch_eg_int |
42 | 0-127 |
SYNCsync |
80 | 0-63 off, 64-127 on |
RINGring |
81 | 0-63 off, 64-127 on |
MIXER
| Control | CC | Values |
|---|---|---|
VCO 1 LEVELvco_1_level |
39 | 0-127 |
VCO 2 LEVELvco_2_level |
40 | 0-127 |
NOISE LEVELnoise_level |
33 | 0-127 |
FILTER
| Control | CC | Values |
|---|---|---|
CUTOFFcutoff |
43 | 0-127 |
RESONANCEresonance |
44 | 0-127 |
CUTOFF EG INTcutoff_eg_int |
45 | 0-127 |
CUTOFF VELOCITYcutoff_velocity |
82 | 0-42 pct_0, 43-85 pct_50, 86-127 pct_100 |
CUTOFF KEYBOARD TRACKcutoff_keyboard_track |
83 | 0-42 pct_0, 43-85 pct_50, 86-127 pct_100 |
CUTOFF TYPEcutoff_type |
84 | 0-63 pole_2, 64-127 pole_4 |
AMP EG
| Control | CC | Values |
|---|---|---|
AMP EG ATTACKamp_eg_attack |
16 | 0-127 |
AMP EG DECAYamp_eg_decay |
17 | 0-127 |
AMP EG SUSTAINamp_eg_sustain |
18 | 0-127 |
AMP EG RELEASEamp_eg_release |
19 | 0-127 |
EG
| Control | CC | Values |
|---|---|---|
EG ATTACKeg_attack |
20 | 0-127 |
EG DECAYeg_decay |
21 | 0-127 |
EG SUSTAINeg_sustain |
22 | 0-127 |
EG RELEASEeg_release |
23 | 0-127 |
LFO
| Control | CC | Values |
|---|---|---|
LFO RATElfo_rate |
24 | 0-127 |
LFO INTlfo_int |
26 | 0-127 |
LFO TARGETlfo_target |
56 | 0-42 cutoff, 43-85 shape, 86-127 pitch |
LFO EGlfo_eg |
57 | 0-42 off, 43-85 rate, 86-127 int |
LFO WAVElfo_wave |
58 | 0-42 sqr, 43-85 tri, 86-127 saw |
DELAY
| Control | CC | Values |
|---|---|---|
DELAY HI PASS CUTOFFdelay_hi_pass_cutoff |
29 | 0-127 |
DELAY TIMEdelay_time |
30 | 0-127 |
DELAY FEEDBACKdelay_feedback |
31 | 0-127 |
DELAY OUTPUT ROUTINGdelay_output_routing |
88 | 0-42 bypass, 43-85 post_hpf, 86-127 pre_hpf |
Voice mode
| Control | CC | Values |
|---|---|---|
VOICE MODE DEPTHvoice_mode_depth |
27 | 0-127 |
Without a group
| Control | CC | Values |
|---|---|---|
Bank Select (MSB)bank_select_msb |
0 | 0 |
Bank Select (LSB)bank_select_lsb |
32 | 0-1 |
Where these facts come from
Source documents
- minilogue/MIDI Implementation, Revision 1.10, dated 10 July 2016, its MIDI implementation, read on 4 October 2026 (the file read).
- minilogue/Owner's Manual (English), E 5, dated 4 August 2025, its user manual, read on 4 October 2026 (the file read).
- Downloads | minilogue | KORG (USA), its download page, read on 4 October 2026.
How they were read
MIDI implementation (plain text, no pages at all): section 1-1 for what the instrument transmits, 2-1 for what it recognises, their footnotes for what a stepped control's values mean, and 1-2 and 2-2 for the real-time messages. The owner's manual (64pp) for the specifications at p. 62, the voice modes at pp. 24-25, the MIDI and clock settings at pp. 46-47, the slider's bend ranges at p. 35, the program count at p. 8, the panel sections at p. 4, and its MIDI Implementation Chart at p. 63, which is the second printing of all of this.
THE TWO PRINTINGS AGREE ON EVERY NUMBER AND DISAGREE ABOUT ALMOST EVERYTHING ELSE. Expand the chart's ranges - "34-37", "39, 40, 33", "16-23" and the rest - and you get the implementation's 41 controller numbers with nothing added and nothing missing, including the same gaps at 25, 28 and 38. That is the part a definition rests on, and it is confirmed twice.
The names are not confirmed twice. The chart abbreviates seven of them, and two of its abbreviations are misleading: it prints "82, 83" against "VELOCITY KEY TRACK, KEYBOARD TRACK" (manual p. 63), which reads as a parameter called velocity key track and another called keyboard track, where the implementation has CUTOFF VELOCITY and CUTOFF KEYBOARD TRACK; and "84, 88" against "FILTER TYPE, DELAY OUTPUT ROUTING" (manual p. 63) where the implementation has CUTOFF TYPE. The implementation's names are the ones below, because they are the fuller and because the chart's are a grid's shorthand.
AND THE OLDER DOCUMENT IS OUT OF DATE ABOUT HOW ITS OWN MESSAGES ARE SWITCHED ON. The implementation says every message it lists depends on one master switch each way - "This message is transmitted when the 'Enable Tx MIDI' is set to 'On'" (midi_impl) and "This message is recognized when the 'Enable Rx MIDI' is set to 'On'" (midi_impl). No such setting exists on this instrument. The manual's global settings have six separate ones - MIDI Rx CC, MIDI Tx CC, MIDI Rx Prog Chg, MIDI Tx Prog Chg, MIDI Rx Pitch Bend, MIDI Tx Pitch Bend (p. 47) - and the chart's footnotes name those. So a document can be exactly right about its numbers and wrong about its conditions, and the numbers being confirmed says nothing about the rest of it.
THE THREE PLACES THE TWO PRINTINGS NAME DIFFERENT CHANNEL MODE MESSAGES. The implementation's receiving table has CC 120 All Sound Off, 122 Local Sw and 123 All Note Off, and no 121; the chart's control change block has "120, 121" against "All sound off, Reset all Controllers" (manual p. 63) and moves Local On/Off and All Notes Off into its Aux Messages row. The word "Reset" appears nowhere in the implementation. None of the five is a control here, so nothing rests on it.
The chart also contradicts itself: its Aux Messages row says All Notes Off is received as "O 123-127" (manual p. 63), which claims 124 to 127 - Omni and Mono and Poly mode - while its own Mode row is marked X received, and the implementation lists only 123. And its footnote on transport reads "When the Global setting is 'En Rx Transport=On', the minilogue will transmit signals" (manual p. 63), where the manual's own page says that setting governs what is received (p. 47). Both are left as printed.
NOT RECORDED:
- what the eight voice modes are worth as note counts beyond the four the maker states in those words;
- whether a received note-off velocity does anything, beyond the chart saying it does not;
- and Song Position Pointer, which the chart marks received and the implementation never mentions - the two cannot both be right and nothing here settles it.
WHAT THE PANEL HAS AND MIDI DOES NOT REACH, which is unusually clear here because the manual lists the slider's destinations (p. 35): PORTAMENTO has no controller number at all, nor does the master volume, the tempo, the octave switch, the slider itself, the sequencer, or the choice of voice mode - only its depth knob. The successor adds a portamento controller; this instrument has none.