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.
Elektron Tonverk MIDI implementation
The MIDI implementation of the Elektron Tonverk: what it answers to, and the 250 controls it offers, on firmware 1.4.1.
At a glance
- Firmware
- This page describes firmware 1.4.1.
- MIDI channel
- Any one of 1 to 16.
- Parts
- Audio track, 8 of them: each on a MIDI channel of its own, taking notes and controls.
Bus track, 4 of them: each on a MIDI channel of its own, taking controls, with how notes reach it not recorded.
Send FX track, 3 of them: each on a MIDI channel of its own, taking controls, with how notes reach it not recorded.
Mix track: on a MIDI channel of its own, taking controls.
MIDI machine, 12 of them: each on a MIDI channel of its own.
Subtrack, 8 of them: inside each Audio track, sharing its MIDI channel, told apart by NRPN MSB, 1 to 8, taking controls, with how notes reach it not recorded. - Voices
- Not recorded.
- Note range
- 0 to 127: C-1 to G9, counting middle C as C4.
- Velocity
- Sent and received.
- Aftertouch
- Answered, of a kind its documents do not say. It sends aftertouch too.
- Pitch bend
- Not recorded.
- Program change
- Received and sent, with 128 presets.
- MIDI clock
- Sent and received.
- Start and stop
- Sent and received.
- Control change
- 158 controls, in the tables below.
- NRPN
- Supported. 92 of the controls below have one.
- System exclusive
- Not recorded.
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("elektron/tonverk") has loaded them.
Audio track
Trig
| Control | CC | NRPN | Values |
|---|---|---|---|
TRIG noteaudio_trig_note |
3 | 0-127 | |
TRIG velocityaudio_trig_velocity |
4 | 0-127 | |
TRIG note lengthaudio_trig_note_length |
5 | 0-127 | |
MODULATION WHEELaudio_mod_wheel |
1 | 0-127 Received, never sent |
|
BREATH CONTROLLERaudio_breath_controller |
2 | 0-127 Received, never sent |
Source
| Control | CC | NRPN | Values |
|---|---|---|---|
SRC 1 Data entry knob A (machine dependent)audio_src_1_data_entry_knob_a |
16 | 0-127 | |
SRC 1 Data entry knob B (machine dependent)audio_src_1_data_entry_knob_b |
17 | 0-127 | |
SRC 1 Data entry knob C (machine dependent)audio_src_1_data_entry_knob_c |
18 | 0-127 | |
SRC 1 Data entry knob D (machine dependent)audio_src_1_data_entry_knob_d |
19 | 0-127 | |
SRC 1 Data entry knob E (machine dependent)audio_src_1_data_entry_knob_e |
20 | 0-127 | |
SRC 1 Data entry knob F (machine dependent)audio_src_1_data_entry_knob_f |
21 | 0-127 | |
SRC 1 Data entry knob G (machine dependent)audio_src_1_data_entry_knob_g |
22 | 0-127 | |
SRC 1 Data entry knob H (machine dependent)audio_src_1_data_entry_knob_h |
23 | 0-127 | |
SRC 2 Data entry knob A (machine dependent)audio_src_2_data_entry_knob_a |
24 | 0-127 | |
SRC 2 Data entry knob B (machine dependent)audio_src_2_data_entry_knob_b |
25 | 0-127 | |
SRC 2 Data entry knob C (machine dependent)audio_src_2_data_entry_knob_c |
26 | 0-127 | |
SRC 2 Data entry knob D (machine dependent)audio_src_2_data_entry_knob_d |
27 | 0-127 | |
SRC 2 Data entry knob E (machine dependent)audio_src_2_data_entry_knob_e |
28 | 0-127 | |
SRC 2 Data entry knob F (machine dependent)audio_src_2_data_entry_knob_f |
29 | 0-127 | |
SRC 2 Data entry knob G (machine dependent)audio_src_2_data_entry_knob_g |
30 | 0-127 | |
SRC 1 Data entry knob H (machine dependent)audio_src_2_data_entry_knob_h |
31 | 0-127 |
Filter
| Control | CC | NRPN | Values |
|---|---|---|---|
FLTR Data entry knob A (SRC machine dependent)audio_fltr_data_entry_knob_a |
70 | 0-127 | |
FLTR Data entry knob B (SRC machine dependent)audio_fltr_data_entry_knob_b |
71 | 0-127 | |
FLTR Data entry knob C (SRC machine dependent)audio_fltr_data_entry_knob_c |
72 | 0-127 | |
FLTR Data entry knob D (SRC machine dependent)audio_fltr_data_entry_knob_d |
73 | 0-127 | |
FLTR Data entry knob E (SRC machine dependent)audio_fltr_data_entry_knob_e |
74 | 0-127 | |
FLTR Data entry knob F (SRC machine dependent)audio_fltr_data_entry_knob_f |
75 | 0-127 | |
FLTR Data entry knob G (SRC machine dependent)audio_fltr_data_entry_knob_g |
76 | 0-127 | |
FLTR Data entry knob H (SRC machine dependent)audio_fltr_data_entry_knob_h |
77 | 0-127 | |
FLTR baseaudio_fltr_base |
78 | 0-127 | |
FLTR widthaudio_fltr_width |
79 | 0-127 | |
FLTR env resetaudio_fltr_env_reset_nrpn |
45 MSB 0, LSB 45 |
0-127 | |
FLTR env delayaudio_fltr_env_delay_nrpn |
46 MSB 0, LSB 46 |
0-127 | |
FLTR key trackingaudio_fltr_key_tracking_nrpn |
47 MSB 0, LSB 47 |
0-127 |
Amp
| Control | CC | NRPN | Values |
|---|---|---|---|
AMP panaudio_amp_pan |
10 | 0-127 | |
AMP attackaudio_amp_attack |
83 | 0-127 | |
AMP holdaudio_amp_hold |
84 | 0-127 | |
AMP decayaudio_amp_decay |
85 | 0-127 | |
AMP sustainaudio_amp_sustain |
86 | 0-127 | |
AMP releaseaudio_amp_release |
87 | 0-127 | |
AMP overdriveaudio_amp_overdrive |
88 | 0-127 | |
AMP volumeaudio_amp_volume |
89 | 0-127 | |
AMP modeaudio_amp_mode_nrpn |
48 MSB 0, LSB 48 |
0-127 | |
AMP resetaudio_amp_reset_nrpn |
49 MSB 0, LSB 49 |
0-127 |
FX
| Control | CC | NRPN | Values |
|---|---|---|---|
FX send amount 1audio_fx_send_amount_1 |
44 | 0-127 | |
FX send amount 2audio_fx_send_amount_2 |
45 | 0-127 | |
FX send amount 3audio_fx_send_amount_3 |
46 | 0-127 | |
FX routing destinationaudio_fx_routing_destination |
47 | 0-127 | |
FX 1 Data entry knob A (machine dependent)audio_fx_1_data_entry_knob_a |
48 | 0-127 | |
FX 1 Data entry knob B (machine dependent)audio_fx_1_data_entry_knob_b |
49 | 0-127 | |
FX 1 Data entry knob C (machine dependent)audio_fx_1_data_entry_knob_c |
50 | 0-127 | |
FX 1 Data entry knob D (machine dependent)audio_fx_1_data_entry_knob_d |
51 | 0-127 | |
FX 1 Data entry knob E (machine dependent)audio_fx_1_data_entry_knob_e |
52 | 0-127 | |
FX 1 Data entry knob F (machine dependent)audio_fx_1_data_entry_knob_f |
53 | 0-127 | |
FX 1 Data entry knob G (machine dependent)audio_fx_1_data_entry_knob_g |
54 | 0-127 | |
FX 1 Data entry knob H (machine dependent)audio_fx_1_data_entry_knob_h |
55 | 0-127 | |
FX 2 Data entry knob A (machine dependent)audio_fx_2_data_entry_knob_a |
56 | 0-127 | |
FX 2 Data entry knob B (machine dependent)audio_fx_2_data_entry_knob_b |
57 | 0-127 | |
FX 2 Data entry knob C (machine dependent)audio_fx_2_data_entry_knob_c |
58 | 0-127 | |
FX 2 Data entry knob D (machine dependent)audio_fx_2_data_entry_knob_d |
59 | 0-127 | |
FX 2 Data entry knob E (machine dependent)audio_fx_2_data_entry_knob_e |
60 | 0-127 | |
FX 2 Data entry knob F (machine dependent)audio_fx_2_data_entry_knob_f |
61 | 0-127 | |
FX 2 Data entry knob G (machine dependent)audio_fx_2_data_entry_knob_g |
62 | 0-127 | |
FX 2 Data entry knob H (machine dependent)audio_fx_2_data_entry_knob_h |
63 | 0-127 |
FX LFO
| Control | CC | NRPN | Values |
|---|---|---|---|
FX LFO1 speedaudio_fx_lfo1_speed |
111 | 0-127 | |
FX LFO1 multiplieraudio_fx_lfo1_multiplier |
112 | 0-127 | |
FX LFO1 depthaudio_fx_lfo1_depth |
113 | 0-127 | |
FX LFO2 speedaudio_fx_lfo2_speed |
114 | 0-127 | |
FX LFO2 multiplieraudio_fx_lfo2_multiplier |
115 | 0-127 | |
FX LFO2 depthaudio_fx_lfo2_depth |
116 | 0-127 | |
FX LFO1 speedaudio_fx_lfo1_speed_nrpn |
26 MSB 0, LSB 26 |
0-127 | |
FX LFO1 multiplieraudio_fx_lfo1_multiplier_nrpn |
27 MSB 0, LSB 27 |
0-127 | |
FX LFO1 fadeaudio_fx_lfo1_fade_nrpn |
28 MSB 0, LSB 28 |
0-127 | |
FX LFO1 waveformaudio_fx_lfo1_waveform_nrpn |
30 MSB 0, LSB 30 |
0-127 | |
FX LFO1 start phase FX LFO1 slewaudio_fx_lfo1_start_phase_fx_lfo1_slew_nrpn |
31 MSB 0, LSB 31 |
0-127 | |
FX LFO1 trig modeaudio_fx_lfo1_trig_mode_nrpn |
32 MSB 0, LSB 32 |
0-127 | |
FX LFO1 depthaudio_fx_lfo1_depth_nrpn |
33 MSB 0, LSB 33 |
0-127 | |
FX LFO2 speedaudio_fx_lfo2_speed_nrpn |
34 MSB 0, LSB 34 |
0-127 | |
FX LFO2 multiplieraudio_fx_lfo2_multiplier_nrpn |
35 MSB 0, LSB 35 |
0-127 | |
FX LFO2 fadeaudio_fx_lfo2_fade_nrpn |
36 MSB 0, LSB 36 |
0-127 | |
FX LFO2 waveformaudio_fx_lfo2_waveform_nrpn |
38 MSB 0, LSB 38 |
0-127 | |
FX LFO2 start phase / FX LFO2 slewaudio_fx_lfo2_start_phase_nrpn |
39 MSB 0, LSB 39 |
0-127 | |
FX LFO2 trig modeaudio_fx_lfo2_trig_mode_nrpn |
40 MSB 0, LSB 40 |
0-127 | |
FX LFO2 depthaudio_fx_lfo2_depth_nrpn |
41 MSB 0, LSB 41 |
0-127 |
Voice LFO
| Control | CC | NRPN | Values |
|---|---|---|---|
VOICE LFO1 speedaudio_voice_lfo1_speed |
102 | 0-127 | |
VOICE LFO1 multiplieraudio_voice_lfo1_multiplier |
103 | 0-127 | |
VOICE LFO1 depthaudio_voice_lfo1_depth |
104 | 0-127 | |
VOICE LFO2 speedaudio_voice_lfo2_speed |
105 | 0-127 | |
VOICE LFO2 multiplieraudio_voice_lfo2_multiplier |
106 | 0-127 | |
VOICE LFO2 depthaudio_voice_lfo2_depth |
107 | 0-127 | |
VOICE LFO1 speedaudio_voice_lfo1_speed_nrpn |
1 MSB 0, LSB 1 |
0-127 | |
VOICE LFO1 multiplieraudio_voice_lfo1_multiplier_nrpn |
2 MSB 0, LSB 2 |
0-127 | |
VOICE LFO1 fadeaudio_voice_lfo1_fade_nrpn |
3 MSB 0, LSB 3 |
0-127 | |
VOICE LFO1 waveformaudio_voice_lfo1_waveform_nrpn |
5 MSB 0, LSB 5 |
0-127 | |
VOICE LFO1 start phase / VOICE LFO1 slewaudio_voice_lfo1_start_phase_nrpn |
6 MSB 0, LSB 6 |
0-127 | |
VOICE LFO1 trig modeaudio_voice_lfo1_trig_mode_nrpn |
7 MSB 0, LSB 7 |
0-127 | |
VOICE LFO1 depthaudio_voice_lfo1_depth_nrpn |
8 MSB 0, LSB 8 |
0-127 | |
VOICE LFO2 speedaudio_voice_lfo2_speed_nrpn |
9 MSB 0, LSB 9 |
0-127 | |
VOICE LFO2 multiplieraudio_voice_lfo2_multiplier_nrpn |
10 MSB 0, LSB 10 |
0-127 | |
VOICE LFO2 fadeaudio_voice_lfo2_fade_nrpn |
11 MSB 0, LSB 11 |
0-127 | |
VOICE LFO2 waveformaudio_voice_lfo2_waveform_nrpn |
13 MSB 0, LSB 13 |
0-127 | |
VOICE LFO2 start phase / VOICE LFO2 slewaudio_voice_lfo2_start_phase_nrpn |
14 MSB 0, LSB 14 |
0-127 | |
VOICE LFO2 trig modeaudio_voice_lfo2_trig_mode_nrpn |
15 MSB 0, LSB 15 |
0-127 | |
VOICE LFO2 depthaudio_voice_lfo2_depth_nrpn |
16 MSB 0, LSB 16 |
0-127 |
Modulation envelope
| Control | CC | NRPN | Values |
|---|---|---|---|
MOD ENV depthaudio_mod_env_depth |
110 | 0-127 | |
MOD ENV attackaudio_mod_env_attack_nrpn |
17 MSB 0, LSB 17 |
0-127 | |
MOD ENV decayaudio_mod_env_decay_nrpn |
18 MSB 0, LSB 18 |
0-127 | |
MOD ENV sustainaudio_mod_env_sustain_nrpn |
19 MSB 0, LSB 19 |
0-127 | |
MOD ENV releaseaudio_mod_env_release_nrpn |
20 MSB 0, LSB 20 |
0-127 | |
MOD ENV resetaudio_mod_env_reset_nrpn |
21 MSB 0, LSB 21 |
0-127 | |
MOD ENV delayaudio_mod_env_delay_nrpn |
22 MSB 0, LSB 22 |
0-127 | |
MOD ENV depthaudio_mod_env_depth_nrpn |
24 MSB 0, LSB 24 |
0-127 |
Voice
| Control | CC | NRPN | Values |
|---|---|---|---|
Portamento timeaudio_portamento_time |
9 | 0-127 | |
Portamento on/offaudio_portamento_on |
65 | 0-127 | |
Retrig on/offaudio_retrig_on_nrpn |
42 MSB 0, LSB 42 |
0-127 | |
Retrig timeaudio_retrig_time_nrpn |
43 MSB 0, LSB 43 |
0-127 | |
Retrig velocityaudio_retrig_velocity_nrpn |
44 MSB 0, LSB 44 |
0-127 |
Mixer
| Control | CC | NRPN | Values |
|---|---|---|---|
Global muteaudio_global_mute |
94 | 0-127 | |
Track levelaudio_track_level |
95 | 0-127 |
Without a group
| Control | CC | NRPN | Values |
|---|---|---|---|
MIDI sustain pedalaudio_sustain_pedal |
64 | 0-127 Received, never sent |
|
MIDI sostenuto pedalaudio_sostenuto_pedal |
66 | 0-127 Received, never sent |
Bus track
Trig
| Control | CC | NRPN | Values |
|---|---|---|---|
TRIG notebus_trig_note |
3 | 0-127 | |
TRIG velocitybus_trig_velocity |
4 | 0-127 | |
TRIG note lengthbus_trig_note_length |
5 | 0-127 |
FX
| Control | CC | NRPN | Values |
|---|---|---|---|
FX send amount 1bus_fx_send_amount_1 |
44 | 0-127 | |
FX send amount 2bus_fx_send_amount_2 |
45 | 0-127 | |
FX send amount 3bus_fx_send_amount_3 |
46 | 0-127 | |
FX routing destinationbus_fx_routing_destination |
47 | 0-127 | |
FX 1 Data entry knob A (machine dependent)bus_fx_1_data_entry_knob_a |
48 | 0-127 | |
FX 1 Data entry knob B (machine dependent)bus_fx_1_data_entry_knob_b |
49 | 0-127 | |
FX 1 Data entry knob C (machine dependent)bus_fx_1_data_entry_knob_c |
50 | 0-127 | |
FX 1 Data entry knob D (machine dependent)bus_fx_1_data_entry_knob_d |
51 | 0-127 | |
FX 1 Data entry knob E (machine dependent)bus_fx_1_data_entry_knob_e |
52 | 0-127 | |
FX 1 Data entry knob F (machine dependent)bus_fx_1_data_entry_knob_f |
53 | 0-127 | |
FX 1 Data entry knob G (machine dependent)bus_fx_1_data_entry_knob_g |
54 | 0-127 | |
FX 1 Data entry knob H (machine dependent)bus_fx_1_data_entry_knob_h |
55 | 0-127 | |
FX 2 Data entry knob A (machine dependent)bus_fx_2_data_entry_knob_a |
56 | 0-127 | |
FX 2 Data entry knob B (machine dependent)bus_fx_2_data_entry_knob_b |
57 | 0-127 | |
FX 2 Data entry knob C (machine dependent)bus_fx_2_data_entry_knob_c |
58 | 0-127 | |
FX 2 Data entry knob D (machine dependent)bus_fx_2_data_entry_knob_d |
59 | 0-127 | |
FX 2 Data entry knob E (machine dependent)bus_fx_2_data_entry_knob_e |
60 | 0-127 | |
FX 2 Data entry knob F (machine dependent)bus_fx_2_data_entry_knob_f |
61 | 0-127 | |
FX 2 Data entry knob G (machine dependent)bus_fx_2_data_entry_knob_g |
62 | 0-127 | |
FX 2 Data entry knob H (machine dependent)bus_fx_2_data_entry_knob_h |
63 | 0-127 |
FX LFO
| Control | CC | NRPN | Values |
|---|---|---|---|
FX LFO1 speedbus_fx_lfo1_speed |
111 | 0-127 | |
FX LFO1 multiplierbus_fx_lfo1_multiplier |
112 | 0-127 | |
FX LFO1 depthbus_fx_lfo1_depth |
113 | 0-127 | |
FX LFO2 speedbus_fx_lfo2_speed |
114 | 0-127 | |
FX LFO2 multiplierbus_fx_lfo2_multiplier |
115 | 0-127 | |
FX LFO2 depthbus_fx_lfo2_depth |
116 | 0-127 |
Mixer
| Control | CC | NRPN | Values |
|---|---|---|---|
Global mutebus_global_mute |
94 | 0-127 | |
Track levelbus_track_level |
95 | 0-127 |
Send FX track
Trig
| Control | CC | NRPN | Values |
|---|---|---|---|
TRIG notefx_send_trig_note |
3 | 0-127 | |
TRIG velocityfx_send_trig_velocity |
4 | 0-127 | |
TRIG note lengthfx_send_trig_note_length |
5 | 0-127 |
FX
| Control | CC | NRPN | Values |
|---|---|---|---|
FX routing destinationfx_send_fx_routing_destination |
47 | 0-127 | |
FX 1 Data entry knob A (machine dependent)fx_send_fx_1_data_entry_knob_a |
48 | 0-127 | |
FX 1 Data entry knob B (machine dependent)fx_send_fx_1_data_entry_knob_b |
49 | 0-127 | |
FX 1 Data entry knob C (machine dependent)fx_send_fx_1_data_entry_knob_c |
50 | 0-127 | |
FX 1 Data entry knob D (machine dependent)fx_send_fx_1_data_entry_knob_d |
51 | 0-127 | |
FX 1 Data entry knob E (machine dependent)fx_send_fx_1_data_entry_knob_e |
52 | 0-127 | |
FX 1 Data entry knob F (machine dependent)fx_send_fx_1_data_entry_knob_f |
53 | 0-127 | |
FX 1 Data entry knob G (machine dependent)fx_send_fx_1_data_entry_knob_g |
54 | 0-127 | |
FX 1 Data entry knob H (machine dependent)fx_send_fx_1_data_entry_knob_h |
55 | 0-127 |
FX LFO
| Control | CC | NRPN | Values |
|---|---|---|---|
FX LFO1 speedfx_send_fx_lfo1_speed |
111 | 0-127 | |
FX LFO1 multiplierfx_send_fx_lfo1_multiplier |
112 | 0-127 | |
FX LFO1 depthfx_send_fx_lfo1_depth |
113 | 0-127 | |
FX LFO2 speedfx_send_fx_lfo2_speed |
114 | 0-127 | |
FX LFO2 multiplierfx_send_fx_lfo2_multiplier |
115 | 0-127 | |
FX LFO2 depthfx_send_fx_lfo2_depth |
116 | 0-127 |
Mixer
| Control | CC | NRPN | Values |
|---|---|---|---|
Global mutefx_send_global_mute |
94 | 0-127 | |
Track levelfx_send_track_level |
95 | 0-127 |
Mix track
Trig
| Control | CC | NRPN | Values |
|---|---|---|---|
TRIG notemix_trig_note |
3 | 0-127 | |
TRIG velocitymix_trig_velocity |
4 | 0-127 | |
TRIG note lengthmix_trig_note_length |
5 | 0-127 |
FX
| Control | CC | NRPN | Values |
|---|---|---|---|
FX 1 Data entry knob A (machine dependent)mix_fx_1_data_entry_knob_a |
48 | 0-127 | |
FX 1 Data entry knob B (machine dependent)mix_fx_1_data_entry_knob_b |
49 | 0-127 | |
FX 1 Data entry knob C (machine dependent)mix_fx_1_data_entry_knob_c |
50 | 0-127 | |
FX 1 Data entry knob D (machine dependent)mix_fx_1_data_entry_knob_d |
51 | 0-127 | |
FX 1 Data entry knob E (machine dependent)mix_fx_1_data_entry_knob_e |
52 | 0-127 | |
FX 1 Data entry knob F (machine dependent)mix_fx_1_data_entry_knob_f |
53 | 0-127 | |
FX 1 Data entry knob G (machine dependent)mix_fx_1_data_entry_knob_g |
54 | 0-127 | |
FX 1 Data entry knob H (machine dependent)mix_fx_1_data_entry_knob_h |
55 | 0-127 |
FX LFO
| Control | CC | NRPN | Values |
|---|---|---|---|
FX LFO1 speedmix_fx_lfo1_speed |
111 | 0-127 | |
FX LFO1 multipliermix_fx_lfo1_multiplier |
112 | 0-127 | |
FX LFO1 depthmix_fx_lfo1_depth |
113 | 0-127 | |
FX LFO2 speedmix_fx_lfo2_speed |
114 | 0-127 | |
FX LFO2 multipliermix_fx_lfo2_multiplier |
115 | 0-127 | |
FX LFO2 depthmix_fx_lfo2_depth |
116 | 0-127 |
Mixer
| Control | CC | NRPN | Values |
|---|---|---|---|
In A levelmix_in_a_level |
16 | 0-127 | |
In A Panmix_in_a_pan |
17 | 0-127 | |
In A routing destinationmix_in_a_routing_destination |
18 | 0-127 | |
In B levelmix_in_b_level |
20 | 0-127 | |
In B Panmix_in_b_pan |
21 | 0-127 | |
In B routing destinationmix_in_b_routing_destination |
22 | 0-127 | |
Global mutemix_global_mute |
94 | 0-127 | |
Track levelmix_track_level |
95 | 0-127 |
Subtrack
Subtracks SRC machine
| Control | CC | NRPN | Values |
|---|---|---|---|
SRC tunesubtrack_src_tune |
144 MSB 1, LSB 16 |
0-127 | |
SRC play modesubtrack_src_play_mode |
145 MSB 1, LSB 17 |
0-127 | |
SRC startsubtrack_src_start |
148 MSB 1, LSB 20 |
0-127 | |
SRC lengthsubtrack_src_length |
149 MSB 1, LSB 21 |
0-127 | |
SRC loop pointsubtrack_src_loop_point |
150 MSB 1, LSB 22 |
0-127 | |
FLTR env resetsubtrack_fltr_env_reset |
173 MSB 1, LSB 45 |
0-127 | |
FLTR env delaysubtrack_fltr_env_delay |
174 MSB 1, LSB 46 |
0-127 | |
AMP modesubtrack_amp_mode |
176 MSB 1, LSB 48 |
0-127 | |
AMP env resetsubtrack_amp_env_reset |
177 MSB 1, LSB 49 |
0-127 | |
FLTR attacksubtrack_fltr_attack |
198 MSB 1, LSB 70 |
0-127 | |
FLTR decaysubtrack_fltr_decay |
199 MSB 1, LSB 71 |
0-127 | |
FLTR sustainsubtrack_fltr_sustain |
200 MSB 1, LSB 72 |
0-127 | |
FLTR releasesubtrack_fltr_release |
201 MSB 1, LSB 73 |
0-127 | |
FLTR frequencysubtrack_fltr_frequency |
202 MSB 1, LSB 74 |
0-127 | |
FLTR resonancesubtrack_fltr_resonance |
203 MSB 1, LSB 75 |
0-127 | |
FLTR typesubtrack_fltr_type |
204 MSB 1, LSB 76 |
0-127 | |
FLTR env depthsubtrack_fltr_env_depth |
205 MSB 1, LSB 77 |
0-127 | |
FLTR basesubtrack_fltr_base |
206 MSB 1, LSB 78 |
0-127 | |
FLTR widthsubtrack_fltr_width |
207 MSB 1, LSB 79 |
0-127 | |
FLTR frequency spreadsubtrack_fltr_frequency_spread |
208 MSB 1, LSB 80 |
0-127 | |
AMP attacksubtrack_amp_attack |
211 MSB 1, LSB 83 |
0-127 | |
AMP holdsubtrack_amp_hold |
212 MSB 1, LSB 84 |
0-127 | |
AMP decaysubtrack_amp_decay |
213 MSB 1, LSB 85 |
0-127 | |
AMP sustainsubtrack_amp_sustain |
214 MSB 1, LSB 86 |
0-127 | |
AMP releasesubtrack_amp_release |
215 MSB 1, LSB 87 |
0-127 | |
AMP overdrivesubtrack_amp_overdrive |
216 MSB 1, LSB 88 |
0-127 | |
AMP pansubtrack_amp_pan |
138 MSB 1, LSB 10 |
0-127 | |
AMP volumesubtrack_amp_volume |
217 MSB 1, LSB 89 |
0-127 | |
VOICE LFO1 speedsubtrack_voice_lfo1_speed |
230 MSB 1, LSB 102 |
0-127 | |
VOICE LFO1 multipliersubtrack_voice_lfo1_multiplier |
231 MSB 1, LSB 103 |
0-127 | |
VOICE LFO1 fadesubtrack_voice_lfo1_fade |
232 MSB 1, LSB 104 |
0-127 | |
VOICE LFO1 waveformsubtrack_voice_lfo1_waveform |
234 MSB 1, LSB 106 |
0-127 | |
VOICE LFO1 start phase / VOICE LFO1 slewsubtrack_voice_lfo1_start_phase |
235 MSB 1, LSB 107 |
0-127 | |
VOICE LFO1 trig modesubtrack_voice_lfo1_trig_mode |
236 MSB 1, LSB 108 |
0-127 | |
VOICE LFO1 depthsubtrack_voice_lfo1_depth |
237 MSB 1, LSB 109 |
0-127 | |
VOICE LFO2 speedsubtrack_voice_lfo2_speed |
238 MSB 1, LSB 110 |
0-127 | |
VOICE LFO2 multipliersubtrack_voice_lfo2_multiplier |
239 MSB 1, LSB 111 |
0-127 | |
VOICE LFO2 fadesubtrack_voice_lfo2_fade |
240 MSB 1, LSB 112 |
0-127 | |
VOICE LFO2 waveformsubtrack_voice_lfo2_waveform |
242 MSB 1, LSB 114 |
0-127 | |
VOICE LFO2 start phase VOICE LFO2 slewsubtrack_voice_lfo2_start_phase_voice_lfo2_slew |
243 MSB 1, LSB 115 |
0-127 | |
VOICE LFO2 trig modesubtrack_voice_lfo2_trig_mode |
244 MSB 1, LSB 116 |
0-127 | |
VOICE LFO2 depthsubtrack_voice_lfo2_depth |
245 MSB 1, LSB 117 |
0-127 | |
MOD ENV attacksubtrack_mod_env_attack |
246 MSB 1, LSB 118 |
0-127 | |
MOD ENV decaysubtrack_mod_env_decay |
247 MSB 1, LSB 119 |
0-127 | |
MOD ENV sustainsubtrack_mod_env_sustain |
248 MSB 1, LSB 120 |
0-127 | |
MOD ENV releasesubtrack_mod_env_release |
249 MSB 1, LSB 121 |
0-127 | |
MOD ENV resetsubtrack_mod_env_reset |
250 MSB 1, LSB 122 |
0-127 | |
MOD ENV delaysubtrack_mod_env_delay |
251 MSB 1, LSB 123 |
0-127 | |
MOD ENV depthsubtrack_mod_env_depth |
253 MSB 1, LSB 125 |
0-127 |
MIDI machine
Source
| Control | CC | NRPN | Values |
|---|---|---|---|
Bankmidi_out_bank_select_msb |
0 | 0-127 Sent, never received |
|
Sub Bankmidi_out_bank_select_lsb |
32 | 0-127 Sent, never received |
|
Mod Wheelmidi_out_mod_wheel |
1 | 0-127 Sent, never received |
|
Breath Controllermidi_out_breath_controller |
2 | 0-127 Sent, never received |
Where these facts come from
Source documents
- Tonverk User Manual, OS 1.4.1, dated 23 September 2026, its user manual, read on 5 October 2026 (the file read).
- Tonverk - Elektron, its download page, read on 5 October 2026 (the file read).
- Tonverk OS Release Notes - Elektron, 1.4.1, dated 23 September 2026, its release notes, read on 11 October 2026 (the file read).
How they were read
The Tonverk User Manual, 130 pages, created 2026-09-23 by its own metadata and offered as "Tonverk User Manual - EN" (download_page) on the day its maker announced "Tonverk OS 1.4.1" (download_page). Elektron publishes no separate MIDI implementation for this instrument and puts the tables in the manual's own Appendix D: "This appendix lists the CC and NRPN specification for Tonverk." (manual p. 120).
EVERY NUMBER BELOW BUT FOUR COMES FROM THAT APPENDIX, which is pp. 120-124 and three tables. D.1 gives 74 controller numbers against four columns of track kind; D.2 gives 43 NRPNs for audio tracks, every MSB nought; D.3 gives 49 more whose MSB is the subtrack. Notes/4606_extract_tonverk.py reads all three off the grid the publisher drew, and Notes/4606_write_controls.py wrote the block below as it stood until 2026-10-11; the subtrack rows' keys, labels and part were changed by hand that day. The appendix's one word on how the audio column bears on a track running the Subtracks machine is a footnote to its Audio tracks* heading, "* = Several of the Subtracks SRC machines' parameters are controlled using NPRN values." (manual p. 120), in its spelling. It does not say which of the audio column's numbers still act on such a track.
AND ONE FIGURE OUTSIDE THESE DOCUMENTS AGREES WITH THE READING IN A WAY WORTH RECORDING. midi.guide lists this instrument at 435 NRPNs, which is exactly 49 times eight plus the 43 of D.2 - so whoever compiled that entry expanded the subtracks the same way, and read the same 49 and 43 rows. It is not a source and nothing here rests on it; it is a third party arriving at this appendix's own arithmetic independently, which is the only corroboration available for a maker who publishes one document.
THE GRID COST THREE ROWS BEFORE IT WAS READ PROPERLY, AND THE WAY IT DID IS WORTH CARRYING. This publisher draws a table's header and its body as two blocks whose column edges differ in the first decimal, and the body's rules stop one short of the table's bottom rule, which belongs to the header's block. So reading the blocks apart loses the last row of every page - here controller numbers 51, 103 and 110, each the last on its page, each silently absent. They are recovered by matching edges within two points and taking the union of the rules. Page 122 also carries the end of one table and the start of another, five columns and three, so a page cannot be read with one set of column edges either.
SIXTEEN TRACKS IN FOUR KINDS, WHICH IS WHERE THE PARTS COME FROM. "The Tonverk sequencer has 16 tracks. 8 Audio/MIDI tracks, 4 Bus and MIDI tracks, 3 Send FX tracks, and one Mix track." (manual p. 20). Each has a channel of its own: "TRACK/BUS/SEND/MIX CHANNEL selects the dedicated MIDI channel that is used to receive or send" (manual p. 76) parameter data for it, and set to OFF a track neither receives nor sends. The manual also says they are the tracks' own numbers, "The MIDI channels dedicated to each of the tracks are the same as the track's number." (manual p. 36). Choosing freely is new in 1.4.0, "It is now possible to freely select a MIDI channel for each track." (release_notes), so p. 36 reads as where a track sits until it is moved. No page calls that a default. There is a seventeenth channel besides - "AUTO CHANNEL selects the MIDI channel that will give access to the currently active track." (manual p. 77) - and the manual notes that the track sharing that channel then listens to nothing, which no field here can say.
TWO PAGES SAY WHERE A NOTE GOES, AND THEY DO NOT SAY THE SAME THING. "The 128 notes in the standard MIDI range (0-127) all trigger the preset of the active track" (manual p. 30) in its chromatic variations, with no word on the channel. And "The presets can also be played chromatically using an external MIDI device connected to Tonverk. The MIDI channels dedicated to each of the tracks are the same as the track's number." (manual p. 36), which reads as a note reaching the track whose channel carries it. The second is what the parts below record, each audio track taking notes on its own channel. The first holds on the AUTO channel at least: "If an external MIDI keyboard connected to Tonverk sends MIDI data on this channel, the keyboard will control the active track." (manual p. 77). Either way a setting has to allow it: "RECEIVE NOTES will, when active, enable playing Tonverk using an external MIDI keyboard." (manual p. 76). Until 2026-10-11 this account took the first page alone, and said notes go to no track of their own. And eight of those notes mean something else again on a track running the Subtracks machine: "The subtracks are triggered over MIDI using these note values: 60, 62, 64, 65, 67, 69, 71, and 72." (manual p. 30). So a note is a pitch or a subtrack selector depending on the machine. The eight MSBs are the subtrack part below. The eight notes stay in prose: the page lists them without pairing each to a subtrack, and a part's note map is the whole part's and cannot give one note to one instance.
THE DIRECTIONS ARE ALL SETTINGS AND ALL TWO-WAY. Clock: "CLOCK RECEIVE determines whether Tonverk responds to MIDI clock sent from external devices or not." (manual p. 76) and "CLOCK SEND determines whether Tonverk transmits MIDI clock or not." (manual p. 76). Transport the same, with "TRANSPORT SEND determines whether Tonverk transmits MIDI transport messages or not." (manual p. 76). Program change both ways, with a channel for each direction. And the controls: "RECEIVE CC/NRPN will, when active, make it possible to control Tonverk's parameters from an external MIDI device sending CC and NRPN data." (manual p. 76), against a channel that is "used to receive or send" (manual p. 76) - so every control of the appendix is two-way and none of them carries a direction of its own. Of the four controllers outside the appendix, the mod wheel and the breath controller are two-way as well and the two pedals are received only, for the reasons given below.
WHAT THE MANUAL GETS WRONG, RECORDED AND NOT TIDIED. Two consecutive sections print the same sentence. 11.1.11 is headed PITCH BEND and 11.1.12 AFTERTOUCH, and both read "Opens a menu where you can assign up to four parameters to the MIDI aftertouch command." (manual p. 52) - so the pitch bend section describes aftertouch, and what pitch bend's four assignable parameters are is stated nowhere. The misprinted CC 31 is the other one, above. A third is smaller: not availble for available, once on p. 50 and once on p. 51. And the appendix's footnote spells NRPN NPRN (manual p. 120), while two of its rows drop the slash their neighbours print.
FOUR CONTROLLERS OUTSIDE THE APPENDIX ARE CARRIED AS RECEIVED ON THE AUDIO TRACKS, AND THE MIDI MACHINE NAMES FOUR IT SENDS. The track setup menu assigns parameters to "the MIDI mod wheel command (CC #1)" (manual p. 52) and to "the MIDI breath controller command (CC #2)" (manual p. 52), among settings that "are only available for audio tracks (Track 1–8)" (manual p. 50). So each is a modulation source the player routes to up to four parameters, as aftertouch and pitch bend are here, and not a parameter with a place of its own.
THOSE TWO ARE RECEIVED BY THE TRACK AND SENT ON THE CHANNEL ITS MIDI MACHINE'S CHAN SETS, SO EACH IS WRITTEN TWICE. A track with a sound machine answers to them. The same track can hold the MIDI machine instead, "which then converts the audio track into a MIDI track" (manual p. 20), and that machine has a parameter of its own for each: "MW (Mod Wheel) controls the modulation wheel data sent on the MIDI track." (manual p. 99) and "BC (Breath Controller) controls the breath control data sent on the MIDI track." (manual p. 99). Those two lines print no number, and that they are 1 and 2 is the menu's naming. Each is off until it is switched on (manual p. 98), and it goes out on the channel the machine's own CHAN parameter names (manual pp. 77, 98), a setting apart from the track's channel. So the audio part's two say direction: receives, and the sending is on the midi_out part, whose channel is that CHAN. The bus tracks can hold the MIDI machine too, with the same SRC, FLTR and AMP pages (manual pp. 20, 64, 86), so midi_out counts twelve, one for each of tracks 1 to 12. Until 2026-10-15 the two carried no direction on the audio part, which said both ways on the track's channel.
THE PEDALS ARE direction: receives: NO PAGE NAMES EITHER AMONG WHAT A TRACK SENDS. The 1.3.0 notes have "Added support for MIDI sustain pedal (CC64) and MIDI sostenuto pedal (CC66)." (release_notes), and that line is all any document says of them: the manual never mentions a pedal, and the note says neither which kinds of track answer nor, in so many words, that the instrument receives them. They are read as received, and they are written on the audio part because a pedal holds notes and the audio tracks' presets are what an outside keyboard plays (manual p. 36). That is a reading and not a statement. The MIDI machine also has sixteen slots a player sets to any standard controller, "The selectable commands are the standard MIDI Control Change Messages." (manual p. 99), so a track can be made to send 64, 66 or any other standard controller. That is the player's choice and not the instrument's map, and no direction here counts it.
None of the four is in Appendix D, where 242 of the 250 come from. The manual's text prints two more numbers the appendix lacks, the MIDI machine's bank changes: "BANK (Bank) sends a bank change message on CC 0 MSB." (manual p. 98) and "SBNK (Sub Bank) sends a bank change message on CC 32 LSB." (manual p. 98). They are on the midi_out part, sent and not received, beside the machine's mod wheel and breath: no page has this instrument answer to either. So the text prints six controller numbers the appendix lacks, and all six are carried. A picture of that machine's screen shows eight numbers in its slots, as examples (manual p. 99); two of them, 8 and 40, are controller numbers that no table and no sentence gives. Until 2026-10-13 the four were named here and not carried, and until 2026-10-15 the bank changes were not carried.
NOT CARRIED: what each machine puts on each data entry knob. Appendix A runs thirty pages and names the parameters of every SRC and FX machine, and the MIDI appendix publishes the slots rather than the meanings - SRC 1 Data entry knob A (machine dependent) and so on through 40 of them, 32 so marked and eight (SRC machine dependent). That is the same shape as the Analog Rytm's 220 rows and gets the same answer, with one difference worth noting: outside the Subtracks machine's own table, this maker publishes no number against a machine's parameter, so there is nothing here to decline. The generic name is the only name printed.