Yeah I have one that you can try and/or edit. :) It detects the length of notes, and outputs a MIDI controller from 0 to 127 based on ‘percentage’ of maximum length. It is easily converted into changing channels or whatnot instead, just by altering the output part of the script. Let me know if you run into any problems: if I have some time, maybe I’ll do it myself. Currently within JS there is an limitation of about 2.5-3 seconds for buffering notes, which means that it’ll cap at that value. Or you can try increasing the legal bounds for the delay and moving the MIDI forward in time to compensate. I haven’t tried that yet as I’m an old fuddy-duddy. NOTE: this only works for playback, not live input. Here it is: There’s also one that converts channels the keyswitches (which is almost the exact opposite of what you want ;)), and one that combines the two features together, and I’m also working on automatic note repetition detection and legato switching, based on pitch comparison and note overlaps. The idea behind all that is to choose the appropriate articulations for VSL instruments, without masses of MIDI data messing up the hallway. All the best, Julio :D