New MIDI Listener plugin for Grasshopper (MIDI IN)

Hello everyone,
as the title suggests, I’ve just made a very simple plugin designed to use a MIDI controller to interact with Grasshopper. It’s nothing more than a single component that listen to MIDI and output the latest values for continuous controllers and note velocity as two lists of 128 values each.

Inputs
ID – Device index (which MIDI device to listen).
Ch – MIDI channel (0 = all or 1–16).
⏻ – Listen / Stop listening.
Rate – Output interval in milliseconds (cooldown to avoid solver overload).
Outputs
ID? – List of available MIDI input devices.
CC – Tree of 128 CC values (index = CC number).
Vel – Tree of 128 note velocities (index = note number).


I implemented this because I couldn’t find a straightforward way to do this as it cannot be done with a Python component alone. I tried Cicada, but it only have output capabilities, and then gHowl, which works but only coupled with an external MIDI-to-OSC bridge.

The plugin is based on NAudio library, and it’s my first plugin. But in general also my first compiled project and my first experience with Visual Studio. If anyone is curious and wants to try it, I’ve attached a .zip with the plugin for Rhino 8 and 7 as well as an example. Any comment and suggestions will be really appreciated as I’m considering to try to submit it.

Thank you!

Midi_Listener.zip (1002.1 KB)

8 Likes

This sounds cool.
Maybe using a keyboard (musical keyboard, not typing keyboard) to navigate around a model or stack up bricks for art projects, etc.

I hope some creative people try out your plugin.

1 Like

Perfect to pair with something like this

1 Like

I’m using it with a Novation Launch Controller XL Mk3. I like the faders because are 14 bit instead of 7. However the one you proposed is ridiculously cheap for 15 and likely easily customizable with a 3D printer and spare pots. You can find it a 30€ on Aliexpress! It’s in my cart.