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.

UDO Audio Super 6 MIDI implementation

The MIDI implementation of the UDO Audio Super 6: what it answers to, and the 86 controls it offers.

At a glance

Firmware
Not recorded.
MIDI channel
1 to 16.
MPE
Received: its voices are spread across its MIDI channels, a note to each.
Voices
12, or 6 as set on the instrument.
Note range
Not recorded.
Velocity
Received. Release velocity is received.
Aftertouch
Channel pressure and polyphonic, each answered. It sends aftertouch too.
Pitch bend
12 semitones, and the range can be changed.
Program change
Received and sent, with 128 presets.
MIDI clock
Sent and received.
Start and stop
Sent and received.
Control change
81 controls, in the tables below.
NRPN
Supported. 46 of the controls below have one.
System exclusive
Not recorded.

Controls

In the order the definition gives them, by group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("udo_audio/super_6") has loaded them.

Global

Control CC NRPN Values
MIDI Channel
midi_channel
2051
MSB 16, LSB 3
0-14 midi_channel_1, 15-127 midi_channel_16
MIDI Clock Transmit
midi_clock_transmit
2052
MSB 16, LSB 4
0 off, 1-127 on
MIDI Clock Receive
midi_clock_receive
2053
MSB 16, LSB 5
0 off, 1-127 on
MIDI Program Change Transmit
midi_program_change_transmit
2055
MSB 16, LSB 7
0 off, 1-127 on
MIDI Program Change Receive
midi_program_change_receive
2056
MSB 16, LSB 8
0 off, 1-127 on

Without a group

