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,
Valis 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 × 127when Raw is off) - NoteOff — the value is not used (it only turns off the note at
Number) - ProgramChange — the value is not used;
Numberbecomes the program number - PitchBend — 14-bit. With Raw off it is
Val × 16383, so 0.5 is the center, with no bend.Numberis not used
A change in the value connected to the
Numberinput does not by itself send anything (it only updates the number). The flow is to change the number and then send it withValorTrig.
Input ports
| Port ID | Type |
|---|---|
Val | float |
Trig | trigger |
Number | float |
Output ports
None
Scriptable members
| Path | Type |
|---|---|
valueInput | float |
numberInput | float |
currentDeviceName | string |
currentChannel | int |
currentNumber | int |
currentRawValue | bool |
Synapse Apps (scripting)
await synapse.modules.create({ type: "midi_output" })