OK, here's an idea for a piece of software that AFAIK doesn't exist. Yet it would seem to me very easy to implement, and I'm surprised it hasn't been done already.
What I want is to be able to play a series of chords on the keyboard, of an equal number of voices, and have a particular sample loaded that is always assigned to the top voice, another one assigned to the next voice down, and so on and son. So for example, I could play a series of chords for wind quintet and the top note would always be played by the flute, the next note down by the oboe, etc etc down to the bassoon, regardless of where the chords were on the keyboard (within the restrictions of the instruments' ranges, of course).
Setting up keyboard splits doesn't really work for this because they don't adapt to the changing ranges. For example I could split my keyboard at middle C, and tell the bass to trigger a bassoon and the treble to trigger a clarinet, then play a two-part piece, but what happens when the lower part crosses higher than middle C? Then a few bars later the upper part crosses lower than middle C. Even more of a problem with more parts.
No, what is needed is RELATIVE voice-assignment, so a note is assigned to a particular sample according to its position in the chord. The reason I say this would be easy is because all you'd need to do is measure the MIDI positions of the notes of each chord, assign them each a relative value, and then use that value to determine the sample they go to. This would seem like very lightweight processing for modern computer DAW systems, wouldn't it? I mean, compared to massive polyphonic disk streaming in Giga, Kontakt etc.
What made me think of this is the live brass parts I play in my soul band. I set up various layerings of brass and sax sounds, for example, but the only way to combine them is to have them playing in unison all the time, which sounds artificial. What I really want is to be able to play chordal parts with a trumpet on top, a couple of saxes in the middle, then a bone, then a bari sax honkin' away at the bottom, like a real funk section.
Of course the voice leading would never be perfect, like that of a really imaginative and sensitive arranger, but it would be a hell of an improvement. With a bit of work, the concept could even be made more subtle. For example, you could have rules for what happens when the chords thin out by a voice or two.
This would surely speed up the entering of parts in a studio environment too, and make it more musical and flowing.
Could something like this be done in the new Kontakt scripting? Or with Giga 3's iMIDI? If so, COULD SOMEBODY DO IT PLEASE??? PRETTY PLEASE!
Or if it's already been done, somebody point me there.