Control CC NRPN Values
Bank Select
bank_select
0 0-127
Modulation Lever
modulation_lever
1 0-127
Tempo
tempo
3 1027
MSB 8, LSB 3
0-127, or 0-16383 by NRPN
Foot Controller
foot_controller
4 0-127
Portamento Time
portamento_time
5 1029
MSB 8, LSB 5
0-127, or 0-16383 by NRPN
VCA Envelope Level
vca_envelope_level
7 1031
MSB 8, LSB 7
0-127, or 0-16383 by NRPN
Expression
expression
11 0-127
Delay Time
delay_time
12 1036
MSB 8, LSB 12
0-127, or 0-16383 by NRPN
Delay Feedback
delay_feedback
13 1037
MSB 8, LSB 13
0-127, or 0-16383 by NRPN
Sequence Load
sequence_load
14 0-127
LFO 1 Waveform/HF Mode
lfo_1_waveform_hf_mode
16 0-20 triangle, 21-42 square, 43-63 random, 64-84 saw, 85-106 hf, 107-127 hf_trk
LFO 1 Rate
lfo_1_rate
17 1041
MSB 8, LSB 17
0-127, or 0-16383 by NRPN
LFO 1 Delay
lfo_1_delay
18 1042
MSB 8, LSB 18
0-127, or 0-16383 by NRPN
LFO 1 LR Phase
lfo_1_lr_phase
19 1043
MSB 8, LSB 19
0-127, or 0-16383 by NRPN
LFO 1 Mode
lfo_1_mode
20 0-42 free_norm, 43-84 once_dds_1, 85-127 reset_dds_2
DDS LFO 1 Amount
dds_lfo_1_amount
21 1045
MSB 8, LSB 21
0-127, or 0-16383 by NRPN
DDS Env 1 Amount
dds_env_1_amount
22 1046
MSB 8, LSB 22
0-127, or 0-16383 by NRPN
DDS Modulator Destination
dds_modulator_destination
23 0-42 dds_1, 43-84 both, 85-127 dds_2
Super Mode
super_mode
24 0-42 off, 43-84 n1_2, 85-127 on
PW/Detune
pw_detune
25 1049
MSB 8, LSB 25
0-127, or 0-16383 by NRPN
PWM/SWM
pwm_swm
26 1050
MSB 8, LSB 26
0-127, or 0-16383 by NRPN
PWM/SWM Source
pwm_swm_source
27 0-42 lfo_1, 43-84 both, 85-127 env_1
Cross Modulation
cross_modulation
28 1052
MSB 8, LSB 28
0-127, or 0-16383 by NRPN
DDS 1 Waveform
dds_1_waveform
29 0-20 sine, 21-42 saw, 43-63 square, 64-84 triangle, 85-106 noise, 107-127 alternative_waveform
DDS 1 Range
dds_1_range
30 0-20 n64, 21-42 n32, 43-63 n16, 64-84 n8, 85-106 n4, 107-127 n2
DDS 2 Waveform
dds_2_waveform
31 0-20 sine, 21-42 saw, 43-63 square, 64-84 triangle, 85-106 noise, 107-127 pulse
Envelope 1 Decay Hold
envelope_1_decay_hold
32 1056
MSB 8, LSB 32
0-127, or 0-16383 by NRPN
Envelope 2 Decay Hold
envelope_2_decay_hold
33 1057
MSB 8, LSB 33
0-127, or 0-16383 by NRPN
DDS 2 Range
dds_2_range
34 0-20 lfo, 21-42 n32, 43-63 n16, 64-84 n8, 85-106 n4, 107-127 n2
DDS 2 Tune
dds_2_tune
35 1059
MSB 8, LSB 35
0-127, or 0-16383 by NRPN
DDS 2 Mode
dds_2_mode
36 0-42 norm, 43-84 x_fade_sub_osc, 85-127 sync_audio_in
Oscillator Mix/Split Point
oscillator_mix_split_point
37 1061
MSB 8, LSB 37
0-127, or 0-16383 by NRPN
VCF HPF Mode
vcf_hpf_mode
40 0-42 off, 43-84 fix, 85-127 trk
VCF Drive
vcf_drive
41 0-42 off, 43-84 n1, 85-127 n2
VCF Keytrack
vcf_keytrack
43 0-42 off, 43-84 n1_2, 85-127 on
VCF Envelope Source
vcf_envelope_source
44 0-42 env_1, 43-84 n1_2, 85-127 env_2
VCF Envelope Amount
vcf_envelope_amount
45 1069
MSB 8, LSB 45
0-127, or 0-16383 by NRPN
VCF LFO 1 Amount
vcf_lfo_1_amount
46 1070
MSB 8, LSB 46
0-127, or 0-16383 by NRPN
VCF DDS 2 Amount
vcf_dds_2_amount
47 1071
MSB 8, LSB 47
0-127, or 0-16383 by NRPN
VCA Dynamics
vca_dynamics
48 0-42 off, 43-84 n1_2, 85-127 on
VCA Envelope Mode
vca_envelope_mode
49 0-42 env_2, 43-84 fixed_env_1, 85-127 fixed_env_2
Envelope 1 Mode
envelope_1_mode
50 0-42 normal, 43-84 inverted, 85-127 loop
Envelope 1 Keytrack
envelope_1_keytrack
51 0-42 off, 43-84 n1_2, 85-127 on
Envelope 1 Attack Hold
envelope_1_attack_hold
52 1076
MSB 8, LSB 52
0-127, or 0-16383 by NRPN
Envelope 1 Attack
envelope_1_attack
53 1077
MSB 8, LSB 53
0-127, or 0-16383 by NRPN
Envelope 1 Decay
envelope_1_decay
54 1078
MSB 8, LSB 54
0-127, or 0-16383 by NRPN
Envelope 1 Sustain
envelope_1_sustain
55 1079
MSB 8, LSB 55
0-127, or 0-16383 by NRPN
Envelope 1 Release
envelope_1_release
56 1080
MSB 8, LSB 56
0-127, or 0-16383 by NRPN
Envelope 2 Decay
envelope_2_decay
57 1081
MSB 8, LSB 57
0-127, or 0-16383 by NRPN
Envelope 2 Sustain
envelope_2_sustain
58 1082
MSB 8, LSB 58
0-127, or 0-16383 by NRPN
Manual Mode
manual_mode
59 0-63 off, 64-127 on
LFO 2 Trigger Source
lfo_2_trigger_source
60 0-42 trig, 43-84 at_trig, 85-127 on
Performance Control Destination
performance_control_destination
61 0-42 dds_1, 43-84 n1_2, 85-127 dds_2
LFO 2 Rate
lfo_2_rate
62 1086
MSB 8, LSB 62
0-127, or 0-16383 by NRPN
LFO 2 Delay
lfo_2_delay
63 1087
MSB 8, LSB 63
0-127, or 0-16383 by NRPN
Sustain Pedal
sustain_pedal
64 0-63 off, 64-127 on
Octave Select
octave_select
67 0-25 n2, 26-50 n1, 51-127 n0
Delay Freeze
delay_freeze
69 0-63 off, 64-127 on
DDS LFO 2 Amount
dds_lfo_2_amount
70 1094
MSB 8, LSB 70
0-127, or 0-16383 by NRPN
VCF Resonance
vcf_resonance
71 1095
MSB 8, LSB 71
0-127, or 0-16383 by NRPN
Envelope 2 Release
envelope_2_release
72 1096
MSB 8, LSB 72
0-127, or 0-16383 by NRPN
Envelope 2 Attack
envelope_2_attack
73 1097
MSB 8, LSB 73
0-127, or 0-16383 by NRPN
VCF Cutoff Frequency
vcf_cutoff_frequency
74 1098
MSB 8, LSB 74
0-127, or 0-16383 by NRPN
VCF LFO 2 Amount
vcf_lfo_2_amount
75 1099
MSB 8, LSB 75
0-127, or 0-16383 by NRPN
DDS Pitch Bend Amount
dds_pitch_bend_amount
76 1100
MSB 8, LSB 76
0-127, or 0-16383 by NRPN
VCF Pitch Bend Amount
vcf_pitch_bend_amount
77 1101
MSB 8, LSB 77
0-127, or 0-16383 by NRPN
Voice Assign Mode
voice_assign_mode
78 0-25 poly_2, 26-50 poly_1, 51-76 unison, 77-101 legato, 102-127 solo
Unison Size
unison_size
79 0-25 n3_voices, 26-50 n6_voices, 51-76 n6_voices_octave, 77-101 n6_voices_octave_fifth, 102-127 n6_voices_major_chord
Binaural Mode
binaural_mode
80 0-63 off, 64-127 on
Clock Sync
clock_sync
81 0-63 off, 64-127 on
Arpeggiator Range
arpeggiator_range
82 0-31 n1_octave, 32-63 n2_octaves, 64-95 n3_octaves, 96-127 n4_octaves
Arpeggiator/Sequencer Swing
arpeggiator_sequencer_swing
83 0-25 swing_0, 26-50 swing_1, 51-76 swing_2, 77-101 swing_3, 102-127 swing_4
Arpeggiator/Sequencer External Clock
arpeggiator_sequencer_external_clock
84 0-63 off, 64-127 on
Arpeggiator/Sequencer Mode
arpeggiator_sequencer_mode
85 0-25 up, 26-50 down, 51-76 up_down, 77-101 random, 102-127 sequencer
Arpeggiator/Sequencer On/Off
arpeggiator_sequencer_on_off
86 0-63 off, 64-127 on
Arpeggiator/Sequencer Hold
arpeggiator_sequencer_hold
87 0-63 off, 64-127 on
Delay Level
delay_level
91 1115
MSB 8, LSB 91
0-127, or 0-16383 by NRPN
VCA LFO 1 Amount
vca_lfo_1_amount
92 1116
MSB 8, LSB 92
0-127, or 0-16383 by NRPN
Chorus
chorus
93 0-31 off, 32-63 chorus_1, 64-95 chorus_2, 96-127 chorus_1_2
Drift
drift
94 1118
MSB 8, LSB 94
0-127, or 0-16383 by NRPN
HPF Fix Cutoff Frequency
hpf_fix_cutoff_frequency
95 1119
MSB 8, LSB 95
0-127, or 0-16383 by NRPN

