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 KRONOS MIDI implementation

The MIDI implementation of the Korg KRONOS: what it answers to, and the 87 controls it offers.

At a glance

Firmware
Not recorded.
MIDI channel
Any one of 1 to 16.
Parts
Timbre, 16 of them: each on a MIDI channel of its own, taking notes, controls, and program changes.
MIDI mode
3: omni off, poly.
Voices
Not recorded.
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 aftertouch too.
Pitch bend
How far it bends is not recorded, and the range can be changed.
Program change
Received and sent.
MIDI clock
Sent and received.
Start and stop
Sent and received.
Control change
Assigned by the player, apart from the 87 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/kronos") has loaded them.

On the base MIDI channel

Continuous controllers

Control CC Values
Modulation 1 (Joystick +Y)
modulation_1
1 0-127
Modulation 2 (Joystick -Y)
modulation_2
2 0-127
Foot Pedal
foot_pedal
4 0-127
Portamento Time
portamento_time
5 0-127
Volume
volume
7 0-127
Post IFX Panpot
post_ifx_panpot
8 0-127
Panpot
panpot
10 0-127
Expression
expression
11 0-127

Switches and pedals

Control CC Values
Hold 1 (Damper)
hold_1
64 0-127
Portamento Off/On
portamento
65 0-63 off, 64-127 on
Sostenuto Off/On
sostenuto
66 0-63 off, 64-127 on
Soft Pedal
soft_pedal
67 0-127

Sound controllers

Control CC Values
Sustain Level
sustain_level
70 0-127
Resonance
resonance
71 0-127
Release Time
release_time
72 0-127
Attack Time
attack_time
73 0-127
Filter Cutoff
filter_cutoff
74 0-127
Decay Time
decay_time
75 0-127
LFO1 Speed
lfo_1_speed
76 0-127
LFO1 Pitch Depth
lfo_1_pitch_depth
77 0-127
LFO1 Delay
lfo_1_delay
78 0-127
Filter EG Intensity
filter_eg_intensity
79 0-127

Assignable knobs, switches and the ribbon

Control CC Values
Ribbon Controller
ribbon_controller
16 0-127
Knob Mod5
knob_mod_5
17 0-127
Value Slider
value_slider
18 0-127
Knob Mod6
knob_mod_6
19 0-127
Knob Mod7
knob_mod_7
20 0-127
Knob Mod8
knob_mod_8
21 0-127
SW1
sw_1
80 0-127
SW2
sw_2
81 0-127
Foot Switch
foot_switch
82 0-127
Multi Purpose Ctrl8
multi_purpose_ctrl_8
83 0-127

The vector joystick

Control CC Values
Vector Mod +X
vector_mod_plus_x
85 0-127
Vector Mod -X
vector_mod_minus_x
86 0-127
Vector Mod +Y
vector_mod_plus_y
87 0-127
Vector Mod -Y
vector_mod_minus_y
88 0-127
Vector Joystick X
vector_joystick_x
118 0-127
The factory's number, which the player can change
Vector Joystick Y
vector_joystick_y
119 0-127
The factory's number, which the player can change

Effect controls, sends and switches

Control CC Values
FX Control 1
fx_control_1
12 0-127
FX Control 2
fx_control_2
13 0-127
Send 2 Level
send_2_level
91 0-127
All Insert FX Off/On
all_insert_fx
92 0-127
Send 1 Level
send_1_level
93 0-127
Master FX1/2 Off/On
master_fx
94 0-127
Total FX1/2 Off/On
total_fx
95 0-127

KARMA

