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.

Oberheim TEO-5 MIDI implementation

The MIDI implementation of the Oberheim TEO-5: what it answers to, and the 198 controls it offers.

At a glance

Firmware
Not recorded.
MIDI channel
Any one of 1 to 16.
Voices
5.
Note range
Not recorded.
Velocity
Sent and received. Release velocity is ignored.
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, with 512 presets.
MIDI clock
Sent and received.
Start and stop
Sent and received.
Control change
110 controls, in the tables below.
NRPN
Supported, and preferred to CC. 186 of the controls below have one.
System exclusive
Supported.

Controls

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

Performance

Control CC NRPN Values
Bank Select MSB
bank_select_msb
0 0-15
Mod Wheel
mod_wheel
1 0-127
Breath Controller
breath_controller
2 0-127
Foot Controller
foot_controller
4 0-127
Master Volume
master_volume
7 0-127
Expression
expression
11 0-127
Voice Volume
voice_volume
12 93
MSB 0, LSB 93
0-127
Bank Select LSB
bank_select_lsb
32 0-127
Sustain Pedal
sustain_pedal
64 0-127
Brightness
brightness
74 0-127
Pan
pan
113 0-127

Oscillators

Control CC NRPN Values
Osc 1 Freq
osc_1_freq
8 1
MSB 0, LSB 1
0-63
Osc 1 On
osc_1_on
9 13
MSB 0, LSB 13
0-1
Osc 2 On
osc_2_on
10 14
MSB 0, LSB 14
0-1
Osc 2 Freq
osc_2_freq
13 2
MSB 0, LSB 2
0-63
Sub On
sub_on
14 17
MSB 0, LSB 17
0-1
Noise On
noise_on
15 19
MSB 0, LSB 19
0-1
Osc 1 Sync
osc_1_sync
39 27
MSB 0, LSB 27
0-1
Osc 1 Level
osc_1_level
40 15
MSB 0, LSB 15
0-127
Osc 2 Level
osc_2_level
41 16
MSB 0, LSB 16
0-127
Sub Level
sub_level
42 18
MSB 0, LSB 18
0-127
Noise Level
noise_level
43 21
MSB 0, LSB 21
0-127
X-Mod Amt
x_mod_amount
44 26
MSB 0, LSB 26
0-127
Osc 1 Glide
osc_1_glide
65 22
MSB 0, LSB 22
0-127
Osc 2 Glide
osc_2_glide
66 23
MSB 0, LSB 23
0-127
Osc 1 Key On
osc_1_key_on
87 24
MSB 0, LSB 24
0-1
Osc 2 Key On
osc_2_key_on
88 25
MSB 0, LSB 25
0-1
Osc 1 PW
osc_1_pw
94 5
MSB 0, LSB 5
0-127
Osc 2 PW
osc_2_pw
95 6
MSB 0, LSB 6
0-127
Osc 1 Tri
osc_1_tri
102 7
MSB 0, LSB 7
0-1
Osc 2 Tri
osc_2_tri
103 8
MSB 0, LSB 8
0-1
Osc 1 Saw
osc_1_saw
104 9
MSB 0, LSB 9
0-1
Osc 2 Saw
osc_2_saw
105 10
MSB 0, LSB 10
0-1
Osc 1 Pulse
osc_1_pulse
106 11
MSB 0, LSB 11
0-1
Osc 2 Pulse
osc_2_pulse
107 12
MSB 0, LSB 12
0-1
Noise Type
noise_type
108 20
MSB 0, LSB 20
0-1, or 0-127 by NRPN
Osc 2 Detune
osc_2_detune
109 4
MSB 0, LSB 4
0-63
Osc 2 Filter Bypass
osc_2_filter_bypass
117 28
MSB 0, LSB 28
0-1
Osc 1 Detune
osc_1_detune
3
MSB 0, LSB 3
0-63

Glide