Where these facts come from

Source documents

How they were read

Owner's Manual, 140 pages, the PDF's own title Super_6_Manual_1.4: the MIDI Specifications chapter at pp. 120-132, which is where every number here comes from; the connections for both models at pp. 25-26; the patches at p. 16; the bender at pp. 70 and 77; the voice modes at pp. 54 and 93; the global settings at p. 103; and MPE support at pp. 105-106. And UDO's Super 6 support page, for the firmware on offer.

THE FRONT MATTER IS NUMBERED IN ROMAN NUMERALS AND THE BODY IN ARABIC, WHICH IS A TRAP THE CITATION GATE CANNOT CATCH. Sheets 1 to 13 print x, xi, xii, xiii; sheet 14 prints 14 and every sheet after it prints its own number. So page_offset is 0 for everything this file cites - and a citation to p. 12 would pass the gate while being wrong, because the arithmetic lands on sheet 12 and the text is there, under a folio the document calls xii. The clearest statement of the voice count is on that sheet and is not cited for exactly that reason; two others on numbered pages are cited instead.

THE MIDI SPECIFICATIONS CHAPTER IS IN FIVE TABLES AND THREE SHAPES:

p. 120 System Real-Time Messages, and Channel Messages - a direction for each

pp. 121-127 Continuous Controller Messages - CC # | Value Range | Parameter Name

