MIDI FILTER EZ (JOV) ❇️
A no-frills MIDI gate, now living in Jovi_MIDI
- 🎛️
- 🎛️
- ⚡
MIDI FILTER EZ (JOV) ❇️ is the "keep it simple" version of the MIDI filter: you pick a mode, a channel, a control, a note, and a value, and it only lets matching MIDI messages through. No range syntax, no string parsing, no surprises - just "I want CC 7 on channel 1, and nothing else." If you're wiring up your first MIDI-driven workflow, this is the gate you want before you graduate to the advanced filter's range strings.
And the standing heads-up for every MIDI node in this pack: it migrated out of Jovimetrix. The 2.0 rework moved MIDI READER, MIDI MESSAGE, MIDI FILTER, and MIDI FILTER EZ to a dedicated repo, Amorano/Jovi_MIDI (listed explicitly in the Jovimetrix README under migrated nodes). If a workflow references "MIDI FILTER EZ (JOV) ❇️" and it's missing, install Jovi_MIDI - that's where it lives now.
What it does
It takes a 🎛️ message input and filters it against a handful of plain-integer criteria:
- MODE - the message-type filter (ignored by default).
- CHAN - MIDI channel (default -1 = any).
- 🎚️ - control/CC number (default -1 = any).
- 🎶 - note number (default -1 = any).
- VAL - value (default -1 = any).
That "-1 means 'don't care'" convention is the whole mental model: set the fields you care about, leave the rest at -1. Outputs are 🎛️ (the message, if it passed) and ⚡ (a boolean saying whether this message passed) - wire the boolean into a switch or gate if you want to trigger on the filter result rather than just pass messages.
The difference from the advanced MIDI FILTER node is deliberately simple: EZ matches exact single values. Advanced lets you write "5-10" or "60-" range strings. If you only ever want "this one knob, this one channel," EZ is less typing and less to go wrong.
Installing it
Install Jovi_MIDI:
# ComfyUI Manager: search "Jovi_MIDI" and install
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Amorano/Jovi_MIDI.git
cd Jovi_MIDI
pip install -r requirements.txt
Restart ComfyUI. Deps: mido[ports-rtmidi], aenum, cozy_comfyui. No models.
Troubleshooting
- Nothing passes through - check you haven't left a "-1" where you wanted "any" to actually be a real value. -1 is wildcard, so a literal -1 means it matches nothing.
- Everything passes through - all your fields are -1, so nothing is being filtered. That's correct behavior, just not useful.
- Node missing after a Jovimetrix update - expected; it's in Jovi_MIDI now.
- The ⚡ output is always the same - remember it's "did this message pass," so if your criteria are loose, it'll be true most of the time. Tighten CHAN or 🎚️.
MIDI FILTER EZ is the friendly front door to MIDI filtering. For most live-performance setups it's genuinely enough - reach for the advanced filter only when you start needing ranges.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| 🎛️opt | JMIDIMSG | Midi | |
| MODEopt | COMBO | IGNORE | Decide whether the images should be resized to fit a specific dimension. Available modes include scaling to fit within given dimensions or keeping the original size |
| CHANopt | INT | -1-1–127 | Channel |
| 🎚️opt | INT | -1-1–127 | Control |
| 🎶opt | INT | -1-1–127 | Note |
| VALopt | INT | -1-1–127 | Value |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 🎛️ | JMIDIMSG | The amount of blurriness (0->1.0) of the input image. |
| ⚡ | BOOLEAN | The amount of blurriness (0->1.0) of the input image. |