Control CC NRPN Values
Glide Mode (Portamento Time)
glide_mode
5 30
MSB 0, LSB 30
0-3
Glide On
glide_on
68 31
MSB 0, LSB 31
0-1

Filter

Control CC NRPN Values
Filter Cutoff
filter_cutoff
33 34
MSB 0, LSB 34
0-127, or 0-1024 by NRPN
Filter Resonance
filter_resonance
34 36
MSB 0, LSB 36
0-127, or 0-265 by NRPN
Filter State
filter_state
35 38
MSB 0, LSB 38
0-127, or 0-512 by NRPN
Filter Key Amt
filter_key_amt
36 40
MSB 0, LSB 40
0-127
Filter Bandpass
filter_bandpass
110 37
MSB 0, LSB 37
0-1
Filter Cutoff MSB
filter_cutoff_msb
35
MSB 0, LSB 35
0-7
Filter State MSB
filter_state_msb
39
MSB 0, LSB 39
0-127

Envelopes

Control CC NRPN Values
Env Rout
env_routes
69 89
MSB 0, LSB 89
0-2
Env Retrig
env_retrig
73 154
MSB 1, LSB 26
0-1
Env Repeat
env_repeat
116 91
MSB 0, LSB 91
0-3

Envelope 1

Control CC NRPN Values
Env 1 Delay
env_1_delay
45 79
MSB 0, LSB 79
0-127
Env 1 Attack
env_1_attack
46 81
MSB 0, LSB 81
0-127, or 0-256 by NRPN
Env 1 Decay
env_1_decay
47 83
MSB 0, LSB 83
0-127, or 0-256 by NRPN
Env 1 Sustain
env_1_sustain
48 85
MSB 0, LSB 85
0-127
Env 1 Release
env_1_release
49 87
MSB 0, LSB 87
0-127, or 0-256 by NRPN
Env 1 Amount
env_1_amount
50 75
MSB 0, LSB 75
0-127, or 0-256 by NRPN
Env 1 Vel On
env_1_vel_on
51 77
MSB 0, LSB 77
0-1
Env 1 Dest
env_1_dest
90
MSB 0, LSB 90
0-61

Envelope 2

Control CC NRPN Values
Env 2 Delay
env_2_delay
52 80
MSB 0, LSB 80
0-127
Env 2 Attack
env_2_attack
53 82
MSB 0, LSB 82
0-127, or 0-256 by NRPN
Env 2 Decay
env_2_decay
54 84
MSB 0, LSB 84
0-127, or 0-256 by NRPN
Env 2 Sustain
env_2_sustain
55 86
MSB 0, LSB 86
0-127
Env 2 Release
env_2_release
56 88
MSB 0, LSB 88
0-127, or 0-256 by NRPN
Env 2 Amount
env_2_amount
57 76
MSB 0, LSB 76
0-127, or 0-256 by NRPN
Env 2 Vel On
env_2_vel_on
58 78
MSB 0, LSB 78
0-1

LFO 1

Control CC NRPN Values
LFO 1 Freq
lfo_1_freq
75 58
MSB 0, LSB 58
0-127
LFO 1 Amt
lfo_1_amt
76 60
MSB 0, LSB 60
0-127, or 0-256 by NRPN
LFO 1 Shape
lfo_1_shape
77 62
MSB 0, LSB 62
0-4
LFO 1 Sync
lfo_1_sync
78 64
MSB 0, LSB 64
0-1
LFO 1 Note Reset
lfo_1_note_reset
79 70
MSB 0, LSB 70
0-1
LFO 1 Slew
lfo_1_slew
92 72
MSB 0, LSB 72
0-127
LFO 1 Freq Sync
lfo_1_freq_sync
111 68
MSB 0, LSB 68
0-15
LFO 1 Dest
lfo_1_dest
66
MSB 0, LSB 66
0-61

LFO 2