Control CC Values
KARMA ON/OFF
karma_on_off
14 0-127
Off until it is switched on at the instrument
KARMA Slider1
karma_slider_1
22 0-127
Off until it is switched on at the instrument
KARMA Slider2
karma_slider_2
23 0-127
Off until it is switched on at the instrument
KARMA Slider3
karma_slider_3
24 0-127
Off until it is switched on at the instrument
KARMA Slider4
karma_slider_4
25 0-127
Off until it is switched on at the instrument
KARMA Slider5
karma_slider_5
26 0-127
Off until it is switched on at the instrument
KARMA Slider6
karma_slider_6
27 0-127
Off until it is switched on at the instrument
KARMA Slider7
karma_slider_7
28 0-127
Off until it is switched on at the instrument
KARMA Slider8
karma_slider_8
29 0-127
Off until it is switched on at the instrument
KARMA SCENE
karma_scene
30 0 scene_1, 1 scene_2, 2 scene_3, 3 scene_4, 4 scene_5, 5 scene_6, 6 scene_7, 7 scene_8
Off until it is switched on at the instrument
KARMA LATCH
karma_latch
31 0-127
Off until it is switched on at the instrument
KARMA SW1
karma_sw_1
102 0-63 off, 64-127 on
Off until it is switched on at the instrument
KARMA SW2
karma_sw_2
103 0-63 off, 64-127 on
Off until it is switched on at the instrument
KARMA SW3
karma_sw_3
104 0-63 off, 64-127 on
Off until it is switched on at the instrument
KARMA SW4
karma_sw_4
105 0-63 off, 64-127 on
Off until it is switched on at the instrument
KARMA SW5
karma_sw_5
106 0-63 off, 64-127 on
Off until it is switched on at the instrument
KARMA SW6
karma_sw_6
107 0-63 off, 64-127 on
Off until it is switched on at the instrument
KARMA SW7
karma_sw_7
108 0-63 off, 64-127 on
Off until it is switched on at the instrument
KARMA SW8
karma_sw_8
109 0-63 off, 64-127 on
Off until it is switched on at the instrument

The eight pads

Control CC Values
Pad1
pad_1
110 1-127
Off until it is switched on at the instrument
Pad2
pad_2
111 1-127
Off until it is switched on at the instrument
Pad3
pad_3
112 1-127
Off until it is switched on at the instrument
Pad4
pad_4
113 1-127
Off until it is switched on at the instrument
Pad5
pad_5
114 1-127
Off until it is switched on at the instrument
Pad6
pad_6
115 1-127
Off until it is switched on at the instrument
Pad7
pad_7
116 1-127
Off until it is switched on at the instrument
Pad8
pad_8
117 1-127
Off until it is switched on at the instrument

Without a group

Control CC Values
Bank Select(MSB)
bank_select_msb
0 0-127
Bank Select(LSB)
bank_select_lsb
32 0-127

Timbre

Continuous controllers

Control CC Values
Modulation 1 (Joystick +Y)
timbre_modulation_1
1 0-127
Modulation 2 (Joystick -Y)
timbre_modulation_2
2 0-127
Foot Pedal
timbre_foot_pedal
4 0-127
Portamento Time
timbre_portamento_time
5 0-127
Volume
timbre_volume
7 0-127
Panpot
timbre_panpot
10 0-127
Expression
timbre_expression
11 0-127

Switches and pedals

Control CC Values
Hold 1 (Damper)
timbre_hold_1
64 0-127
Portamento Off/On
timbre_portamento
65 0-63 off, 64-127 on
Sostenuto Off/On
timbre_sostenuto
66 0-63 off, 64-127 on
Soft Pedal
timbre_soft_pedal
67 0-127

Without a group

Control CC Values
Bank Select(MSB)
timbre_bank_select_msb
0 0-127
Bank Select(LSB)
timbre_bank_select_lsb
32 0-127

Where these facts come from

Source documents

How they were read

Korg's MIDI Implementation for this instrument, which arrives as a ZIP and is the first archive this library has had to open to reach a controller number. The download is 464.7 KB and holds eighteen entries: one four-page PDF, which is where every number below comes from; twelve plain-text system exclusive parameter maps, of which Global.txt alone is 3.6 MB; and a .DS_Store somebody left in. Only the PDF carries controller numbers. The text files are parameter address maps for system exclusive, which this format does not hold.

