Ok, thanks for your input - just to make sure that we are on the right track… Playing in Legato Mode, you do not want to start a sample from the beginning when the key you play triggers a new sample that is not related to your previous key?
Hmmm. If you want to do that you are facing multiple difficulties. For example in your singing example, the tempo of your takes will hardly be exactly the same - so even if you are crossfading between the old keys and the new keys sample, you will probably have some delay like artifacts (you could probably do an instant switch in-between words…).
In addition to that, you would have to have the whole samples across your keyboard in ram because you can not rely on preload if a sample can start at an arbitrary position due to Legato (this is possible of course but your memory consumption will be pretty high).
And there is not a lot you can do if the samples are not even related in content (e.g. the first sample is “Seven People” while the second sample is “Nine Cats”). Then you would have to rely on some sort of matching algorithm that tries to find a best fit for the cross fade position. Again - this is doable but I’d be surprised if you’d end up with what you expected when an algorithm tries to find a good legato crossfade location in real time.
Anyway - If you really need that behavior or just want to try out how it would sound… HALion 4 can offer that. You can apply a small work around to achieve what you want. To do that, layer your samples on the same key range (e.g. C3-F3) but in different velocities (e.g. the C3 sample from velocity 0-31, D3 sample from 32-63, E3 sample from 64-95 and F3 sample from 96 to 127).
Now in the Layer Editor find the Trigger section and enable the Individual Velocity Mode and the Velocity Fade. Set the Velocity Mode to Continuous and select a controller for velocity control (for simplicities sake, chose the modulation controller).
Now if you trigger a sample in the range C3-F3, all four samples are triggered but you will only hear the sample that is selected by your modulation wheel (e.g. if your mod wheel controller is set to 58, you will heard a D3 because the D3 sample was set to velocity range 32-63 (58 > 32 & 58 < 63) and key range C3-F3.
The Velocity Mode feature is originally meant to simulate dynamics in instruments (e.g. play realistic crescendos by changing the velocity after the note has been triggered) but you should be able to recreate what you are looking for by hijacking this feature. Note though, that all comes at a cost - the samples that are layered on the same key range have to play synchronously to allow switching between them in real time, so you will have some voices wasted.
In addition to that, you will be limited to playing with a controller instead of playing on the keys but maybe you can produce a nice example on what you would like to achieve.
Please - if you like, play with this feature and tell me if you can get the sound you want out of it.