SampleMaps loading time
-
I noticed that this takes some time, not a lot however for my project where I use up to 20 instances of the instrument it adds up and I would like to make it as fast as possible.
Is there any way to make the sample maps load faster? What does take the time, loading the map or the samples?
I tried to set the buffering and preload size for each sampler smaller, however it still shows the spinning wheel while loading. -
@alfaholic try reducing the voice count - if you have 20 instances you probably don‘t need 256 voices per sampler - this will also highly
reduce the memory consumption -
@Christoph-Hart Thanks Christoph, I already tried that, 64 is enough for what I need. I also set the preload size to 8, and it still takes almost the same time to do the preloading.
The memory consumption is ok, but the time needed for all sample maps to load is crucial for what I want to make, let me explain.What I want to make is something like Kontakt Bank, where 128 patches/instruments are loaded and then PC messages simply change which patch is playing.
Each bank is connected to only one midi channel, so with Kontat I would need 20 banks for 20 midi channels I have.
Kontakt changes from patch to patch instantly, however with my VST sampler the presets need maybe 200-300 ms to load, which is really not a problem in most cases, but I am building a sampler for a real time arranger so every millisecond counts.Maybe I am not doing it properly. My VST has 10 samplers inside, so I use 20 VST instances to get the multi-timbral 20 midi channel setup.
Will it have more sense to create one VST with 200 samplers instead, and then route the midi channels, and change the PC/presets internally?This seems overly complicated to build, does HISE even support PC messages after all?
-
@alfaholic When you change sample maps, the samples need to be loaded. With Kontakt the samples are loaded as soon as you load the NKI, so switching between NKIs doesn't create any additional wait time.
The equivalent in HISE would be to use multiple samplers, each with its sample map already loaded, and then you just switch between the "active" sampler in real time.
For my own use I don't go with a multi-timbral setup like Kontakt, HISE isn't really designed for it. I run each instance of my plugin in a host program (Carla) and from there I can link things up to switch between instances. You can also do this directly in most DAWs but I prefer the external host so I can switch projects without reloading samples.
-
Yes, you definitely cannot rely on the sample maps being loaded "mid-flight". They are supposed to be swapped out when you load a new instrument or new sounds (and this is built into as core logic as it kills the voices, suspends the audio rendering and reactivates when the sample map has loaded), but if you want it to be able to load different samples during playback (like key switching), you definitely need to load them all in at the beginning.
-
@Christoph-Hart said in SampleMaps loading time:
you definitely need to load them all in at the beginning.
@alfaholic For which you may want to consider re-using Round Robins....
-
Thanks David, this is actually my solution to this problem, I will have two sets 8+8 of VSTs loaded, so the first 8 will play the active style while the other 8 will be in stand by mode waiting for the next style to play instantly.
The same with the real time tracks played with the right hand, there will be 4+4 VSTs, first 4 active and another 4 waiting for a patch to change, so you can still hold the key and hear the active patch, for example Saxophone, while calling up the next patch, so after you let go the key the first 4 VSTs go offline and the second group plays further without any interruption.
I hope this translates well enough in English.Thanks Christoph, this is very useful.
I use RR in my presets to add realism , but I do not see how I could use it to load all GM library this way, every patch uses different set of filters, envelopes, and other settings. but it sounds very interesting as a workaround. Am I missing something?