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 volca drum MIDI implementation

The MIDI implementation of the Korg volca drum: what it answers to, and the 85 controls it offers.

At a glance

Firmware
Not recorded.
MIDI channel
1 only, except in Single channel.
Modes
Split channel: the mode it ships in.
Single channel: its base MIDI channel is any one of 1 to 16.
Parts
Part, 6 of them: on 6 MIDI channels in a row from the base, taking notes and controls, in Split channel only.
PART1: on the base MIDI channel, taking controls, with how notes reach it not recorded, in Single channel only.
PART2: on the base MIDI channel, taking controls, with how notes reach it not recorded, in Single channel only.
PART3: on the base MIDI channel, taking controls, with how notes reach it not recorded, in Single channel only.
PART4: on the base MIDI channel, taking controls, with how notes reach it not recorded, in Single channel only.
PART5: on the base MIDI channel, taking controls, with how notes reach it not recorded, in Single channel only.
PART6: on the base MIDI channel, taking controls, with how notes reach it not recorded, in Single channel only.
MIDI mode
3: omni off, poly.
Voices
Not recorded.
Notes
Each note sounds the part whose MIDI channel carries it, whatever its number.
Note range
0 to 127: C-1 to G9, counting middle C as C4.
Velocity
Received. Release velocity is ignored.
Aftertouch
None, sent or answered.
Pitch bend
Not recorded.
Program change
Received.
MIDI clock
Received.
Start and stop
Received.
Control change
85 controls, in the tables below.
NRPN
None.
System exclusive
None.

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/volca_drum") has loaded them.

Part

In Split channel only.

Sound controls

Control CC Values
Select, layer 1
select_1
14 0-127
Received, never sent
Select, layer 2
select_2
15 0-127
Received, never sent
Select, both layers
select_both
16 0-127
Received, never sent
Level, layer 1
level_1
17 0-127
Received, never sent
Level, layer 2
level_2
18 0-127
Received, never sent
Level, both layers
level_both
19 0-127
Received, never sent
EG Attack, layer 1
eg_attack_1
20 0-127
Received, never sent
EG Attack, layer 2
eg_attack_2
21 0-127
Received, never sent
EG Attack, both layers
eg_attack_both
22 0-127
Received, never sent
EG Release, layer 1
eg_release_1
23 0-127
Received, never sent
EG Release, layer 2
eg_release_2
24 0-127
Received, never sent
EG Release, both layers
eg_release_both
25 0-127
Received, never sent
Pitch, layer 1
pitch_1
26 0-127
Received, never sent
Pitch, layer 2
pitch_2
27 0-127
Received, never sent
Pitch, both layers
pitch_both
28 0-127
Received, never sent
Mod Amount, layer 1
mod_amount_1
29 0-127
Received, never sent
Mod Amount, layer 2
mod_amount_2
30 0-127
Received, never sent
Mod Amount, both layers
mod_amount_both
31 0-127
Received, never sent
Mod Rate, layer 1
mod_rate_1
46 0-127
Received, never sent
Mod Rate, layer 2
mod_rate_2
47 0-127
Received, never sent
Mod Rate, both layers
mod_rate_both
48 0-127
Received, never sent

Part parameters

Control CC Values
Pan
pan
10 0-127
Received, never sent
Bit Reduction
bit_reduction
49 0-127
Received, never sent
Wave Folder
wave_folder
50 0-127
Received, never sent
Drive
drive
51 0-127
Received, never sent
Dry Gain
dry_gain
52 0-127
Received, never sent

Waveguide

Control CC Values
Waveguide Send
waveguide_send
103 0-127
Received, never sent

On the base MIDI channel

Waveguide

Control CC Values
Waveguide Model
waveguide_model
116 0-127
Received, never sent
Waveguide Decay
waveguide_decay
117 0-127
Received, never sent
Waveguide Body
waveguide_body
118 0-127
Received, never sent
Waveguide Tune
waveguide_tune
119 0-127
Received, never sent

PART1

In Single channel only.

Sound controls

Control CC Values
Select, both layers
single_part_1_select_both
14 0-127
Received, never sent
Level, both layers
single_part_1_level_both
15 0-127
Received, never sent
Mod Amount, both layers
single_part_1_mod_amount_both
16 0-127
Received, never sent
Mod Rate, both layers
single_part_1_mod_rate_both
17 0-127
Received, never sent
Pitch, both layers
single_part_1_pitch_both
18 0-127
Received, never sent
EG Attack, both layers
single_part_1_eg_attack_both
19 0-127
Received, never sent
EG Release, both layers
single_part_1_eg_release_both
20 0-127
Received, never sent

