Yo uso un sistema muy antiguo, puro protocolo midi, de enviar cambios de banco/programa, y además visualmente me queda cojonudo. Creo una pista para cada instrumento, y en esa pista va todo, incluyendo los cambios de articulación. Eso me permite, visualmente, saber en qué articulación ando.
Para mí los KS tiene dos problemas. Por un lado, no es un controlador midi contínuo (o sea, una nota existe mientras exista la nota, tiene un Note On y un Note Off, y después del Note Off, sencillamente no existe). Eso significa, que estás en un tramo con pizzicato, y ahora saltas 50 compases más adelante, y debería sonar legato porque 10 compases antes hay un KS de cambio a legato. Si no has pasado por ese KS, el secuenciador no se ha enterado, y seguirá sonando a pizzicato. Un controlador contínuo (midiCC o un ProgramChange), una vez adquiere un valor, lo mantiene hasta que lo cambias. Si cambias de articulación mediante un midiCC o un ProgramChange, ese salto de 50 compases hacia adelante hace que al posicionarte, automáticamente cambie a legato, aunque 10 compases antes estuviera el cambio de articulación, porque el controlador contínuo todavía tiene valor. El otro problema es que, salvo Iskra que es un hacha y ya se conoce los KS de memoria, el resto de los mortales vemos una nota KS y no sabemos a qué articulación cambia. Como podéis ver en la imagen, yo sí sé en qué articulación ando en cada momento.
Yo uso librerías que permiten cambios de articulación con midiCC. Así que asigno un valor midiCC (por ejemplo midiCC4) a cada articulación (midiCC4=1 para legato, midiCC4=2 para pizzicato, midiCC4=3 para staccato, ....).
Ahora, desde el secuenciador midi, lanzo cambios de banco/programa desde una pista de automatización, que cualquier DAW lo tiene. Con un simple bloc de notas de windows creo un listado de bancos (cuerdas, maderas, metales, percusión, ....) y a cada banco le pongo las articulaciones que voy a usar (legato, staccato, pizzicato, ....). Cada banco (instrumento) lleva un número del 0 al 127 y cada programa (articulación) lleva otro número del 0 al 127. Esto lo haces una vez y ya no más. Eso sí, puedes cambiarlo las veces que quieras.
Ahora, desde la pista de automatización, selecciono un banco para cada secuencia midi (sólo hay que seleccionarlo la primera vez, si esa pista es de violines 1, cargo el banco de cuerdas, si son trombones cargo el banco de metales, ...), y luego voy cargando cambios de articulación a necesidad. Doble clic de ratón en esa pista de la imagen. Así, el secuenciador lanza cambios de programa. Pero claro, al VSTi tiene que llegarle midiCC4.
En medio, o bien pongo un plugin que cambie de ProgramChange a midiCC4, o tan sencillo en kontakt como cargar un multiscript que ya trae de fábrica para tal fin. El secuenciador lanza un ProgramChange=1, el multiscript cambia esa orden a midiCC4=1, y al instrumento cargado en kontakt le entra esto último, cambiando a legato. Y seguirá en legato mientras no haya otro cambio, así que si salto 50 compases, pillará el último cambio de articulación.