Control CC NRPN Values
LFO 2 Freq
lfo_2_freq
80 59
MSB 0, LSB 59
0-127
LFO 2 Amt
lfo_2_amt
81 61
MSB 0, LSB 61
0-127, or 0-256 by NRPN
LFO 2 Shape
lfo_2_shape
82 63
MSB 0, LSB 63
0-4
LFO 2 Sync
lfo_2_sync
83 65
MSB 0, LSB 65
0-1
LFO 2 Note Reset
lfo_2_note_reset
84 71
MSB 0, LSB 71
0-1
LFO 2 Slew
lfo_2_slew
93 73
MSB 0, LSB 73
0-127
LFO 2 Freq Sync
lfo_2_freq_sync
112 69
MSB 0, LSB 69
0-15
LFO 2 Dest
lfo_2_dest
67
MSB 0, LSB 67
0-61

Effects

Control CC NRPN Values
FX On/Off
fx_on
16 42
MSB 0, LSB 42
0-1
FX Select
fx_select
17 43
MSB 0, LSB 43
0-12
FX Time
fx_time
18 45
MSB 0, LSB 45
0-127
FX Mix
fx_mix
19 44
MSB 0, LSB 44
0-127
FX Misc
fx_misc
20 46
MSB 0, LSB 46
0-127
FX Sync On/Off
fx_sync
21 47
MSB 0, LSB 47
0-1
FX Sync Rate
fx_sync_rate
22 48
MSB 0, LSB 48
0-10
Vintage Amt
vintage
37 96
MSB 0, LSB 96
0-127
Distortion
distortion
67 95
MSB 0, LSB 95
0-127

Reverb

Control CC NRPN Values
Reverb On
reverb_on
23 50
MSB 0, LSB 50
0-1
Reverb Mix
reverb_mix
24 52
MSB 0, LSB 52
0-127
Reverb Size
reverb_size
25 53
MSB 0, LSB 53
0-127
Reverb PreDelay
reverb_predelay
26 54
MSB 0, LSB 54
0-127
Reverb Decay
reverb_decay
27 55
MSB 0, LSB 55
0-127
Reverb Tone
reverb_tone
28 56
MSB 0, LSB 56
0-127

Unison

Control CC NRPN Values
Unison On
unison_on
31 97
MSB 0, LSB 97
0-1
Unison Voices
unison_voices
70 98
MSB 0, LSB 98
0-5
Unison Detune
unison_detune
71 99
MSB 0, LSB 99
0-7
Unison Note 1
unison_note_1
100
MSB 0, LSB 100
0-43
Unison Note 2
unison_note_2
101
MSB 0, LSB 101
0-43
Unison Note 3
unison_note_3
102
MSB 0, LSB 102
0-43
Unison Note 4
unison_note_4
103
MSB 0, LSB 103
0-43
Unison Note 5
unison_note_5
104
MSB 0, LSB 104
0-43

Arpeggiator

Control CC NRPN Values
Arp. On
arp_on
59 183
MSB 1, LSB 55
0-1
Arp. Mode
arp_mode
60 184
MSB 1, LSB 56
0-4
Arp. Range
arp_range
61 185
MSB 1, LSB 57
0-2
Arp Repeat
arp_repeat
62 186
MSB 1, LSB 58
0-3
Arp Relatch
arp_relatch
187
MSB 1, LSB 59
0-1

Keyboard

Control CC NRPN Values
Key Split
key_split
29 180
MSB 1, LSB 52
0-1
Key Split 2
key_split_2
30 181
MSB 1, LSB 53
0-1
Key Mode
key_mode
72 153
MSB 1, LSB 25
0-2
PBend Range Up
pitch_bend_range_up
85 32
MSB 0, LSB 32
0-12
PBend Range Dn
pitch_bend_range_down
86 33
MSB 0, LSB 33
0-24
KeySplit Note
keysplit_note
89 182
MSB 1, LSB 54
0-43
Scale Select
scale
114 155
MSB 1, LSB 27
0-65, or 0-64 by NRPN
Transpose
transpose
115 156
MSB 1, LSB 28
0-4

