TS-10 | TS-12 · MIDI SysEx Implementation Specification V.2.0

Parameter block layouts

4 Parameter Block Data Descriptions

This is a description of the parameter blocks transmitted using the bulk dump messages described in section 3.3. The names and byte offsets of each block parameter are given. The parameter value ranges are included in section 5. The following byte layout is the internal representation and not the MIDI byte format which is described in section 2.3.

4.1 Program Parameters

The first group of parameters through byte offset 92 describe one of the six possible voices in a program. This same structure is repeated with an additional offset of 92 for each of the other five voices. When the program has an option enabled (Pitch Table, Wave List or Drum Map), voices 5 and 6 are replaced with the option data. All of the global program parameters are at the bottom of this list. These parameter descriptions do not reflect the literal names shown on the TS display. Refer to the parameter definitions in section 5 for that information.

Byte Parameter Description
00Env1 Release Mod Amount
01Env1 Attack Time
02Env1 Peak Level
03Env1 Decay Time 1
04Env1 Breakpoint 1
05Env1 Decay Time 2
06Envl Breakpoint 2
07Envl Decay Time 3
08Env1 Sustain Level
09Envl Release Time
10Env1 Level Velocity Sensitivity
11Envi Attack Time Velocity Sensitivity
12Envl Keyboard Tracking
13Envl Mode (hi nybble) and Velocity Curve (lo nybble)
14Env2 (same structure as Envelope 1)
28Env3 (same structure as Envelope 1) |
42Pitch Root Key
43Pitch Fine Tune
44Pitch Table
45Pitch Env1 Modulation Amount
46Pitch LFO Modulation Amount
47Pitch Glide (hi nybble) and Pitch Modulation Source (lo nybble)
48Pitch Modulation Amount
49Glide Time
50Bend Range
51Filter 1 Cutoff
52Filter 1 Keyboard Modulation Amount
53Filter 1 Env2 Modulation Amount
54Filter 1/2 Mode (hi nybble) and Filter 1 Modulation Source (lo nybble)
55Filter 1 Modulation Amount
56Filter 2 Cutoff
57Filter 2 Keyboard Modulation Amount
58Filter 2 Env2 Modulation Amount
59Filter 2 Modulation Source
60Filter 2 Modulation Amount
61Volume Keyboard Scaling
62Volume Fade Key Zone Low
63Volume Fade Key Zone High
64Volume
65Pan Mod Source (hi nybble) and Volume Mod Source (lo nybble)
66Volume Modulation Amount
67Volume Timbre Modulation Offset
68Pan
69Pan Modulation Amount
70Voice Priority (hi nybble) and Output Routing (lo nybble)
71LFO Waveshape (hi nybble) and LFO Mod Source (lo nybble)
72LFO Depth Mod Amount
73LFO Depth
74LFO Restart Mode (hi nybble) and LFO Speed Mod Source (lo nybble)
75LFO Speed Modulation Amount
76LFO Speed
77LFO Delay Time
78LFO Phase
79Waveform (WaveList Start)
80Wave Class
81Wave Direction (hi nybble) and Wave Mod Source (lo nybble)
82Wave Mod Amount
83Wave Start/Index (WaveList Loop Start)
84Wave Shift (WaveList Loop End)
85Wave Delay Time (word = 2 bytes)
87Noise Source Rate
88Mixer Curve (hi nybble) and Mixer Mod Source 1 (lo nybble)
89Mixer Scaler (hi nybble) and Mixer Mod Source 2 (lo nybble)
90Lo Velocity Threshold
91Hi Velocity Threshold
(end of Voice 1 structure)
Byte Parameter Description
92Voice 2 (same structure as Voice 1)
184Voice 3 (Same structure as Voice 1)
276Voice4 (same structure as Voice 1)
368Voice5 (same as Voice 1 or program option data, if enabled)
460Voice6 (same as Voice 1 or program option data, if enabled)
552Program Name - (11 bytes or characters)
563Program Patch 1 (lo 6 bits)
564Program Patch 2 (lo 6 bits)
565Program Patch 3 (lo 6 bits)
566Program Patch 4 (lo 6 bits)
567Pressure Mode1 (hi nybble) and Program Option (lo nybble)
568Program Category
569Program Patch Select Mode1 (hi nybble) and Restrike (lo nybble)
570Program Timbre1
571Program Release1
572Program Attack1
573Program Brightness1
574Program Rate1
575Program External Controller (XCTRL)1
576Program Effect Parameters 2
(end of Program structure)

Total size: 616 bytes

4.2 Preset Parameters

4.2.1 Preset Track Parameter Structure

The parameters from each of the three individual tracks of a Preset are stored as an array of variable size bit fields packed into 21 consecutive bytes.

