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 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 PITCH
vco_1_pitch
34 0-127
VCO 1 SHAPE
vco_1_shape
36 0-127
VCO 1 OCTAVE
vco_1_octave
48 0-31 ft_16, 32-63 ft_8, 64-95 ft_4, 96-127 ft_2
VCO 1 WAVE
vco_1_wave
50 0-42 sqr, 43-85 tri, 86-127 saw

VCO 2

Control CC Values
VCO 2 PITCH
vco_2_pitch
35 0-127
VCO 2 SHAPE
vco_2_shape
37 0-127
VCO 2 OCTAVE
vco_2_octave
49 0-31 ft_16, 32-63 ft_8, 64-95 ft_4, 96-127 ft_2
VCO 2 WAVE
vco_2_wave
51 0-42 sqr, 43-85 tri, 86-127 saw

VCO 2 MODULATION

Control CC Values
VCO 2 CROSS MOD DEPTH
cross_mod_depth
41 0-127
VCO 2 PITCH EG INT
pitch_eg_int
42 0-127
SYNC
sync
80 0-63 off, 64-127 on
RING
ring
81 0-63 off, 64-127 on

MIXER

Control CC Values
VCO 1 LEVEL
vco_1_level
39 0-127
VCO 2 LEVEL
vco_2_level
40 0-127
NOISE LEVEL
noise_level
33 0-127

FILTER

Control CC Values
CUTOFF
cutoff
43 0-127
RESONANCE
resonance
44 0-127
CUTOFF EG INT
cutoff_eg_int
45 0-127
CUTOFF VELOCITY
cutoff_velocity
82 0-42 pct_0, 43-85 pct_50, 86-127 pct_100
CUTOFF KEYBOARD TRACK
cutoff_keyboard_track
83 0-42 pct_0, 43-85 pct_50, 86-127 pct_100
CUTOFF TYPE
cutoff_type
84 0-63 pole_2, 64-127 pole_4

AMP EG

Control CC Values
AMP EG ATTACK
amp_eg_attack
16 0-127
AMP EG DECAY
amp_eg_decay
17 0-127
AMP EG SUSTAIN
amp_eg_sustain
18 0-127
AMP EG RELEASE
amp_eg_release
19 0-127

EG

Control CC Values
EG ATTACK
eg_attack
20 0-127
EG DECAY
eg_decay
21 0-127
EG SUSTAIN
eg_sustain
22 0-127
EG RELEASE
eg_release
23 0-127

LFO

Control CC Values
LFO RATE
lfo_rate
24 0-127
LFO INT
lfo_int
26 0-127
LFO TARGET
lfo_target
56 0-42 cutoff, 43-85 shape, 86-127 pitch
LFO EG
lfo_eg
57 0-42 off, 43-85 rate, 86-127 int
LFO WAVE
lfo_wave
58 0-42 sqr, 43-85 tri, 86-127 saw

DELAY

Control CC Values
DELAY HI PASS CUTOFF
delay_hi_pass_cutoff
29 0-127
DELAY TIME
delay_time
30 0-127
DELAY FEEDBACK
delay_feedback
31 0-127
DELAY OUTPUT ROUTING
delay_output_routing
88 0-42 bypass, 43-85 post_hpf, 86-127 pre_hpf

Voice mode

Control CC Values
VOICE MODE DEPTH
voice_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

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 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.