Sequencer

Control CC NRPN Values
Seq On/Off
seq_on
90 0-1
Seq Rec Arm
seq_rec_arm
91 0-1
Seq Play/Stop
seq_play_stop
4188
MSB 32, LSB 92
0-1

Clock

Control CC NRPN Values
BPM
clock_bpm
3 157
MSB 1, LSB 29
15-127, or 30-250 by NRPN
Clock Divide
clock_divide
63 158
MSB 1, LSB 30
0-7

Mod slot 1

Control CC NRPN Values
Mod 1 Source
mod_1_source
105
MSB 0, LSB 105
0-19
Mod 1 Amt
mod_1_amt
121
MSB 0, LSB 121
0-255
Mod 1 Dest
mod_1_dest
137
MSB 1, LSB 9
0-64

Mod slot 2

Control CC NRPN Values
Mod 2 Source
mod_2_source
106
MSB 0, LSB 106
0-19
Mod 2 Amt
mod_2_amt
122
MSB 0, LSB 122
0-255
Mod 2 Dest
mod_2_dest
138
MSB 1, LSB 10
0-64

Mod slot 3

Control CC NRPN Values
Mod 3 Source
mod_3_source
107
MSB 0, LSB 107
0-19
Mod 3 Amt
mod_3_amt
123
MSB 0, LSB 123
0-255
Mod 3 Dest
mod_3_dest
139
MSB 1, LSB 11
0-64

Mod slot 4

Control CC NRPN Values
Mod 4 Source
mod_4_source
108
MSB 0, LSB 108
0-19
Mod 4 Amt
mod_4_amt
124
MSB 0, LSB 124
0-255
Mod 4 Dest
mod_4_dest
140
MSB 1, LSB 12
0-64

Mod slot 5

Control CC NRPN Values
Mod 5 Source
mod_5_source
109
MSB 0, LSB 109
0-19
Mod 5 Amt
mod_5_amt
125
MSB 0, LSB 125
0-255
Mod 5 Dest
mod_5_dest
141
MSB 1, LSB 13
0-64

Mod slot 6

Control CC NRPN Values
Mod 6 Source
mod_6_source
110
MSB 0, LSB 110
0-19
Mod 6 Amt
mod_6_amt
126
MSB 0, LSB 126
0-255
Mod 6 Dest
mod_6_dest
142
MSB 1, LSB 14
0-64

Mod slot 7

Control CC NRPN Values
Mod 7 Source
mod_7_source
111
MSB 0, LSB 111
0-19
Mod 7 Amt
mod_7_amt
127
MSB 0, LSB 127
0-255
Mod 7 Dest
mod_7_dest
143
MSB 1, LSB 15
0-64

Mod slot 8

Control CC NRPN Values
Mod 8 Source
mod_8_source
112
MSB 0, LSB 112
0-19
Mod 8 Amt
mod_8_amt
128
MSB 1, LSB 0
0-255
Mod 8 Dest
mod_8_dest
144
MSB 1, LSB 16
0-64

Mod slot 9

Control CC NRPN Values
Mod 9 Source
mod_9_source
113
MSB 0, LSB 113
0-19
Mod 9 Amt
mod_9_amt
129
MSB 1, LSB 1
0-255
Mod 9 Dest
mod_9_dest
145
MSB 1, LSB 17
0-64

Mod slot 10

Control CC NRPN Values
Mod 10 Source
mod_10_source
114
MSB 0, LSB 114
0-19
Mod 10 Amt
mod_10_amt
130
MSB 1, LSB 2
0-255
Mod 10 Dest
mod_10_dest
146
MSB 1, LSB 18
0-64

Mod slot 11

