You may like to check out
VI Folio. I don't know of any other plugins that do this automatically for you at play time.
Scout detects the note lengths in seconds for you. Classifier uses custom thresholds to convert seconds to categories.
You'll need a custom plugin to convert the "lengthCategory x.y" metatext to your desired behavior.
Use something like
Code:
midirecv_str(time, msg);
match("*? lengthCategory %f *?", msg, length);
to get this value into
length then use it to trigger whatever you want. You'll need to embed this logic in a receiving loop, and you could do things like checking that strlen(msg) > 15 first to save on matches. I use this to create CCs and keyswitches, which is easier than changing channel: that's also doable but requires a bit more logic.
Rehydrator will be necessary for any polyphonic material, otherwise you'll be missing some notes.
Good luck.