pp. 127-128 Registered Parameter Numbers

p. 128 Non-Registered Parameter Numbers, Global Parameters

pp. 129-132 Non-Registered Parameter Numbers, Patch-Related Parameters

THE CONTROLLER TABLE GIVES EVERY NUMBER FROM 0 TO 127 A ROW, whether it does anything or not, with - in the other two columns where it does not. That is asserted rather than noticed, and it is what makes this table complete rather than selective: 97 of its 128 rows name a parameter and 31 are blank, and a blank row is the maker saying nothing rather than the reading losing something.

THE NRPN NUMBER IS PRINTED TWICE AND THE TWO FORMS CHECK EACH OTHER. A row gives the number in decimal and then its MSB and LSB in hexadecimal - 1027, 08H, 03H - and 8 x 128 + 3 is 1027, which is how this format holds an NRPN. All 46 rows that carry a pair agree, which is a free assertion and the one the PRO-800's hexadecimal column taught one rank earlier.

AND THE PATCH-RELATED NRPN IS THE CONTROLLER NUMBER PLUS 1024. Measured, not assumed: of the 41 patch-related NRPNs that name a parameter, 40 name the same parameter as controller N minus 1024, and the pairing below is made on those names rather than on the arithmetic. The 41st is joined anyway - see below - so 41 controls carry both numbers.

AND THE NRPN BLOCK IS A MIRROR OF THE CONTINUOUS PARAMETERS ONLY, which the second reader put more sharply than the arithmetic does: not one of the 40 controls whose value bands are named has an NRPN at all - every one of them is a blank row in the NRPN table. So the pattern is not that every parameter comes twice, but that every continuous patch parameter does, at two resolutions, and the switched ones, which have nothing to gain from fourteen bits, are left out of it. That is an observation about every row printed and not a rule the maker states.

THE ONE PAIR THE TWO TABLES NAME DIFFERENTLY IS NRPN 1119 AND CONTROLLER 95. The controller table says HPF Fix Cutoff Frequency and the NRPN table says HPF Cutoff Frequency - the word Fix in one and not the other. They are joined on three grounds: it is the only unmatched name on either side, the arithmetic puts it exactly where the other forty sit, and one name contains the other. The label below is the controller table's, because that is the table the control's number comes from.

THE VALUE RANGE COLUMN IS REAL, which most are not. Most rows read 0-127 or 0-16383, and 40 of the controls below have their bands named - 0 = Triangle, 21 = Square, 43 = Random, 64 = Saw, 85 = HF, 107 = HF TRK - which is what values holds, each band by its lowest number. A row reading a plain range is continuous and carries nothing.

SIXTEEN OF THE 97 NAMED CONTROLLER ROWS ARE THE PROTOCOL AND NOT THIS INSTRUMENT, and this table is unusual in listing them at all: controller 6 is Data Entry MSB and 38 is LSB for Control 6 (Data Entry), 96 and 97 the data increment and decrement, 98 and 99 the NRPN selects, 100 and 101 the RPN selects, and 120 to 127 the channel mode messages, which the validator refuses outright. The maker is being complete rather than claiming them - which is the opposite of the instrument one rank earlier, where the maker put its own MIDI track solos on 120 to 127. Bank Select on controller 0 is kept, as two other definitions here keep theirs. That leaves 81 controls off the table, plus the five global settings below.