Control CC NRPN Values
Mod 11 Source
mod_11_source
115
MSB 0, LSB 115
0-19
Mod 11 Amt
mod_11_amt
131
MSB 1, LSB 3
0-255
Mod 11 Dest
mod_11_dest
147
MSB 1, LSB 19
0-64

Mod slot 12

Control CC NRPN Values
Mod 12 Source
mod_12_source
116
MSB 0, LSB 116
0-19
Mod 12 Amt
mod_12_amt
132
MSB 1, LSB 4
0-255
Mod 12 Dest
mod_12_dest
148
MSB 1, LSB 20
0-64

Mod slot 13

Control CC NRPN Values
Mod 13 Source
mod_13_source
117
MSB 0, LSB 117
0-19
Mod 13 Amt
mod_13_amt
133
MSB 1, LSB 5
0-255
Mod 13 Dest
mod_13_dest
149
MSB 1, LSB 21
0-64

Mod slot 14

Control CC NRPN Values
Mod 14 Source
mod_14_source
118
MSB 0, LSB 118
0-19
Mod 14 Amt
mod_14_amt
134
MSB 1, LSB 6
0-255
Mod 14 Dest
mod_14_dest
150
MSB 1, LSB 22
0-64

Mod slot 15

Control CC NRPN Values
Mod 15 Source
mod_15_source
119
MSB 0, LSB 119
0-19
Mod 15 Amt
mod_15_amt
135
MSB 1, LSB 7
0-255
Mod 15 Dest
mod_15_dest
151
MSB 1, LSB 23
0-64

Mod slot 16

Control CC NRPN Values
Mod 16 Source
mod_16_source
120
MSB 0, LSB 120
0-19
Mod 16 Amt
mod_16_amt
136
MSB 1, LSB 8
0-255
Mod 16 Dest
mod_16_dest
152
MSB 1, LSB 24
0-64

Global settings

Control CC NRPN Values
Master Coarse Tune
master_coarse_tune
4096
MSB 32, LSB 0
0-100
Master Fine Tune
master_fine_tune
4097
MSB 32, LSB 1
0-24
MIDI Channel
midi_channel
4098
MSB 32, LSB 2
0 all
MIDI Clock Mode
midi_clock_mode
4099
MSB 32, LSB 3
0 off, 1 out, 2 in, 3 in_thru
MIDI Clock Cable In
midi_clock_cable_in
4100
MSB 32, LSB 4
0 midi_port, 1 usb
MIDI Clock Cable Out
midi_clock_cable_out
4101
MSB 32, LSB 5
0 none, 1 midi, 2 usb, 3 all
MIDI Param Send*
midi_param_send
4102
MSB 32, LSB 6
0 nrpn, 1 cc, 2 off
MIDI Param Receive†
midi_param_receive
4103
MSB 32, LSB 7
0 nrpn, 1 cc, 2 off
MIDI Control Enable
midi_control_enable
4104
MSB 32, LSB 8
0 off, 1 on
MIDI SysEx Enable
midi_sysex_enable
4105
MSB 32, LSB 9
0 off, 1 on
MIDI SysEx Cable
midi_sysex_cable
4106
MSB 32, LSB 10
0 midi, 1 usb
MIDI Cable Out
midi_cable_out
4107
MSB 32, LSB 11
0 midi, 1 usb, 2 all
MIDI Program Send
midi_program_send
4108
MSB 32, LSB 12
0 off, 1 on
MIDI Program Recv
midi_program_recv
4109
MSB 32, LSB 13
0 off, 1 on
MIDI Arp Notes
midi_arp_notes
4110
MSB 32, LSB 14
0 off, 1 on
Local Control
local_control
4111
MSB 32, LSB 15
0 all_off, 1 key_wheels_off, 2 on
Mono/Stereo
mono_stereo
4112
MSB 32, LSB 16
0 mono, 1 stereo
Pot Mode
pot_mode
4113
MSB 32, LSB 17
0 relative, 1 passthru, 2 jump
Foot Pedal Assign
foot_pedal_assign
4114
MSB 32, LSB 18
0 breath_cc2, 1 foot_cc4, 2 exp_cc11, 3 lpf_full, 4 lpf_half
Sustain Pedal Polarity
sustain_pedal_polarity
4115
MSB 32, LSB 19
0 normal, 1 reversed
Sustain Mode
sustain_mode
4116
MSB 32, LSB 20
0 sustain, 1 arp_hold, 2 apr_hold_moment, 3 seq_start_stop
Global Scale
global_scale
4117
MSB 32, LSB 21
0-64
Pressure Enable
pressure_enable
4118
MSB 32, LSB 22
0 off, 1 on
Pressure Curve
pressure_curve
4119
MSB 32, LSB 23
0-7
Velocity Curve
velocity_curve
4120
MSB 32, LSB 24
0-7
OLED Screensaver
oled_screensaver
4121
MSB 32, LSB 25
0 off, 1 on
Arp Beat Sync
arp_beat_sync
4122
MSB 32, LSB 26
0 off, 1 quantize

