MIDI Bytes
A node that sends raw MIDI byte sequences written as text, exactly as written. The name says SysEx, but it is not limited to SysEx — CC, program change, real-time messages, anything you can write in hex can be sent. Use it to write initialization procedures that have no dedicated node, such as switching a controller’s mode. It sends when Trig fires and from the Send button on the node.
- Device — the destination device (kept by name; focusing it rescans the list)
- SysEx — a multi-line text field. One line is one message, sent in order from the top. Empty lines are skipped, and everything after
#is ignored as a line comment - The hex on each line has spaces, commas, and
0xremoved, and is then converted into bytes two digits at a time - The default is the SysEx that puts an APC40 mk2 into Mode 1 (
F0 47 7F 29 60 00 04 41 01 00 00 F7) - Send on connect — sends automatically at the moment the destination device goes from absent to present. It works both for initialization right after startup and for recovering from a USB unplug during a set
If the hex on even one line is broken, nothing at all is sent (so that it does not send partway and leave things half-done). Lines with an odd number of digits are invalid too. When nothing is sent, check the log for
[SysEx] Invalid hex string.
Send on connectonly fires on the transition from absent to present. Turning the toggle on while already connected sends nothing at that moment (plug the device back in, or press Send).
Input ports
| Port ID | Type |
|---|---|
Trig | trigger |
Output ports
None
Scriptable members
| Path | Type |
|---|---|
currentDeviceName | string |
currentSysExHex | string |
currentSendOnConnect | bool |
Synapse Apps (scripting)
await synapse.modules.create({ type: "sysex_output" }) 