Part parameters

Control CC Values
Pan
single_part_1_pan
109 0-127
Received, never sent

Waveguide

Control CC Values
Waveguide Send
single_part_1_waveguide_send
103 0-127
Received, never sent

PART2

In Single channel only.

Sound controls

Control CC Values
Select, both layers
single_part_2_select_both
23 0-127
Received, never sent
Level, both layers
single_part_2_level_both
24 0-127
Received, never sent
Mod Amount, both layers
single_part_2_mod_amount_both
25 0-127
Received, never sent
Mod Rate, both layers
single_part_2_mod_rate_both
26 0-127
Received, never sent
Pitch, both layers
single_part_2_pitch_both
27 0-127
Received, never sent
EG Attack, both layers
single_part_2_eg_attack_both
28 0-127
Received, never sent
EG Release, both layers
single_part_2_eg_release_both
29 0-127
Received, never sent

Part parameters

Control CC Values
Pan
single_part_2_pan
110 0-127
Received, never sent

Waveguide

Control CC Values
Waveguide Send
single_part_2_waveguide_send
104 0-127
Received, never sent

PART3

In Single channel only.

Sound controls

Control CC Values
Select, both layers
single_part_3_select_both
46 0-127
Received, never sent
Level, both layers
single_part_3_level_both
47 0-127
Received, never sent
Mod Amount, both layers
single_part_3_mod_amount_both
48 0-127
Received, never sent
Mod Rate, both layers
single_part_3_mod_rate_both
49 0-127
Received, never sent
Pitch, both layers
single_part_3_pitch_both
50 0-127
Received, never sent
EG Attack, both layers
single_part_3_eg_attack_both
51 0-127
Received, never sent
EG Release, both layers
single_part_3_eg_release_both
52 0-127
Received, never sent

Part parameters

Control CC Values
Pan
single_part_3_pan
111 0-127
Received, never sent

Waveguide

Control CC Values
Waveguide Send
single_part_3_waveguide_send
105 0-127
Received, never sent

PART4

In Single channel only.

Sound controls

Control CC Values
Select, both layers
single_part_4_select_both
55 0-127
Received, never sent
Level, both layers
single_part_4_level_both
56 0-127
Received, never sent
Mod Amount, both layers
single_part_4_mod_amount_both
57 0-127
Received, never sent
Mod Rate, both layers
single_part_4_mod_rate_both
58 0-127
Received, never sent
Pitch, both layers
single_part_4_pitch_both
59 0-127
Received, never sent
EG Attack, both layers
single_part_4_eg_attack_both
60 0-127
Received, never sent
EG Release, both layers
single_part_4_eg_release_both
61 0-127
Received, never sent

Part parameters

Control CC Values
Pan
single_part_4_pan
112 0-127
Received, never sent

Waveguide

Control CC Values
Waveguide Send
single_part_4_waveguide_send
106 0-127
Received, never sent

PART5

In Single channel only.

Sound controls

Control CC Values
Select, both layers
single_part_5_select_both
80 0-127
Received, never sent
Level, both layers
single_part_5_level_both
81 0-127
Received, never sent
Mod Amount, both layers
single_part_5_mod_amount_both
82 0-127
Received, never sent
Mod Rate, both layers
single_part_5_mod_rate_both
83 0-127
Received, never sent
Pitch, both layers
single_part_5_pitch_both
84 0-127
Received, never sent
EG Attack, both layers
single_part_5_eg_attack_both
85 0-127
Received, never sent
EG Release, both layers
single_part_5_eg_release_both
86 0-127
Received, never sent

Part parameters

Control CC Values
Pan
single_part_5_pan
113 0-127
Received, never sent

Waveguide

Control CC Values
Waveguide Send
single_part_5_waveguide_send
107 0-127
Received, never sent

PART6

In Single channel only.

Sound controls

Control CC Values
Select, both layers
single_part_6_select_both
89 0-127
Received, never sent
Level, both layers
single_part_6_level_both
90 0-127
Received, never sent
Mod Amount, both layers
single_part_6_mod_amount_both
96 0-127
Received, never sent
Mod Rate, both layers
single_part_6_mod_rate_both
97 0-127
Received, never sent
Pitch, both layers
single_part_6_pitch_both
98 0-127
Received, never sent
EG Attack, both layers
single_part_6_eg_attack_both
99 0-127
Received, never sent
EG Release, both layers
single_part_6_eg_release_both
100 0-127
Received, never sent

Part parameters

Control CC Values
Pan
single_part_6_pan
114 0-127
Received, never sent

Waveguide

Control CC Values
Waveguide Send
single_part_6_waveguide_send
108 0-127
Received, never sent

Where these facts come from

Source documents

How they were read

MIDI Implementation Chart (Split channel), one page, which is the whole of the split-channel map below: p. 1. Owner's Manual, the edition Korg names EFGSCJ 4, eight sheets of six languages: printed p. 3, the English one. MIDI Implementation Chart (Single channel), p. 1, which is the whole of the single-channel map below. And two pages of Korg's own site, saved as text and cited for what Korg publishes and for the system versions.

THE SPLIT-CHANNEL CHART IS THE FACTORY DEFAULT and is the split mode below. Its Mode row is remarked "Channel 1-6 = Parts 1-6" (chart p. 1) and its Velocity row "n=0-5 (Channel 1-6 = Parts 1-6)" (chart p. 1), so the six parts are separately addressable with nothing set and nothing learned.

THE SINGLE-CHANNEL CHART IS A DIFFERENT MAP, NOT THE SPLIT ONE MOVED. Setting a MIDI channel switches the instrument to the single-channel implementation, where all six parts answer on that one channel and each gets a block of nine numbers of its own - part 1 on 14 to 20 with 103 and 109, part 2 on 23 to 29 with 104 and 110, part 3 on 46 to 52 with 105 and 111, part 4 on 55 to 61 with 106 and 112, part 5 on 80 to 86 with 107 and 113, part 6 on 89, 90, 96 to 100 with 108 and 114, and the resonator still on 116 to 119. Twenty-one numbers mean different things in the two implementations: CC 14 is layer 1's Select on the split channels and part 1's both-layer Select on the single one. A twenty-second, CC 103, keeps its name and changes whose it is: the send of whichever part's channel carries it on the split channels, and part 1's alone on the single one. Every layer parameter on the single-channel chart carries the 1-2 suffix, so a part there reaches both of its layers at once and neither layer alone. Those six blocks are the parts single_part_1 to single_part_6 below, which exist in the single mode only.

THE TWO CHARTS ORDER A PART'S PARAMETERS DIFFERENTLY, which is a second trap for anyone copying one from the other. The split chart runs select, level, attack, release, pitch, mod amount and mod rate; the single chart runs select, level, mod amount, mod rate, pitch, attack and release: "PART1: SELECT1-2, LEVEL1-2, MODAMT1-2, MODRATE1-2" (alternate_chart p. 1) and then "PART1: PITCH1-2, EGATT1-2, EGREL1-2" (alternate_chart p. 1).

FOUR PARAMETERS EXIST IN ONE IMPLEMENTATION AND NOT THE OTHER. Bit reduction, wave folder, drive and dry gain are CC 49 to 52 on the split channels, and in the single-channel map those four numbers belong to part 3, which leaves that implementation with no way to reach them at all. It also has no CC 10: each part's pan has a number of its own there. And the fourteen controls that reach one layer alone are the split channels' only, so the single channel cannot set one layer without the other.

EACH ROW PAIRS ITS NUMBERS TO ITS NAMES BY ORDER ALONE, which is the trap in reading either chart. A row of the split chart reads "14, 15, 16" against "SELECT1, SELECT2, SELECT1-2" (chart p. 1), and SELECT1-2 is not a range covering two numbers: it is a third control that moves both layers at once, which is what the panel's LAYER 1/2 button does - "The button will light up when both layers are selected at once" (p. 3). The single-channel chart is where the misreading costs most: every layer name there has the 1-2 form, and read as ranges one part's nine controls become sixteen. Every row of both charts was checked to have exactly as many names as numbers: the split chart's ten rows give thirty-one controls and the single chart's nineteen give fifty-eight.