Where these facts come from

Source documents

How they were read

MIDI Implementation Document v2, 16 pages: the global settings that govern MIDI response on pp. 1-2, received and transmitted messages on pp. 3-4, the control change table on pp. 5-6, how an NRPN travels on p. 7, the program parameter NRPNs on pp. 8-10, the global parameter NRPNs on p. 11, the one control NRPN and the system exclusive messages on pp. 12-15. The User's Guide Version 2.0 (116 pages) states what the instrument is and names the states some parameters step through; its pages are cited as file pages, because its front matter is unnumbered.

NRPN IS THE MAKER'S PREFERRED WAY IN, AND WHICH ONE IT USES IS A SETTING. "MIDI Param Send: Off, CC, NRPN" (p. 1) and "MIDI Param Receive: Off, CC, NRPN - Sets the method by which parameter changes are received via MIDI. As with transmission, NRPNs are the preferred method" (pp. 1-2). So a control below with both numbers is one parameter reachable either way, and which way depends on how the instrument is set.

SIXTEEN PARAMETERS GET A DIFFERENT RANGE IN EACH TABLE, and nrpn_range carries the NRPN's. Thirteen of those are NRPN being finer, which is the maker's own reason for preferring it - the two filter figures at 0-1024 and 0-512, and ten envelope and LFO figures at 0-256, where the control change gives 0-127. Three are not finer and are worth knowing about before trusting either number: Noise Type is a switch at 0-1 by control change and a value at 0-127 by NRPN; Scale is 0-65 by control change and 0-64 by NRPN, so the NRPN is the narrower of the two; and BPM is 15-127 by control change against 30-250 by NRPN, which do not even overlap at the top, so the control change cannot reach the tempos the NRPN can.

AND READ EVERY ONE OF THOSE WIDE RANGES AS A COUNT RATHER THAN A TOP, which is the one thing that makes them make sense. 0-256, 0-512 and 0-1024 all name one value more than the bit width they imply, while the forty-eight modulation amounts in the same table are 0-255, which is right. So the maker appears to have written the number of values where the highest value belongs, in some rows and not others. Both readings found this and neither corrected it: the figures below are the document's.

ONE RANGE IS THEN ALMOST CERTAINLY A TYPO, recorded as printed for the same reason. Filter Res is given 0-265 (p. 9) where every other wide parameter is 256, 512 or 1024. 265 falls out of no bit width and is one digit away from 255.

THE TWO TABLES ARE NOT SYMMETRICAL, and three absences are the maker's rather than this file's: there is a control change for Osc 2 Detune and none for Osc 1 Detune, though the NRPN table has both; there is an NRPN for Env 1 Dest and none for Env 2; and the whole modulation matrix - sixteen slots of source, amount and destination, forty-eight parameters - is reachable by NRPN only.

