Back Programming Next

Articles Index

The OTS is the second Yamaha-chunk in a style file following the CASM data.

OTS Editor software program.

In a hexadecimal editor the beginning of the OTS section might look like this:

OTS section Format

The OTS chunk identifier "OTSc" and then 4 bytes giving the length of the entire section, not including the 4 identifier bytes and the 4 length bytes.

Next comes a "MTrk" identifier. This is a MIDI track identifier; and later on will follow 3 more "MTrk" identifiers.

The first MIDI Track holds the "OTS 1" information; the second MIDI Track holds the "OTS 2" information; and so on.

This means that the entire OTS section is so to speak a "4 Track MIDI File with an abnormal header".

In the MIDI Tracks we will find some "normal" MIDI events and a lot of "normal" SysEx messages defining the voices in the OTS set-up.

These "normalities" are found in the keyboard data sheet. SysEx of this form: "F0 43 10 4C xx xx xx yy F7" are normal.

After stripping a OTS section for these "normalities" there will remain some OTS specific data, which all are SysEx messages.

These messages have this form: "F0 43 73 01 5z xx xx xx yy .. yy F7", where
• "z" is 0 or 1
• "xx xx xx" is address. The second xx block is 00 -> 03 = channel (1 -> 4) - Right 1; Right 2; Right 3 and Left.
• "yy .. yy" are actual data value - one or more bytes

Notice:
The information in this page is not complete; and errors might occur.
Yamaha never tells us about their file formats!
Please contact me if you have information about the "?" fields in the table.
My Mail Address is in the top menu of this page.

Section SysEx message Data Byte Value(s) Function
Header F0 43 73 01 50 05 01 01 2A F7   ?
  F0 43 73 01 50 05 01 02 32 F7   ?
Part Right 1 F0 43 73 01 50 08 00 00 yy F7 00 = 0 or 7F = 127 part off/on
  F0 43 73 01 50 08 00 04 yy F7 00 = 0 to 7F = 127 voice set volume *)
  F0 43 73 01 50 08 00 03 yy F7 See table below Octave Set *)
Part Right 2 F0 43 73 01 50 08 01 00 yy F7 00 = 0 or 7F = 127 part off/on
  F0 43 73 01 50 08 01 04 yy F7 00 = 0 to 7F = 127 voice set volume *)
  F0 43 73 01 50 08 01 03 yy F7 See table below Octave set *)
Part Right 3 F0 43 73 01 50 08 02 00 yy F7 00 = 0 or 7F = 127 part off/on
  F0 43 73 01 50 08 02 04 yy F7 00 = 0 to 7F = 127 voice set volume *)
  F0 43 73 01 50 08 02 03 yy F7 See table below Octave set *)
Part Left F0 43 73 01 50 08 03 00 yy F7 00 = 0 or 7F = 127 part off/on
  F0 43 73 01 50 08 03 04 yy F7 00 = 0 to 7F = 127 voice set volume *)
  F0 43 73 01 50 08 03 03 yy F7 See table below Octave set *)
Part Right 1 F0 43 73 01 51 08 00 11 yy yy yy F7 Check Manual DSP Variation Parameter *)
  F0 43 73 01 50 08 00 08 yy F7 00 = 0 or 7F = 127 DSP off/on
  F0 43 73 01 50 08 00 01 yy F7 00 = 0 or 7F = 127 DSP Variation off/on *)
Part Right 2 F0 43 73 01 51 08 01 11 yy yy yy F7 Check Manual DSP Variation Parameter *)
  F0 43 73 01 50 08 01 08 yy F7 00 = 0 or 7F = 127 DSP off/on
  F0 43 73 01 50 08 01 01 yy F7 00 = 0 or 7F = 127 DSP Variation off/on *)
Part Right 3 F0 43 73 01 51 08 02 11 yy yy yy F7 Check Manual DSP Variation Parameter *)
  F0 43 73 01 50 08 02 08 yy F7 00 = 0 or 7F = 127 DSP off/on
  F0 43 73 01 50 08 02 01 yy F7 00 = 0 or 7F = 127 DSP Variation off/on *)
Part Left F0 43 73 01 51 08 03 11 yy yy yy F7 Check Manual DSP Variation Parameter *)
  F0 43 73 01 50 08 03 08 yy F7 00 = 0 or 7F = 127 DSP off/on
  F0 43 73 01 50 08 03 01 yy F7 00 = 0 or 7F = 127 DSP Variation off/on *)
  F0 43 73 01 50 08 03 02 yy F7 00 = 0 or 7F = 127 Left Hold off/on *)
Harmony F0 43 73 01 50 04 00 00 yy F7 00 = 0 or F7 = 127 off/on
  F0 43 73 01 51 04 00 00 yy yy yy F7 See table below type + speed
  F0 43 73 01 50 04 00 05 yy F7 00 = 0 to 7F = 127 volume
  F0 43 73 01 50 04 00 02 yy F7 See table below assign
  F0 43 73 01 50 04 00 03 yy F7 00 = 0 or FF = 255 ch note off/on
  F0 43 73 01 50 04 00 04 yy F7 00 = 0 to 7F = 127 touch limit
Multi Pad F0 43 73 01 51 07 00 00 yy yy yy F7 Find Values number
  F0 43 73 01 50 07 00 00 yy F7 00 = 0 to 7F = 127 volume
Manufacturer Specific message (format unknown) 260 Bytes ?
*) Setting of this parameter and all settings marked "?" are not yet implemented in the OTS Editor software.

Octave Value  Harmony Data
3E = -2
3F = -1
40 = 0
41 = 1
42 = 2
Types
Standard Duet = 0
Standard Trio = 1
Full Chord = 2
Rock Duet = 0 + 256
Country Duet = 0 + 256 * 2
Country Trio =1 + 256
Block = 3
4-Way Close1 = 4
4-Way Close2 = 4 + 256
4-Way Open = 5
1+5 = 6
Octave = 7
Strum = 8
Multi Assign = 9
Echo = 10
Tremolo = 11
Trill = 12
Speed Values
Echo type:
4, 6, 8 and 12
Tremolo and Trill types:
8, 12, 16 and 32
Type + Speed Data Bytes
Byte 1 = always 2

Echo, Tremolo and Trill types:
Byte 2 = type
Byte 3 = speed index (0 to 3)

Other Harmony types:
Byte 2 = type%256
Byte 3 = type/256

If byte 2 and byte 3 = 0A 00
Type = Echo
Speed = 4 (index 0)
Assign
Auto = 16
Multi = 17
R1 = 0
R2 = 1
R3 = 2

In PSR A3000; PSR S970; PSR S770 and PSR S670 there has been added 166 additional Harmony/Arpeggio types.
These has been added to the OTS Editor software from version 2.37.