AND SEPARATELY, ONE PAGE OF THE OPERATION GUIDE, WHICH IS AN ORDINARY CHART. See the comment above the definition for where it is and why it was nearly missed. It is what mode and note_range rest on, it witnesses the twenty-nine CC default numbers a third time, and it carries controllers 98 and 99, which are the only numbers in any of these documents that the implementation omits. Its marks are drawn and not lettered - a circle is curve segments and a cross is straight lines, with a legend at the foot of the page that proves the test, exactly as korg/volca_bass's chart from the same maker does - and its labels and its values sit in separate text blocks, so a row of it cannot be matched as a string. Both were read by coordinate.

THE SAME FOUR PAGES ARE REPRINTED INSIDE A 1,187-PAGE PARAMETER GUIDE, at its printed pp. 1157-1160, and that is checked rather than assumed: the reprint carries every one of the 88 numbers. So a reader who has the guide and not the archive has the implementation anyway, and every quotation from either is findable in the other.

THE SEVENTY-FOUR NUMBERS CARRIED, AND THE FOURTEEN NOT. The document names 88 controller numbers across its two tables. Bank Select (0 and 32) is carried, as it is wherever a maker numbers it, and its bank maps are recorded under program_change. Six are how MIDI addresses things rather than parameters of this instrument: Data Entry (6 and 38), Data Increment and Decrement (96 and 97) and the RPN selects (100 and 101), the registered parameters recorded under pitch_bend. Eight more are the channel mode messages, 120 to 127, which this format refuses as controls by design and which are described below. That is the same line roland/fantom_6_7_8 draws from the same position.

AND EVERY ONE OF THE SEVENTY-FOUR TRAVELS BOTH WAYS. Not one number below needs a direction, which is unusual enough to state: 74 of the 88 are in both tables, and the fourteen that are in one are exactly the addressing machinery and the channel mode messages. Nothing this instrument sends is something it will not answer to.

THIRTEEN STANDARD CONTROLLERS ARE WRITTEN TWICE, AND THREE NUMBERS REACH ONE CHANNEL ONLY. The document gives most rows the status Bn, glossed "n : MIDI Channel No. (0 - 15)" (implementation p. 1) and "Usually Global Channel" (implementation p. 1), with each timbre's or track's channel in Combination and Sequencer modes. So a control naming no part is on the global channel, and the standard controllers have a twin keyed timbre_ that names the part: bank select's two halves and numbers 1, 2, 4, 5, 7, 10, 11 and 64 to 67. The Parameter Guide says the same of every channel message and names no number: "Channel messages will be received if they match the MIDI channel of a timbre whose Status is set to INT" (guide p. 1145). A twin goes both ways because the two legends end differently: a timbre or track answers while its status is INT or BTH (implementation p. 3) and sends while it is EXT, EX2 or BTH (implementation p. 1). Only a track can be BTH, so no one timbre does both at once. Each timbre and track also has switches of its own for the damper, the portamento switch, the joystick's two directions, the foot pedal, every other control change, and program change, which bank select goes with (guide pp. 477-480, 589-592, 1146), so a part can refuse its twin.

THE GLOBAL CHANNEL IS PROGRAM AND SAMPLING MODES', AND THE OTHER MODES ANSWER LITTLE ON IT. In Combination mode it is used "for selecting a combination and turning effects on/off, and to transmit/receive exclusive data" (guide p. 1145), though what the panel does is still sent on it. So there one of the thirteen naming no part moves only the timbres on Gch or on the global channel's own number (guide p. 1136), and bank select does two jobs: on the global channel it goes with the program change that selects the combination, and on a timbre's channel it selects that timbre's program (guide p. 1146). In Sequencer mode the global channel carries exclusive data and the effect switches (guide p. 1145), and a track has no Gch to follow it with (guide p. 578).