EXPRESSION IS CLAIMED AT TWO DIFFERENT NUMBERS IN THIS ONE DOCUMENT, which is the sharpest thing here for anybody building a controller. The control change table gives "11 Expression 0-127" (p. 5) and the global table agrees, naming the pedal assignment "2 = Exp CC11" (p. 11) - but the transmitted controller table sends Expression on 0000 1101, which is 13 (p. 4). expression below is CC 11, because two of the three statements say so and because 11 is where the MIDI specification puts expression. A host that listens on 11 alone may still miss what this instrument sends. AND THE PERFORMANCE CONTROLLERS DO NOT GO BOTH WAYS. Breath Controller and Expression are in the transmitted table and not the received one; All Notes Off and Reset All Controllers are in the received table and not the transmitted one (pp. 3-4). direction is not set on any control below, because the control change table on pp. 5-6 - which is where the numbers come from - says nothing about direction at all, and the two message tables are about a different and shorter list. Volume appears twice in the transmitted table, once as the pedal assignment and once as "Volume knob", both on CC 7.

THE DOCUMENT CANNOT AGREE WITH ITSELF ABOUT BANKS AND PROGRAMS, in five places. Received program change is "0-127 for Programs 1-127 within current Bank" (midi_impl p. 3) and transmitted is "0-127 for Programs 00-128 within current Bank" (pp. 3-4) - one is 127 programs for 128 numbers and the other is 129. Received bank select is "1 - 4 select user banks 1 - 4; 5 - 8 select factory banks 1 - 4; 9 - 12 select add-on banks 1 - 4 others ignored" (midi_impl p. 3) and transmitted bank select is "0 - 9" (pp. 3-4). The dump request takes "Bank Number, 0 - 15" (midi_impl p. 13) and "Program Number, 0 - 127" (midi_impl p. 13) while the dump itself carries "Bank Number: 0 - 9" (midi_impl p. 14) and "Program Number: 0 - 99" (pp. 13-14). presets below is the guide's plain count of the instrument instead: "The TEO-5 contains 512 programs. These are divided into two sets of 256 programs - a Factory set and a User set" (guide p. 13), which the four user and four factory banks of the received bank select agree with at sixty-four programs a bank.

THE GLOBAL TABLE CONTRADICTS THE PROSE TWO PAGES EARLIER, twice. MIDI Clock Mode is given six settings in words - "Off", "Out", "Out No S/S", "In", "In/Thru", "In No S/S" (p. 1) - and four in the table, 0-3 as Off, Out, In and In Thru (p. 11), so the two that suppress start and stop have no number. MIDI Out Select is "Off, MIDI, USB, All" (p. 2) in words and 0-2 as MIDI, USB and All in the table, so Off has none.

THE SISTER DOCUMENT AGREES WITH THE PROSE BOTH TIMES, which is as close to an answer as anything here gets. The Take 5's implementation document, numbering its globals identically, gives MIDI Clock Mode 0-5 at 4099 and MIDI Out Select 0-3 at 4107 - six settings and four, exactly the counts this document's own prose gives. So this table is very likely the stale one. It is still a deduction rather than a statement, so choices below carries the four and the three the table prints, and this paragraph is where the doubt lives.

ONE GLOBAL'S DESCRIPTION IS ANOTHER'S, copied and not corrected: "MIDI Sysex On: Off, On - When set to On, the synth will respond to MIDI controllers, including pitch wheel, mod wheel, pedal, and volume" (p. 2), which is word for word what the line above says about MIDI Control. What MIDI SysEx On does is said instead by the table, which calls 4105 "MIDI SysEx Enable" (midi_impl p. 11).

AND THE TWO SISTER DOCUMENTS SWAP TWO RANGES. Here Master Coarse Tune is 0-100 and Master Fine Tune is 0-24 (p. 11); the Take 5's document, at those same two numbers, gives 0-24 and 0-100. Twenty-four semitones of coarse tuning and a hundred steps of fine is the reading that makes musical sense, so this document is probably the one with them the wrong way round - but it is the document for this instrument, so its figures are what is below. The sibling is not the better document either: it spells the parameter "Master Course Tune".

