Donate

Please consider donating for my development time if you make use of these applications.

Find Me

Pictures

www.flickr.com
This is a Flickr badge showing public photos and videos from SynthModz. Make your own badge here.

  • Is everything listed here?
    No. This is just a subset of the messages I have cataloged. It takes some time to enter them here and format them.

    Update: The data here is only valid for a single Unitor8 of a specific version. I don't recommend using this page for anything other that some minor understanding of the protocol involved.
    back to index
  • Do any of the messages have a checksum?
    I have not found any checksums in the messages so far.

    back to index
  • What types of messages does it receive?
    I have found two types of messages:


    1. A message to a device controlling Unitor features.
      1. These are messages are characterized by the first 5 bytes F0 00 20 31 64

      2. 00 20 31 is the midi manufacturer ID for Emagic

      3. 64 is most likely an identifier specifying that it is a Unitor 8

      4. These messages all deal with setting that a specific to the Unitor, such as LED brightness, port mapping, message filters


    2. A message to a device controlling timing features
      1. These messages are characterized by the first 4 bytes F0 00 00 33

      2. 00 00 33 is the midi manufacturer ID for S&S Research

      3. These messages all deal with the type and format of the clock that is generated


    back to index
  • How to change the messages to talk to Unitors that are chained together
    F0 00 20 31 64 10 00 7F 00 F7

    Right now this is just a guess, but I suspect that byte 7 is used to direct a message to Unitor further into the chain.

    Since it seems to be zero in all of the messages so far and I am talking the first and only Unitor in my chain.

    UPDATE: This is 100% correct

    The format of this byte is
    00bbb000B where Box Number (bbb) = 0 - 7

    Some are in the format 0rbbbgggB   ;b: Box number, r=1:ROM, r=0:EEPROM
                                       ;g: Device 000=Unitor8, 001=AMT8
    back to index
  • Scan for a Unitor
    F0 00 20 31 64 03 00 7F F7

    F0 00 20 31 64 03 00 7F F7 sent
    F0 00 20 31 64 04 00 40 F7 received

    F0 00 20 31 64 0B 00 00 F7 sent
    F0 00 20 31 64 7B 00 00 32 30 32 F7 received (32 30 32 is ASCII firmware version 202 = 2.0.2)

    F0 00 20 31 64 0B 00 40 F7 sent
    F0 00 20 31 64 7B 00 40 32 30 32 F7 received (32 30 32 is ASCII firmware version 202 = 2.0.2)

    F0 00 20 31 64 0B 00 08 F7 sent (ping for chained unitor 1?)
    F0 00 20 31 64 0B 00 10 F7 sent (ping for chained unitor 2?)
    F0 00 20 31 64 0B 00 18 F7 sent (ping for chained unitor 3?)
    F0 00 20 31 64 0B 00 20 F7 sent (ping for chained unitor 4?)
    F0 00 20 31 64 0B 00 28 F7 sent (ping for chained unitor 5?)
    F0 00 20 31 64 0B 00 30 F7 sent (ping for chained unitor 6?)
    F0 00 20 31 64 0B 00 38 F7 sent (ping for chained unitor 7?)

    F0 00 20 31 64 12 00 00 00 F7 sent (request patch 1)
    F0 00 20 31 64 7A 00 00 00 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 1)
    F0 00 20 31 64 12 00 00 01 F7 sent (request patch 2)
    F0 00 20 31 64 7A 00 00 01 00 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 F7 received (this is patch 2)
    F0 00 20 31 64 12 00 00 02 F7 sent (request patch 3)
    F0 00 20 31 64 7A 00 00 02 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 3)
    F0 00 20 31 64 12 00 00 03 F7 sent (request patch 4)
    F0 00 20 31 64 7A 00 00 03 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 4)
    F0 00 20 31 64 12 00 00 04 F7 sent (request patch 5)
    F0 00 20 31 64 7A 00 00 04 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 5)
    F0 00 20 31 64 12 00 00 05 F7 sent (request patch 6)
    F0 00 20 31 64 7A 00 00 05 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 6)
    F0 00 20 31 64 12 00 00 06 F7 sent (request patch 7)
    F0 00 20 31 64 7A 00 00 06 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 7)
    F0 00 20 31 64 12 00 00 07 F7
    F0 00 20 31 64 7A 00 00 07 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 8)
    F0 00 20 31 64 12 00 00 08 F7
    F0 00 20 31 64 7A 00 00 08 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 9)
    F0 00 20 31 64 12 00 00 09 F7
    F0 00 20 31 64 7A 00 00 09 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 10)
    F0 00 20 31 64 12 00 00 0A F7
    F0 00 20 31 64 7A 00 00 0A 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 11)
    F0 00 20 31 64 12 00 00 0B F7
    F0 00 20 31 64 7A 00 00 0B 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 12)
    F0 00 20 31 64 12 00 00 0C F7
    F0 00 20 31 64 7A 00 00 0C 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 13)
    F0 00 20 31 64 12 00 00 0D F7
    F0 00 20 31 64 7A 00 00 0D 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 14)
    F0 00 20 31 64 12 00 00 0E F7
    F0 00 20 31 64 7A 00 00 0E 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 15)
    F0 00 20 31 64 12 00 00 0F F7
    F0 00 20 31 64 7A 00 00 0F 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 16)
    F0 00 20 31 64 12 00 00 10 F7
    ...
    F0 00 20 31 64 12 00 00 1F F7
    F0 00 20 31 64 7A 00 00 1F 00 0F 0D 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7 received (this is patch 32)

    F0 00 20 31 64 14 00 00 01 00 3F F7 - request sent computer mode

    F0 00 20 31 64 79 00 00 01 00 3F 02 04 02 04 02 - received 140 bytes
    04 02 04 02 04 02 04 02 04 02 04 02 04 02 04 02 - computer mode setup
    04 02 04 02 04 02 04 02 04 02 04 00 00 0F 0F 02
    00 00 01 00 0C 03 0F 00 0C 00 0E 00 03 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 06 00 05 00
    08 00 01 04 08 06 0A 00 09 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 F7

    F0 00 20 31 64 14 00 00 02 00 3F F7 - request sent patch mode setup

    F0 00 20 31 64 79 00 00 02 00 3F 02 04 02 04 02 - received 140 bytes
    04 02 04 02 04 02 04 02 04 02 04 02 04 02 04 02 - patch mode setup
    04 02 04 02 04 02 04 02 04 02 04 00 08 0F 0F 02
    00 00 01 00 0C 03 0F 00 0C 00 0E 00 03 04 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 03 00 05 00
    08 00 01 04 08 06 0A 00 09 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 F7

    F0 00 20 31 64 14 00 00 03 00 40 F7 - request tip & ring setup

    F0 00 20 31 64 79 00 00 43 00 40 00 01 00 01 00 - received 142 bytes
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 - Click Tip & Ring setup
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 F7

    F0 00 20 31 64 14 00 00 00 00 1F F7

    F0 00 20 31 64 79 00 00 00 00 1F 0C 08 01 04 0A - received 76 byts
    0A 0F 05 04 07 0F 05 04 08 04 00 01 00 04 03 04
    04 04 05 04 06 04 01 04 02 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 F7

    F0 00 20 31 64 0F 00 7F F7 - sent and from what I can tell it never causes a response


    back to index
  • Click Input Tip
    F0 00 20 31 64 0D 00 00 40 1E
    00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 1
    00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 2
    00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 3
    00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 4
    F7

    75 ($4B) bytes

    Blue - SysEx device ID

    Orange - action?

    Purple - 0x60 0x00 = Tip analog, second byte is the hold time 0x00 to 0x7F
    - 0x40 0x1E = Tip footswitch
    - 0x00 0x00 = Ring setup

    Magenta - mode of phase + # of bytes (stored additively / OR'd together)
    18 = Patch Up
    10 = Patch Down
    08 = Panic
    00 = MIDI 0 # of bytes
    01 = MIDI 1 # of bytes
    02 = MIDI 2 # of bytes
    03 = MIDI 3 # of bytes
    04 = MIDI 4 # of bytes
    05 = MIDI 5 # of bytes
    06 = MIDI 6 # of bytes
    07 = MIDI 7 # of bytes

    Green - Midi message data
    Each byte of midi data is stored as two bytes where;
    Most significant nibble in the first byte shifted right by 4 bits
    Least significant nibble in the second byte

    Brown - unused

    back to index
  • Click Input Ring
    F0 00 20 31 64 0D 00 00 00 00
    00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 1
    00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 2
    00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 3
    00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 switch phase 4
    F7

    Blue - SysEx device ID

    Orange - action?

    Purple - 0x60 0x00 = Tip analog, second byte is the hold time 0x00 to 0x7F
    - 0x40 0x1E = Tip footswitch
    - 0x00 0x00 = Ring setup

    Magenta - mode of phase + # of bytes (stored additively / OR'd together)
    18 = Patch Up
    10 = Patch Down
    08 = Panic
    00 = MIDI 0 # of bytes
    01 = MIDI 1 # of bytes
    02 = MIDI 2 # of bytes
    03 = MIDI 3 # of bytes
    04 = MIDI 4 # of bytes
    05 = MIDI 5 # of bytes
    06 = MIDI 6 # of bytes
    07 = MIDI 7 # of bytes

    Green - Midi message data
    Each byte of midi data is stored as two bytes where;
    Most significant nibble in the first byte shifted right by 4 bits
    Least significant nibble in the second byte

    Brown - unused


    back to index
  • Set Computer Mode
    F0 00 20 31 64 0F 00 7F F7

    Blue - SysEx device ID

    Orange - action?
    back to index
  • Select a patch / Set patch mode
    F0 00 20 31 64 10 00 7F 00 F7
    F0 00 20 31 64 10 00 7F 02 F7 Select Patch 3
    F0 00 20 31 64 10 00 7F 1F F7 Select Patch 32

    Blue - SysEx device ID

    Orange - action?

    Green - patch number
    back to index
  • Configure the 32 Patches
    F0 00 20 31 64 11 00 00 00 00 0F 0E 0F 0D 0F 0B
    0F 07 0E 0F 0D 0F 0B 0F 07 0F F7

    NOTE: for some reason sound diver sends a patch select after every one of these configuration messages.

    Patch 1 - Initialized
    F0 00 20 31 64 11 00 00 00 00 0F 0E 0F 0D 0F 0B
    0F 07 0E 0F 0D 0F 0B 0F 07 0F F7


    Patch 1 - input 1 to all outputs - everything else off
    F0 00 20 31 64 11 00 00 00 00 00 01 00 01 00 01
    00 01
    00 01 00 01 00 01 00 01 F7

    F0 00 20 31 64 11 00 00 01 00 00 01 00 01 00 01
    00 01
    00 01 00 01 00 01 00 01 F7

    Byte Function
    9 Patch# 0x00-0x1F (0-32)

    The byte pairs are output settings
    Bytes Function
    11 - 12 Output 1
    13 - 14 Output 2
    15 - 16 Output 3
    17 - 18 Output 4
    19 - 20 Output 5
    21 - 22 Output 6
    23 - 24 Output 7
    25 - 26 Output 8

    00 01 - Input from port 1
    00 02 - Input from port 2
    00 04 - Input from port 3
    00 08 - Input from port 4
    01 00 - Input from port 5
    02 00 - Input from port 6
    04 00 - Input from port 7
    08 00 - Input from port 8
    back to index
  • Request patch
    F0 00 20 31 64 12 00 00 00 F7

    Blue - patch number 0x00 to 0x1F

    response:

    F0 00 20 31 64 7A 00 00 00 00 0F 0E 0F 0D 0F 0B 0F 07 0E 0F 0D 0F 0B 0F 07 0F F7

    Byte Function
    9 Patch# 0x00-0x1F (0-32)

    The byte pairs are output settings
    Bytes Function
    11 - 12 Output 1
    13 - 14 Output 2
    15 - 16 Output 3
    17 - 18 Output 4
    19 - 20 Output 5
    21 - 22 Output 6
    23 - 24 Output 7
    25 - 26 Output 8

    The following bits are OR'd together to connect an input to an output
    00 01 - Input from port 1
    00 02 - Input from port 2
    00 04 - Input from port 3
    00 08 - Input from port 4
    01 00 - Input from port 5
    02 00 - Input from port 6
    04 00 - Input from port 7
    08 00 - Input from port 8

    Same format message as configuring a patch
    back to index
  • RS/IO LED Brightness
    F0 00 20 31 64 13 00 00 00 08 00 00 00 F7

    Blue - SysEx device ID

    Orange - action?

    Magenta - LED
    07 00 IO LED
    08 00 RS LED

    Green - LED Brightness
    00 00 OFF
    00 01 Brightness 1
    00 02 Brightness 2
    00 04 Brightness 3
    00 08 Brightness 4
    01 00 Brightness 5
    02 00 Brightness 6
    04 00 Brightness 7
    08 00 Brightness 8
    back to index
  • Global LED Brightness
    F0 00 20 31 64 13 00 00 00 00 1F 0C 08 01 04 0A
    0A 0F 05 04 07 0F 05 04 08 00 00 00 00 04 03 04
    04 04 05 04 06 04 01 04 02 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00
    F7

    F0 00 20 31 64 13 00 00 00 00 1F 0C 08 01 04 0A
    0A 0F 05 04 07 0F 05 04 08
    00 08 00 00 04 03 04
    04 04 05 04 06 04 01 04 02 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00
    F7

    F0 00 20 31 64 13 00 00 00 00 1F 0C 08 01 04 0A
    0A 0F 05 04 07 0F 05 04 08
    00 00 00 08 04 03 04
    04 04 05 04 06 04 01 04 02 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00
    F7

    Red - IO LED Brightness

    Brown - RS LED Brightness

    - LED Brightness
    00 00 OFF
    00 01 Brightness 1
    00 02 Brightness 2
    00 04 Brightness 3
    00 08 Brightness 4
    01 00 Brightness 5
    02 00 Brightness 6
    04 00 Brightness 7
    08 00 Brightness 8

    Both LED settings are sent at once with this message

    back to index
  • Configure Patch Mode
    F0 00 20 31 64 13 00 00 02 00 3F 02 04 02 04 02
    04 02 04 02 04 02 04 02 04 02 04 02 04 02 04 02
    04 02 04 02 04 02 04 02 04 02 04 00 00 0F 0F 02
    05 00 01 00 0C 03 0F 00 0C 00 0E 00 03 04 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 03 00 05 00
    08 00 01 04 08 06 0A 00 09 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 F7


    I need to track down what situation send this full message. I suspect this is a Patches Mode dump, with msg filters etc.

    back to index
  • Setup patch phange (Patch Mode)
    F0 00 20 31 64 13 00 00 02 11 00 00 0F F7 - sent to setup patch change

    Green - 0x00 = OFF 0x08 = ON
    Orange - Input where the program change message will come in on 0x00 to 0x07
    Magenta - Channel of program change message 0x00 to 0x0F

    NOTE: a patch select message is always sent after the above patch change configuration message.
    F0 00 20 31 64 10 00 7F 01 F7

    back to index
  • Request computer mode setup
    F0 00 20 31 64 14 00 00 01 00 3F F7 - request sent computer mode

    F0 00 20 31 64 79 00 00 01 00 3F 02 04 02 04 02 - received 140 bytes
    04 02 04 02 04 02 04 02 04 02 04 02 04 02 04 02 - computer mode setup
    04 02 04 02 04 02 04 02 04 02 04 00 00 0F 0F 02
    00 00 01 00 0C 03 0F 00 0C 00 0E 00 03 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 06 00 05 00
    08 00 01 04 08 06 0A 00 09 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 F7

    back to index
  • Request patch mode setup
    F0 00 20 31 64 14 00 00 02 00 3F F7 - request sent patch mode setup

    F0 00 20 31 64 79 00 00 02 00 3F 02 04 02 04 02 - received 140 bytes
    04 02 04 02 04 02 04 02 04 02 04 02 04 02 04 02 - patch mode setup
    04 02 04 02 04 02 04 02 04 02 04 00 08 0F 0F 02
    00 00 01 00 0C 03 0F 00 0C 00 0E 00 03 04 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 03 00 05 00
    08 00 01 04 08 06 0A 00 09 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 F7

    back to index
  • Request click tip and ring setup
    F0 00 20 31 64 14 00 00 03 00 40 F7 - request tip & ring setup

    F0 00 20 31 64 79 00 00 43 00 40
    00 01 00 01 00 - received 142 bytes
    00 00 00 00 00 00 00 00 00 00 00 00 00 00
    01 00 - Click Tip & Ring setup
    00 00 00 00 00 00 00 00 00 00 00 00 00 00
    01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00
    01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00
    01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00
    01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00
    01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00
    01 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 F7

    Green - analog hold time (bits 7-1) + input type (bit 0)
    stored as high nibble and low nibble across 2 bytes

    The rest of the data conforms to the
    Click Input Tip and Click Input Ring switch phase midi data.

    back to index
  • Computer Mode - Timing
    F0 00 00 33 02 0D 00 27 01 03 00 3B 2D 00 17 3B 3B 17 01 00 10 F7

    F0 00 00 33 02 0D 00 27 01 03 00 3B 2D 00 17 3B 3B 17 01 00 10 F7
    F0 00 00 33 02 0D 00
    25 01 03 00 3B 2D 00 17 3B 3B 17 01 00 10 F7 - Striping OFF


    Blue - SysEx device ID : All timing messages have a device ID that corresponds to S&S Research


    byte offset binary

    8 00100101 Striping OFF
    00100111 Striping ON

    back to index