This is not a question, I want to share a discovery of mine that could be useful to someone else, and possibly hear what you think of it.
Snapshots are a rather new way in Kontakt to save instrument variations. You load an (open for modification) instrument, tweak the envelope, add an effect and you save a snapshot of this (.nksn). If you also made a snapshot of the original, you may flip between the two by the snapshot buttons on the GUI < >.
In old times we used to save the mod as a new kontakt instrument (.nki), then we created a new instrument bank (.nkb), and loaded the nkis in the bank (original and modified). They were called 001, 002 etc and we could flip between the two by the bank buttons < >.
The instrument bank originally could load completely different instruments: you have buttons on your control keyboard that can be configured to send program change messages that Kontakt reads as 001, 002 in a Kontakt bank, and this is useful when you play live and prepare a list of sounds that you will change in different songs or even in the middle of a song by pushing a button on your physical keyboard. Of course a new instrument could need loading new samples and take a while to do that, so you should take that into account.
We may understand that a snapshot is a variation of a nki based on the same samples, and a lighter modification than changing a complete new instrument, and it's more likely to happen immediately.
Yet navigating snapshots currently (Kontakt8) can only be performed on the GUI: NI does not allow (currently) to associate the choice of a snapshot or the < > snapshot buttons) to a midi message, CC message, or a Kontakt script. It is a pity, since light, immediate light modifications could be inserted even between notes.
I found 2 workarounds while NI awakes:
- Put your instrument, with different snapshots, on different midi channels in a Kontakt multi. This can be automated and controlled realtime, although this duplication might be a waste of memory, could be done only for light instruments (light on memory). Kontakt will put different instruments in a multi into different CPU cores, so no problems for CPU.
- Load a snapshot, save your instrument as .nki. Then load another snapshot, save your instrument as a .nki (with different name of course), then create a new instrument bank and load the nkis in the bank.
These workarounds both worked for me to control snapshots realtime. I guess there is a sort of waste (of memory, of CPU) so let's put forward a feature request to NI to automate snapshots. What do you think?