Every other Bn row that the table does not footnote reaches a timbre on its channel as the thirteen do, the sound controllers 70 to 79 among them, and names no part only because the rule this follows covers the standard controllers. Two footnotes of the received table except thirty numbers. Controller 8 is answered on the global channel in Program and Sampling modes and otherwise on "each IFX's channel" (implementation p. 4). The KARMA, pad and Vector Joystick numbers, 14, 22 to 31 and 102 to 119, are answered on the global channel in Program and Combination modes, and in Sequencer mode on the "current selected track's channel" (implementation p. 4). Three rows are of another kind: they have the status Bg, glossed "g : Always Global Channel No. (0 - 15)" (implementation p. 1). Those three are controllers 92, 94 and 95, the effect off-switches, and they ignore which timbre is playing. They name no part either, and nothing in a control says that it stays on the global channel where its neighbours do not, so that restriction is recorded only here.

CONTROLLERS 0 TO 119 ARE ALL ASSIGNABLE, WHICH IS A DIFFERENT FACT FROM THE MAP. Beside its numbered rows the transmitted table carries eight that name a span instead - "Control (cc)=0-119 ( Knob = MIDI CC#00-119 )" (implementation p. 1) and the same for the Vector CC, the KARMA real-time controls, the pads, External mode and KARMA generated-effect data, with the KARMA CC offset limited to 0-95. The received table answers with one: "Control data ( for Seq. recording (cc) = 0-119 )" (implementation p. 3). So the knobs and pads can be set to any controller a player likes, and the numbers above are where the panel sits by default rather than a boundary.

THREE SMALL FAULTS IN THE MAKER'S OWN TABLES, RECORDED BECAUSE EACH COSTS A READER SOMETHING. The effect sends are crossed: controller 91, which the specification calls Effect 1 Depth, reaches "Send 2 Level control" (implementation p. 3) and controller 93, Effect 3 Depth, reaches "Send 1 Level control" (implementation p. 3) - so a player who assumes the lower number is the first send has it backwards. Filter EG Intencity is a typo for intensity, in the received table, where the transmitted table abbreviates past the point of spelling it; the label above gives it correctly. And the received cells for controllers 92, 94 and 95 have lost a character: they print 00/00 (00/000) (implementation p. 3), where the transmitted cells print 00/7F (00/127). This implementation descends from the TRITON series' of 5 April 1999, which the TRITON's Parameter Guide reprints (cited by korg/triton) with the same Bg rows, the same effect switches and the same Intencity, and there those three cells read 00/≠00 (00/≠000): 0 is off and anything else is on. So these are most likely that cell with the ≠ lost when the table was set again - a threshold of 1, and not the 00/7F the transmitted side prints. No band is recorded for those three, because the threshold would then rest on another instrument's page and not on this one's.

WHERE THE PAGE NUMBERS COME FROM. The implementation prints its own folio 1 to 4. The Parameter Guide's folio runs fourteen sheets behind its file, checked on 1,175 of its 1,187 pages, and the Operation Guide's eight behind, checked on 297 of its 305 - so a locator here is the number printed on the page.

AND NOTHING IN THE MAP MOVED ACROSS THE FIRMWARE THIS INSTRUMENT EVER RAN, which is checked as an absence rather than inferred from a changelog that reads harmless. The 3.1.3 release note covers the whole 3.1 series over nine pages. It names MIDI ten times under two MIDI Bug fixes headings, every one of them a stuck note or an incorrect answer to a Universal System Exclusive message - and the words CC#, Control Change and controller number do not appear in it once. So no controller was added, dropped or renumbered.

HOW THE DOCUMENTS WERE REACHED, WHICH IS NOT BY A LINK. This maker's downloads page carries no file address at all: each document is reached through an intermediate licence-agreement page, and only those carry the cdn.korg.com address. That was first met by korg/volca_bass and holds here for all 24 documents this product lists. Korg also encrypts its PDFs, with an empty password - the implementation with 128-bit RC4 and the guides with AES - so a tool that refuses one is meeting a setting rather than a fault, which korg/volca_drum already records.

NOT RECORDED: the preset count, because program change reaches three different things here and the field holds one number. The specifications give "User memory programs 2,560" (operation p. 293), "User memory combinations 1,792" (operation p. 293) and "128 set lists, 128 slots per set list" (operation p. 293), and which a program change selects depends on the mode the instrument is in.

NOT RECORDED EITHER: