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

The MIDI implementation of the Korg volca sample: what it answers to, and the 11 controls it offers, on firmware 1.42.

At a glance

Firmware
This page describes firmware 1.42.
MIDI channel
1 only.
Parts
Part, 10 of them: on 10 MIDI channels in a row from the base, taking notes and controls.
MIDI mode
3: omni off, poly.
Voices
8, shared by the parts that play notes.
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
Ignored. Release velocity is ignored.
Aftertouch
None, sent or answered.
Pitch bend
Not recorded.
Program change
Not received or sent.
MIDI clock
Received.
Start and stop
Received.
Control change
11 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_sample") has loaded them.

Part

Sample

Control CC Values
SAMPLE START POINT
sample_start_point
40 0-127
Received, never sent
SAMPLE LENGTH
sample_length
41 0-127
Received, never sent
SPEED
speed
43 0-127
Received, never sent

Tone

Control CC Values
HI CUT
hi_cut
42 0-127
Received, never sent

Pitch envelope

Control CC Values
PITCH EG INT
pitch_eg_int
44 0-127
Received, never sent
PITCH EG ATTACK
pitch_eg_attack
45 0-127
Received, never sent
PITCH EG DECAY
pitch_eg_decay
46 0-127
Received, never sent

Amplifier envelope

Control CC Values
AMP EG ATTACK
amp_eg_attack
47 0-127
Received, never sent
AMP EG DECAY
amp_eg_decay
48 0-127
Received, never sent

Level and pan

Control CC Values
LEVEL
level
7 0-127
Received, never sent
PAN
pan
10 0-127
Received, never sent

Where these facts come from

Source documents

How they were read

ONE CHART, AND ITS MARKS ARE DRAWINGS RATHER THAN TEXT. Every tick and cross on it is vector artwork, so extracting the text gives the eleven controller numbers and none of their directions. They were read as shapes - a circle is drawn with curves, a cross with straight lines - against the chart's own printed key, and then the table was rendered and read by eye. 29 crosses stand in the Transmitted column and not one circle, and every one of the eleven controllers carries a circle in the Recognized column.

THE TWO MANUAL PARTS PRINT NO PAGE NUMBER, being fold-outs of two sheets each carrying five languages side by side, so a locator below is the file's own sheet rather than a printed folio - which is the ruling dreadbox/nymphes needed for the same reason. Everything taken from part 1 is on its second sheet and everything from part 2 on its first. The chart and the updater page are one sheet each and are cited by name alone.

SO EVERYTHING HERE IS RECEIVED AND NOTHING IS SENT, which the manual settles twice over without naming a MIDI OUT at all: "An external MIDI device can be connected to the MIDI IN jack of the volca sample to control the audio source of the volca sample." (manual_1 p. 2), and the specification lists "Connectors: (Headphone) jack (ø3.5mm stereo mini-phone jack), SYNC IN jack" (manual_2 p. 1) and no other. korg/volca_fm and korg/volca_drum are the same shape for the same reason.

THE VELOCITY CELL HOLDS A CROSS AND A MESSAGE FORMAT TOGETHER, which reads like a contradiction and is not: the cross says the velocity is not acted on, and "9n, V=1 - 127" (chart) says what the note-on message looks like. This corpus can show the two shapes carry meaning rather than decorating the page, out of the same maker's own charts: the identical row is a circle on the volca drum's chart and a cross on the volca fm's, and the volca fm's implementation says in three words why - velocity is not used there either. So ignored is what the cross means, and it is read off this chart's key rather than borrowed from a sibling.

AND THE CHART IS FIVE YEARS OLDER THAN THE FIRMWARE, WITH ONE ROW KNOWN TO HAVE MOVED. It is "Ver.: 1.00" (chart), dated 2014. The newest system updater is 1.42, dated 2019, and its release note reads "Fixed MIDI Song Position Pointer." (updater) - while the chart crosses Song Position in both columns. A thing that was fixed is a thing that exists, so the chart is out of date on at least that row. Nothing here claims song position is unsupported, and nothing here claims it works: one sentence on a download page is enough to doubt a row and not enough to replace it. roland/tr_8 met the same shape with a whole update document to read instead.

WHAT THE TWO FOOTNOTES DO, AND WHAT THEY DO NOT. "*1: Received when global parameter MIDI RX ShortMessage is set to ON." (chart) hangs on all eleven controllers, and "*2: Not received when global parameter MIDI Clock src is set to Internal; received when set to Auto." (chart) hangs on the clock rows. Both parameters ship in the state that lets MIDI through: the manual's global table gives "Step7 MIDI RX ShortMessage *On St.on Off St.oF" (manual_2 p. 1) and "Step6 MIDI Clock Src *Auto CL.At Internal CL.In" (manual_2 p. 1), where the asterisk is that table's own mark for the factory default.