MIDI Bytes

Read with AI
All docs in one file (llms-full.txt)
sysex_output #I/O #Node
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 0x removed, 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 connect only 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 IDType
Trigtrigger

Output ports

None

Scriptable members

PathType
currentDeviceNamestring
currentSysExHexstring
currentSendOnConnectbool

Synapse Apps (scripting)

await synapse.modules.create({ type: "sysex_output" })

Pages linking here