THE INSTRUMENT SENDS NOTHING. No row of either chart has an O in its Transmitted column, and the specification lists one connector - "MIDI IN connector" (p. 3) - with no OUT and no THRU. So every control below is marked receives, and clock and transport likewise.

TWO GLOBAL SETTINGS CAN TURN OFF WHAT THIS FILE DESCRIBES, and both ship on. Footnote *1, carried by every control-change row and by the note row, reads "Received when global parameter MIDI RX ShortMessage is set to ON" (chart p. 1), and the manual's table of global parameters marks On as the factory default for it (p. 3). Footnote *2, on song position, clock and commands, reads "Not received when global parameter MIDI Clock src is set to Internal; received when set to Auto" (chart p. 1), and Auto is that parameter's factory default (p. 3).

THAT FOOTNOTE IS APPLIED UNEVENLY, which is worth knowing before anyone relies on it. It marks the Note Number row, making note reception depend on MIDI RX ShortMessage too, and it does not mark the Velocity row directly below - which is where the chart actually states that note on is received. One of those two rows is marked wrongly and the chart does not say which.

CC 46 TO 52 ARE THE LSB PARTNERS OF CC 14 TO 20 IN THE SPECIFICATION, and both charts give them parameters of their own. On the split channels, anything sending 14-bit controller pairs will move a part's mod rate while it means to refine its select, its bit reduction, wave folder or drive while it means a level, and its dry gain while it means layer 1's attack. On the single channel the pairs cross parts: 46 to 52 are part 3's block and 14 to 20 part 1's, and 55 to 61 are part 4's and the partners of part 2's 23 to 29, so a pair aimed at part 1 or 2 moves the same parameter of part 3 or 4. Neither chart warns about it. That is a caution for a consumer rather than a fault in the file: the numbers below are what the maker published.

THE SINGLE-CHANNEL CHART ALSO GIVES PART 6 FIVE NUMBERS THE SPECIFICATION KEEPS FOR OTHER WORK. 96 and 97 are data increment and decrement there, 98 and 99 the two halves of an NRPN's number and 100 half of an RPN's, and the chart has them as part 6's mod amount, mod rate, pitch, attack and release: "PART6: SELECT1-2, LEVEL1-2, MODAMT1-2, MODRATE1-2" (alternate_chart p. 1) against 89, 90, 96 and 97, and the next row against 98, 99 and 100. So anything that sends an NRPN or an RPN on that channel moves part 6's pitch, attack or release. 6, 38 and 101 are on neither chart.

NOTES REACH A PART WITHOUT NAMING ONE. The chart recognises note numbers 0 to 127 and remarks "Each sound does not correspond to a note number" (chart p. 1), so on the split channels the channel says which part sounds and the note number says nothing at all. That is why addressing is any: the part takes every note, and no note says more than another.

NOT RECORDED: which channel carries the four resonator controls in the split-channel implementation. The resonator is shared - "each part has two identical layers and the waveguide resonator is shared for all parts" (p. 3) - so those four are not a part's, and the chart does not say whether they answer on all six channels or on one. They name no part below, which in this format puts them on the base channel, channel 1: that is where the file's shape leaves them and not something the chart says. In the single-channel implementation there is one channel, and they are on it.

NOT RECORDED: which part a note sounds in the single-channel implementation. The split chart's Velocity row says which, "n=0-5 (Channel 1-6 = Parts 1-6)" (chart p. 1), and the single chart's has no remark. Its Note Number row recognises 0 to 127 with the split chart's remark, "Each sound does not correspond to a note number." (alternate_chart p. 1), and with six parts on one channel the channel cannot say either. The 1.14 system, later than both charts, lists "Fixed single channel MIDI handling of note events." (release_notes) and does not say what the handling is; the update manual in its archive, which sits behind a licence agreement, was not read here. So the six parts there are recorded as taking controls, which is all the chart gives each of them, and each says unrecorded: [notes]: notes arrive on that channel, and how one reaches a part is not in the documents.

NOT RECORDED:

The manual's program memory is sixteen locations loaded with FUNC + LOAD PRG. (p. 3) and nothing connects a program change to them, so the number is not written here.

CHECKED AND ABSENT: NRPN and RPN. Neither word, nor Registered, nor Parameter Number, appears anywhere on either chart or on printed page 3 of the manual. Three of their numbers are on the single-channel chart as part 6's own, as above. System exclusive is marked X in both columns of both charts.