MIDI Output

Read with AI
All docs in one file (llms-full.txt)
midi_output #I/O #Node
MIDI Output

When the value of Val changes, or when Trig fires, it sends one message to the selected MIDI output device. The kind of message to send is chosen in the Type dropdown. By default, Val’s 0–1 is normalized to 0–127.

  • Device — the destination device. It is kept by name, so if you unplug and plug it back in, the selection comes back (focusing it rescans the list)
  • Type — seven kinds: NoteOn / NoteOff / ControlChange / ProgramChange / PitchBend / ChannelPressure / PolyPressure
  • Channel — clamped to 0–15
  • Number — clamped to 0–127. Used as the note number, CC number, or program number
  • Raw value (0-127) — when on, Val is not normalized and the rounded integer is sent as the value as-is (0–16383 for PitchBend). It is for specifying discrete values directly, such as the APC40’s ring-type CC
  • Learn — press it and then hit a pad or turn a knob to capture that NoteOn / CC’s Channel and Number

How the value is handled per Type

  • NoteOn / ControlChange / ChannelPressure / PolyPressure — the value is 0–127 (Val × 127 when Raw is off)
  • NoteOff — the value is not used (it only turns off the note at Number)
  • ProgramChange — the value is not used; Number becomes the program number
  • PitchBend — 14-bit. With Raw off it is Val × 16383, so 0.5 is the center, with no bend. Number is not used

A change in the value connected to the Number input does not by itself send anything (it only updates the number). The flow is to change the number and then send it with Val or Trig.

Input ports

Port IDType
Valfloat
Trigtrigger
Numberfloat

Output ports

None

Scriptable members

PathType
valueInputfloat
numberInputfloat
currentDeviceNamestring
currentChannelint
currentNumberint
currentRawValuebool

Synapse Apps (scripting)

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