THIS DOCUMENT IS AN EXTRACT FROM THE GUIDE, WHICH IS WHY ITS HEADERS ARE RIGHT AND ITS BODY IS NOT. Its own running footer reads "TEO-5 User's Guide" on every page. So the furniture was updated when Oberheim made it from Sequential's and the sentences inside were not, which is the same fault as the guide's nineteen Take 5 headers seen from the other side.

FIVE MORE THINGS IN IT DO NOT ADD UP, and none changes a number below. The program table is introduced as "TEO-5 program parameters 0-352" (p. 8) and then runs 1 to 187 in 159 rows with no parameter 0 and nothing above 187. The page describing how an NRPN travels says "The parameter number can be found in the two tables below" (midi_impl p. 7) where there are three, and says the number's high byte "will be zero or one, and never more than two" (p. 7) where every global is 4096 or above and so has a high byte of 32. MIDI Param Send and MIDI Param Receive carry an asterisk and a dagger in the global table and no footnote exists anywhere in the sixteen pages for either. The system real-time table lists MIDI Timing Clock and has no row for Start or Stop (p. 3), although the clock settings two pages earlier send and receive both - which is why transport below is both on the strength of the prose rather than the table. The dump request's bank byte is written 0000 00vv, which holds two bits and four values, under a stated range of 0 to 15 (p. 13).

THE GLOBAL TABLE'S OWN SPACING IS ERRATIC and the choices below do not reproduce it. The states are printed "1= MIDI", "0 =All Off", "1 =Passthru", "2= Off" and so on, with the space on either side of the equals or on neither. Both readings found the same unevenness, so it is the document's rather than a tool's; the names below are keys and carry none of it.

AND THE GLOBALS ARE NAMED TWICE, differently. The panel names on pp. 1-2 and the table names on p. 11 do not match for four of them: MIDI Control becomes MIDI Control Enable, MIDI Sysex On becomes MIDI SysEx Enable, MIDI Out Select becomes MIDI Cable Out, and MIDI Prog Send/Receive become MIDI Program Send/Recv. The labels below are the table's, because the table is what carries the numbers.

NOT RECORDED: which number means which named state for any program parameter. The implementation document gives those as bare ranges, and the guide names the states in words without numbering them - "Shape: Triangle, Sawtooth, Reverse Sawtooth, Square, S&H" (guide p. 42) against a range of 0-4 (pp. 6, 9) tells you there are five and not which is which. The globals are different, and choices below carries their states because that table does number them.

NOT RECORDED: the note range and the key numbers. The guide gives the keyboard as "its 44-note keyboard" (p. 17) and names no note number for either end of it; the implementation document says only "Note number 0-127" (p. 3) for what it receives.

NOT RECORDED: any system exclusive layout. The messages are published - device inquiry, three dump requests, three dumps, and the packed-data format - but a program dump is "4096 bytes expanded to 4690 MIDI bytes in 'packed MS bit' format" (p. 14) with no map of what those bytes mean. 4690 does not follow from the packing the same document describes: seven bytes to eight makes 4096 into 4682, which both readings worked out separately. Three more details in that section are worth a reader's attention: the instrument's own identity byte is written 0b1011010 where every other byte in the document is two binary nibbles; the manufacturer byte labelled "Oberheim ID" is 0000 0010, the same byte as the "Inquiry Reply" (midi_impl p. 12) label directly above it in the same table; and the global dump says it carries "50 nibbles (LS then MS) for 25 Global parameters" (p. 15) where the table on the page before lists twenty-seven.

NOT RECORDED, DELIBERATELY: parts. The instrument splits its keyboard and stays one instrument while it does - "The program is the same for both key ranges" (guide p. 17) - so Key Split, Key Split 2 and Key Split Note are controls below and not parts.