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 Pedalfoot_pedal |
4 | 0-127 |
Portamento Timeportamento_time |
5 | 0-127 |
Volumevolume |
7 | 0-127 |
Post IFX Panpotpost_ifx_panpot |
8 | 0-127 |
Panpotpanpot |
10 | 0-127 |
Expressionexpression |
11 | 0-127 |
Switches and pedals
| Control | CC | Values |
|---|---|---|
Hold 1 (Damper)hold_1 |
64 | 0-127 |
Portamento Off/Onportamento |
65 | 0-63 off, 64-127 on |
Sostenuto Off/Onsostenuto |
66 | 0-63 off, 64-127 on |
Soft Pedalsoft_pedal |
67 | 0-127 |
Sound controllers
| Control | CC | Values |
|---|---|---|
Sustain Levelsustain_level |
70 | 0-127 |
Resonanceresonance |
71 | 0-127 |
Release Timerelease_time |
72 | 0-127 |
Attack Timeattack_time |
73 | 0-127 |
Filter Cutofffilter_cutoff |
74 | 0-127 |
Decay Timedecay_time |
75 | 0-127 |
LFO1 Speedlfo_1_speed |
76 | 0-127 |
LFO1 Pitch Depthlfo_1_pitch_depth |
77 | 0-127 |
LFO1 Delaylfo_1_delay |
78 | 0-127 |
Filter EG Intensityfilter_eg_intensity |
79 | 0-127 |
Assignable knobs, switches and the ribbon
| Control | CC | Values |
|---|---|---|
Ribbon Controllerribbon_controller |
16 | 0-127 |
Knob Mod5knob_mod_5 |
17 | 0-127 |
Value Slidervalue_slider |
18 | 0-127 |
Knob Mod6knob_mod_6 |
19 | 0-127 |
Knob Mod7knob_mod_7 |
20 | 0-127 |
Knob Mod8knob_mod_8 |
21 | 0-127 |
SW1sw_1 |
80 | 0-127 |
SW2sw_2 |
81 | 0-127 |
Foot Switchfoot_switch |
82 | 0-127 |
Multi Purpose Ctrl8multi_purpose_ctrl_8 |
83 | 0-127 |
The vector joystick
| Control | CC | Values |
|---|---|---|
Vector Mod +Xvector_mod_plus_x |
85 | 0-127 |
Vector Mod -Xvector_mod_minus_x |
86 | 0-127 |
Vector Mod +Yvector_mod_plus_y |
87 | 0-127 |
Vector Mod -Yvector_mod_minus_y |
88 | 0-127 |
Vector Joystick Xvector_joystick_x |
118 | 0-127 The factory's number, which the player can change |
Vector Joystick Yvector_joystick_y |
119 | 0-127 The factory's number, which the player can change |
Effect controls, sends and switches
| Control | CC | Values |
|---|---|---|
FX Control 1fx_control_1 |
12 | 0-127 |
FX Control 2fx_control_2 |
13 | 0-127 |
Send 2 Levelsend_2_level |
91 | 0-127 |
All Insert FX Off/Onall_insert_fx |
92 | 0-127 |
Send 1 Levelsend_1_level |
93 | 0-127 |
Master FX1/2 Off/Onmaster_fx |
94 | 0-127 |
Total FX1/2 Off/Ontotal_fx |
95 | 0-127 |
KARMA
| Control | CC | Values |
|---|---|---|
KARMA ON/OFFkarma_on_off |
14 | 0-127 Off until it is switched on at the instrument |
KARMA Slider1karma_slider_1 |
22 | 0-127 Off until it is switched on at the instrument |
KARMA Slider2karma_slider_2 |
23 | 0-127 Off until it is switched on at the instrument |
KARMA Slider3karma_slider_3 |
24 | 0-127 Off until it is switched on at the instrument |
KARMA Slider4karma_slider_4 |
25 | 0-127 Off until it is switched on at the instrument |
KARMA Slider5karma_slider_5 |
26 | 0-127 Off until it is switched on at the instrument |
KARMA Slider6karma_slider_6 |
27 | 0-127 Off until it is switched on at the instrument |
KARMA Slider7karma_slider_7 |
28 | 0-127 Off until it is switched on at the instrument |
KARMA Slider8karma_slider_8 |
29 | 0-127 Off until it is switched on at the instrument |
KARMA SCENEkarma_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_8Off until it is switched on at the instrument |
KARMA LATCHkarma_latch |
31 | 0-127 Off until it is switched on at the instrument |
KARMA SW1karma_sw_1 |
102 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
KARMA SW2karma_sw_2 |
103 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
KARMA SW3karma_sw_3 |
104 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
KARMA SW4karma_sw_4 |
105 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
KARMA SW5karma_sw_5 |
106 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
KARMA SW6karma_sw_6 |
107 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
KARMA SW7karma_sw_7 |
108 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
KARMA SW8karma_sw_8 |
109 | 0-63 off, 64-127 onOff until it is switched on at the instrument |
The eight pads
| Control | CC | Values |
|---|---|---|
Pad1pad_1 |
110 | 1-127 Off until it is switched on at the instrument |
Pad2pad_2 |
111 | 1-127 Off until it is switched on at the instrument |
Pad3pad_3 |
112 | 1-127 Off until it is switched on at the instrument |
Pad4pad_4 |
113 | 1-127 Off until it is switched on at the instrument |
Pad5pad_5 |
114 | 1-127 Off until it is switched on at the instrument |
Pad6pad_6 |
115 | 1-127 Off until it is switched on at the instrument |
Pad7pad_7 |
116 | 1-127 Off until it is switched on at the instrument |
Pad8pad_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 Pedaltimbre_foot_pedal |
4 | 0-127 |
Portamento Timetimbre_portamento_time |
5 | 0-127 |
Volumetimbre_volume |
7 | 0-127 |
Panpottimbre_panpot |
10 | 0-127 |
Expressiontimbre_expression |
11 | 0-127 |
Switches and pedals
| Control | CC | Values |
|---|---|---|
Hold 1 (Damper)timbre_hold_1 |
64 | 0-127 |
Portamento Off/Ontimbre_portamento |
65 | 0-63 off, 64-127 on |
Sostenuto Off/Ontimbre_sostenuto |
66 | 0-63 off, 64-127 on |
Soft Pedaltimbre_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
- KRONOS MIDI IMPLEMENTATION, dated 26 March 2012, its MIDI implementation, read on 6 October 2026 (the file read).
- KRONOS Parameter Guide, E11, dated 17 May 2019, its user manual, read on 6 October 2026 (the file read).
- KRONOS Operation Guide, E10, dated 22 December 2016, its user manual, read on 6 October 2026 (the file read).
- Release Note for OS v3.1.3, 3.1.3, dated 25 February 2019, its release notes, read on 6 October 2026 (the file read).
- Downloads | KRONOS (2014) | KORG (USA), its download page, read on 6 October 2026 (the file read).
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:
- the polyphony and the note range, both for the reasons above;
- the velocity curves, of which the keyboard has eight and the aftertouch eight more;
- and the system exclusive parameter addresses, which fill 11 MB of the archive and have no field in this format.