Nodes/Jovi_MIDI/MIDI MESSAGE (JOV_MIDI)
ComfyUI Node

MIDI MESSAGE (JOV_MIDI)

The node that turns a MIDI blob into numbers a graph can use

By Amorano·Created 2 years ago·Updated about a year ago· 5
MIDI MESSAGE (JOV_MIDI)
  • MIDI
  • MIDI
  • ON
  • CHANNEL
  • CONTROL
  • NOTE
  • VALUE
  • NORMALIZE

MIDI MESSAGE is the decoder of the pack. It takes one JMIDIMSG - the custom MIDI bus type that Jovi_MIDI nodes pass around - and unwraps it into the individual fields a normal ComfyUI node can actually consume. Everything in this pack eventually funnels through it if you want numbers instead of a black box.

It's one of the simplest nodes you'll meet. One optional input, MIDI (the JMIDIMSG), and seven outputs: MIDI (the message passed through, so you can chain it), ON (boolean - is a note currently held), CHANNEL, CONTROL, NOTE (ints), VALUE (float, the raw 0–127 control/velocity value), and NORMALIZE (the value scaled to 0–1). Under the hood it's a straight field extraction - the author's MIDIMessage snapshot holds all six attributes, and this node just unpacks them. It also handles lists of messages if you're feeding it a batch.

Now the honest take: if your MIDI comes from a MIDI READER, this node is redundant. The reader already exposes all six fields on its own outputs - you can wire them straight into a seed, a CFG, a denoise, wherever. MIDI MESSAGE earns its keep in two situations. First, when a JMIDIMSG arrives from somewhere that doesn't split it out for you - a MIDI LOADER, or another pack that emits the type. Second, as a bus tap in the middle of a chain: wire the message through a filter, then drop a MESSAGE node after it to see exactly what survived.

Because JMIDIMSG is a custom type, it won't connect to stock ComfyUI nodes. That's the one thing to internalize with this pack: the bus is the glue between its own nodes, and MESSAGE (or FILTER) is the bridge back to ordinary inputs. It's a thin utility - but when you need a MIDI value turned into a number, it's the node you reach for.

Install is the shared pack deal (ComfyUI Manager, search Jovi_MIDI, or git clone https://github.com/Amorano/Jovi_MIDI.git into custom_nodes plus pip install -r requirements.txt). Nothing extra to download. If the input shows red, you've plugged a non-JOV_MIDI node into it - check that the thing feeding it actually outputs JMIDIMSG.

CategoryJOV_MIDI 🎛️

Inputs (1)

NameTypeDefaultDescription
MIDIoptJMIDIMSG

Outputs (7)

NameTypeDescription
MIDIJMIDIMSG
ONBOOLEAN
CHANNELINT
CONTROLINT
NOTEINT
VALUEFLOAT
NORMALIZEFLOAT