Byte Bit Mask Parameter Description
0ddddddddDetune (8 bits)
1ttttttttTranspose (8 bits)
2FmmmmmmmMix (7 bits); F =FX-CNTRL switch
3AxxxxxxxXCNTRL (7 bits); A = All Notes Off switch
4RkkkkkkkKey Zone Low Key (7 bits); R = Reset Controllers switch
5SkkkkkkkKey Zone High Key (7 bits); S = Sustain switch
6MvvvvvvvVel.Range Low Key (7 bits); M = Mod Wheel switch
7PvvvvvvvVel.Range High Key (7 bits); P = Pitch Wheel switch
8PpppppppMIDI Program number (7 bits); P = Prog Change! switch
9BbbbbbbbMIDI Bank number (7 bits); B = Bank MSB switch
10PpppppppPan (7 bits); P = Pan Mode switch
11OaaaaaaaAttack (7 bits); 0 = Sampled Sound number2 bit 0.
121rrrrrrrRelease (7 bits); 1 = Sampled Sound number2 bit 1.
132bbbbbbbBrightness (7 bits); 2 = Sampled Sound number2 bit 2.
143tttttttTimbre (7 bits); 3 = Sampled Sound number2 bit 3.
154aaaaaaaRate (7 bits); 4 = Sampled Sound number2 bit 4.
16vvvvCCCCVel. Sensitivity (4 bits); C = MIDI Channel (4 bits)
17eeeeSSSSEffect Bus (4 bits); S = MIDI Status (4 bits)
18ppppPPPPPressure mode (4 bits); P = Patch Select (4 bits)
19SbbbbbbbTrack BankSet (7 bits); S = Sostenuto switch
20ppppppppTrack Program (8 bits)

4.2.2 Preset Dump Structure

A complete preset dump is composed of three sets of packed track parameters (63 bytes), followed by a 3 byte track status array containing information about layering, an effect parameter block (40 bytes), a name (11 characters), and a spare byte for a total of 118 bytes.

Byte OffsetSizeDescription
021Preset Track 0 parameters (see 4.2.1 above)
2121Preset Track 1 parameters (see 4.2.1 above)
4221Preset Track 2 parameters (see 4.2.1 above)
633Preset Track status array (see note 3 in 4.2.1 above)
6640Preset Effect parameters
10611Preset Name
1171spare (reserved for future use)

4.3 Track Parameters

This message consists of specific track parameters from the 12 tracks, the track status array, and an effect definition.

Byte OffsetParameter Name
0Track 1 Bank Set number
1Track 1 Program number
2Track 1 Surrogate Bank Set number
3Track 1 Surrogate Program number
4Track 1 XCTRL
6Track 1 Timbre
8Track | Brightness
10Track 1 Release
12Track 1 Attack
14Track 1 Rate (LFO/Wave-List)
16Track 1 (Reserved)
18Track 1 Mix
20Track 1 Pan
22Track 1 Effect Bus override
23Track 1 Patch Select override
24Track 1 Enables (byte 1)
25Track 1 Enables (byte 2)
26Track 1 MIDI Bank Select
27Track 1 MIDI Program number
28Track 1 MIDI Channel
29Track 1 MIDI Pressure type (off,mono,poly)
30Track 1 MIDI Status
31Track 1 MIDI Status bit array
32Track 1 Key Zone low key
33Track 1 Transpose
34Track 1 Key Zone high key
35Track 1 Velocity Range lower limit
36Track 1 Velocity Range upper limit
37Track 1 Velocity Sensitivity
38Track 1 Detune
39Track 1 Pedal Mode
40Track 1 Sampled Sound number
(end of Track 1 structure)
Byte OffsetParamter Name
41Track 2 parameters (same structure as Track 1)
82Track 3 parameters (same structure as Track 1)
123Track 4 parameters (same structure as Track 1)
164Track 5 parameters (same structure as Track 1)
205Track 6 parameters (same structure as Track 1)
246Track 7 parameters (same structure as Track 1)
287Track 8 parameters (same structure as Track 1)
328Track 9 parameters (same structure as Track 1)
369Track 10 parameters (same structure as Track 1)
410Track 11 parameters (same structure as Track 1)
451Track 12 parameters (same structure as Track 1)
492Seq/Song Track status array (see note 3 in 4.2.1 above)
504Tracks Effect Parameters

4.4 Single Sequence Dump Parameters

This message consists of the data from one sequence and the sequence header.

Byte OffsetParameter Name
0Sequence Data
nSequence Header

4.5 All Sequence Dump Parameters

This message consists of the data for all of the defined sequences and songs, 60 sequence and song headers, and the global sequencer parameters.

Byte Offset Parameter Name

Byte OffsetParameter Name
0Sequence Data Offsets - A table of 60 long word offsets (one for each sequence/song), with each entry containing the relative offset of the corresponding sequence/song data block from the beginning of the sequencer data block.
239Sequence Data
nSequence Header Segment
n+header_sizeGlobal Parameters

In an unexpanded system, the Sequence Data segment can contain a maximum of 131,072 bytes. In an expanded system (with SQX-70), the maximum is 393,216 bytes. The individual Sequence Header size is 338 bytes. The complete Sequence Header Segment is 20,408 bytes, which includes 60 headers, a table of pointers and some additional overhead. The Global Parameters segment is 38 bytes. Remember that all of this data is transmitted via MIDI as nybblized bytes, so the actual number of bytes transmitted is twice as large for each component of the dump. The size of the largest dump for an unexpanded TS in actual transmitted MIDI bytes may be calculated as follows:

ComponentActual Size (bytes)Nybblized Size
SysEx Header6
Data Pointer Table480240 nybblized
Sequence Data262,144131,072 nybblized
Sequence Headers40,81620,408 nybblized
Global Parameters7638 nybblized
End of Exclusive Length1
Total Number of bytes sent: 303,543

This implies that an expanded system would have a maximum dump size that was larger by twice the difference in the Sequence Data segment size (i.e. two times 393,216 - 131,072 or 524,288 bytes). Therefore, the largest dump size for a fully expanded system would be a total of 827,811 MIDI bytes (or 1617 blocks).