MIDI MESSAGE (JOV_MIDI)
The node that turns a MIDI blob into numbers a graph can use
- 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| MIDIopt | JMIDIMSG | — |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| MIDI | JMIDIMSG | — |
| ON | BOOLEAN | — |
| CHANNEL | INT | — |
| CONTROL | INT | — |
| NOTE | INT | — |
| VALUE | FLOAT | — |
| NORMALIZE | FLOAT | — |