AND THE SECOND READER FOUND THAT 38 BELONGED IN THAT LIST WHEN I HAD KEPT IT. The guide beside this corpus says to leave 6 and 38 out where they are only how an NRPN's value travels - and this maker names 38 in as many words - so keeping it was keeping half of a pair. The two readings agreed about the table and a second reader is for more than the numbers.

THE FIVE GLOBAL NRPNs ARE CONTROLS AND THAT IS A JUDGEMENT. They are this instrument's own MIDI settings - its channel, its clock transmit and receive, its program change transmit and receive - addressable over NRPN like anything else, and 2054 is absent from an otherwise contiguous run of 2051 to 2056, which the maker does not account for. Two of the five are the same facts midi.clock and midi.program_change record from the other side, which is not a contradiction: a field says what the instrument does and a control says how to change it from outside.

EVERY NUMBER WAS READ TWICE AND THE TWO READINGS AGREE. The second reading, made without sight of the first, used a different library's layout mode on a different interpreter and then checked itself against four of the sheets rendered and read by eye.

AND THE GRID HAD TO BE BOUNDED TWICE OVER, WHICH IS THE READING LESSON HERE. Every sheet of this manual carries a navigation sidebar down its left edge with its own ruled lines, so the grid is bounded by x - including the sidebar put the table's first column inside a cell forty points wide. And printed p. 127 holds the last ten rows of the controller table and the start of the Registered Parameter Numbers table, which has five columns where the controller table has three, so the grid is bounded by height as well: without that, controllers 118 to 127 were silently lost. A third bound was needed because the sheet the controller table opens on draws its heading row's cells differently from its data rows, adding two column edges that belong to nothing - so a column edge is one that recurs on many rows, measured at 21 to 52 times each against the spurious pair's once.

WHAT THE MESSAGE TABLES SAY, AND THEY SAY IT WITH DIRECTIONS. MIDI Timing Clock, Start and Stop are all Yes in both columns (manual p. 120); so are Note On, Note Off, Channel Pressure and Pitch Bend. Polyphonic Key Pressure is No transmitted and Yes received - it answers to polyphonic pressure and never sends it. Control Change and Program Change both read "See Global Settings" (manual p. 120), which is where their switches are.

CONTINUE IS NOT IN THE TABLE AT ALL. Start and Stop are there and Continue is not listed - which is an absence rather than a No, and is recorded as one. The S-1 in this corpus has Continue marked x in both columns, which is the maker saying so; this is the maker not saying.

AND THE QUOTATION GATE CAUGHT TWO SENTENCES THIS FILE HAD WRONG, WHICH IS WORTH RECORDING AGAINST THE METHOD THAT PRODUCED THEM. Reading a page by taking its words and sorting them by position - which is how the sidebar was dropped while this instrument was being read - puts a run set in a different style where its coordinates fall rather than where it is read. On p. 105 that turned "set the DYNAMICS switch in the VCA section to either 1/2 or ON." (manual p. 105) into set the switch in the VCA section to either DYNAMICS 1/2 ON, because DYNAMICS, 1/2 and ON are styled differently from the words around them. Both velocity sentences were quoted that way and the gate refused both. Reading order is what get_text() gives and what a quotation needs; sorting by position is for a table.

EVERY QUOTATION IN THIS FILE'S PROSE CARRIES A LOCATOR, AUDITED BY PAIRING THE QUOTE MARKS: 25 quotations, 25 locators - 24 citing a page and one naming the unpaginated support page - with the six remaining pairs being field values. The gate checks all 25 and none is under the twelve characters it requires, so the two counts reconcile exactly.

NOT RECORDED: system exclusive, and the mode. The words System Exclusive and SysEx appear nowhere in these 140 pages - but system exclusive is neither a channel message nor a system real-time message, so the two tables that do enumerate would not have listed it either. So its absence here is a silence and not an enumeration, and nothing is recorded. With no implementation chart in the classic form there is no omni or poly mode row to read, though controllers 124 to 127 are listed as the protocol's own.

ALSO NOT RECORDED: the note range, which no page states.