Help on using TRITON EXTREME plugin in Global Rackspace

I apologise in advance for the long post and thank those who will find the time to read it carefully until the end.

It’s long because I think it’s important to properly frame and explain my question/problem, but also because, I believe, it contributes to other discussions held in other topics in the community, namely around the use of plugins in “Global Rackspace” when they are often used in individual rackspaces.

1 Background:

For 13 years I’ve used the KORG TRITON EXTREME as my main keyboard for live performances. For those unfamiliar with this workstation, the most important thing to note is that the sounds are divided into 2 main categories: PROGRAMS and COMBINATIONS. Both programs and combinations are in FACTORY BANKS, but there are also USER BANKS where you can modify or create your own programs or combinations

Each COMBINATION is the overlapping of up to 8 programs.

Over the years I’ve used COMBINATIONS as a kind of “Gig Performer”. I’ve created my own combinations by adding up to a maximum of 8 programs/patches, choosing parameters for each program such as volume, pitch, effects, keyboard region, etc. As a rule, each COMBINATION corresponded to a song in the show (in the same way that, as a rule, in GP each rackspace corresponds to a song).

  1. Current situation:

This year I decided to embrace the adventure of softsynths and that’s how I got to know and started using Gig Performer. However, I didn’t want to (and don’t want to) lose the work I’ve accumulated over the years, and continue to use the TRITON EXTREME (now in it’s plugin form) to build my setup.

For this reason, almost all of my (more than 100) rackspaces now contain the TRITON EXTREME plugin in addition to other plugins/vsts. In fact, some rackspaces have nothing but this plugin. Imagine a song where I need a piano pad on the left of the keyboard and a piano and/or brass on the right. Using only TRTON EXTREME programs/patches, I create a combination with these instruments and in the GP I just use the TE plugin, selecting the combination I’ve created within it.

My Gigfile contains more than 100 rackspaces and each rackspace contains, as a rule, 1 TE plugin. This means that when I load my GigFile, this plugin will be loaded another 100 times. This wouldn’t be a problem if I wasn’t facing serious resource management issues. My Mac has 32GB RAM and my GigFile already needs 33GB RAM…

So this seems to me to be a typical case where you might want to consider placing the TE plugin in “Global Rackspace”, controlling it in the individual rackspaces (as I currently do with a KONTAKT Session Horn Pro brass sample that I use very often). That way, the plugin would only be loaded once, freeing up precious RAM.

  1. Problem:

A few months ago I asked @dhj for help to see if it was possible to use the TE plugin by loading it only once and controlling it (program up/program down) within the individual rackspaces. Then @dhj sent me a GigFile (attached) which was supposed to fulfil my need.

Although it doesn’t entirely correspond to what I currently want/need (apparently the widget for controlling the bank of programs you want to use doesn’t take into account whether they are FACTORY or USER programs/combinations) and it makes it difficult for me to select the combination I want, the truth is that I have successfully experimented with placing the TE plugin in Global racksapce and created some individual rackspaces, controlling the plugin in each one and choosing different combinations for each one.

And this is where the problem occurs. After saving the GigFile and closing the GP, when I load that GigFile again, all the previous configuration is lost. The GP (or the plugin) doesn’t retain the choice of combinations that was made, or rather, it only retains part of that information, i.e. the number of the selected combination, but not its bank.

Example:

Rackspace 1: USER BANK A, Program 014

Rackspace 2: USER BANK A, program 084

Rackspace 3: USER BANK A, program 103

After loading this gig file:

Rackspace 1: FACTORY BANK A, program 014

Rackspace 2: FACTORY BANK A, program 084

Rackspace 3: FACTORY BANK A, program 103

In other words, even if when creating the rackspace I define that TE should use the USER A sound bank, this information is ignored the next time I load the GigFile, and FACTORY bank A is always assumed.

Unfortunately I don’t have any programming skills that would allow me to explore the scriplet created by @dhj and see if there is anything I can do to get round this problem.

I’m bringing this issue to everyone’s attention in the hope that someone can help me solve this issue, which is very important to me for the reasons I’ve explained above (namely the need to save RAM).

I will be willing to pay, if necessary, someone who is willing to explore the issue and try to improve/improve the scriplet to control TE. If so, please send me a private reply.

Thank you all for your contributions.

I will throw out my impression for what it is worth. I could be wrong, but maybe it’s helpful.

I think you are trying to use GP based on how your hardware Triton Extreme worked. I tend to think that is not the way to go. (GP is set up the way it is, in part to deal with CPU and ram management with the possibility that the use can use any plugins on the market. This is different than the constraints hardware manufacturers deal with).

I would use setlist mode and look at this in terms of songs and song parts.

I would set up rackspaces that would give me everything I need to use at that same time within a song part.

I would suspect you could reuse the same rackspaces in many song parts.

Anyway, this may not help. But, I figured I would chime in just in case. (Feel free to ignore).

Jeff

Your opinion is welcome and I appreciate the committed and helpful way in which you always participate in the various topics under discussion.
However, in my specific problem, your advice does not directly respond to my need.
I’ve spent a lot of time preparing my combinations (Triton Extreme) and not only do I not intend to waste that work, but I’m too close to the start of the concert season to change everything.
On the other hand, by using the TE combinations as the basis for my rackspaces, I’m directly saving my computer resources. Each combination usually has 4 to 8 instruments. If I were to use a plugin for each instrument, my rackspaces would be even heavier and my difficulties in managing resources (RAM and processing) would be even greater.
In short, what I want is to use just one instance of Triton Extreme and dispense with all the others I use in the individual rackspaces. I experimented with deleting all the TE instances in my rackspaces and the resulting gig file needs 19.5 GB of RAM (with all the TE instances loaded, the same gig file needs more than 33 GB of RAM), and my Mac “only” has 32 GB).
So, my hope is that one of the many users in this community who have knowledge and experience with scripting will be available to create a scriplet (which may or may not be based on the one initially created by @dhj) that allows me to control/change the program/combination of the Triton Extreme plugin, placed in the global rackspace, from the individual rackspaces. That way I would only have to load a single instance of TE, saving a lot of resources.
As I mentioned in the original post, I realize that creating this scriplet, if it’s possible, can take some work and time, which is why I’m willing to pay for this work, since solving my problem is very important to me.

I created 40 rackspaces, each with a single instance of Triton Extreme and total RAM usage was 3.38Gb and in each rackspace, the audio CPU cycles was around 7%, going up only a bit if I actually played something. What are the other plugins you need to use?

Also, predictive loading can be used to reduce RAM significantly. For example, when I turned it on with a value of 5 and reloaded that same gig file, total RAM used was less than 1Gb (see below)

The point is, @jeffn is not wrong – you’re trying to thwart the GP model instead of working with it.

1 Like

What you are describing here, if I understand it correctly, indicates a problem with the Triton Extreme plugin.

For clarification, if you:

  • create a rackspace with nothing in it but one instance of Triton Extreme
  • set Triton Extreme to the sound combination you want to use
  • save the gigfile
  • exit GP
  • restart GP and load the gigfile
  • Triton Extreme is not playing the sound that you had previously set up and saved?

If that’s what you’re experiencing, I’d suggest trying a different version of the plugin to see if the behavior is the same. Sometimes the VST, VST3, and AAX versions of a plugin will behave differently. What you’re describing sounds broken to me, so I would try another version of the plugin and see if another version works.

In my case, as I mentioned earlier, removing the various instances of the Triton Extreme plugin from the individual rackspaces translates into very significant RAM savings, as you can see in the screenshots below.

On the other hand, although it is necessary to take into account the differences and processing capacity of each computer, it is necessary to distinguish between the processing required for the TE plugin in PROGRAM mode (1 instrument only) or COMBINATION mode (up to 8 instruments simultaneously).

I did a test with a simple rackspace using TE in PROGRAM mode and CPU utilisation fluctuates between 12 and 22%. In COMBINATION mode it can reach 35%. Curiously, it doesn’t matter whether I’m playing or producing sound. Apparently the CPU usage doesn’t change significantly when I’m not playing.

PROGRAM MODE

COMBINATION MODE

I mainly use the TE plugin, but I often use other plugins too, such as NEXUS, KONTAKT, Arturia Analog Lab V…

How else would you explain the remaining 19 GB of RAM that my Gig File needs?
I use various KONTAKT libraries (one of them, which I use a lot, is on Global Rackspace), always taking care to reduce the size of the samples, using the purging process I learnt about in another FORUM publication.

Here are examples of 2 rackspaces in my setup, one of them using the KONTAKT plugin in Global Rackspace.


Unfortunately, the “predictive loading” function isn’t the solution in my case. In fact, although my band has a standard alignment, it is rarely respected and we have very significant jumps, forwards and backwards, in the predicted alignment. As if that weren’t enough, we don’t have breaks between songs, so I have to have all my rackspaces/songs fully loaded at all times.

My central debt remains the same. If it’s not possible to use a scriplet to control the programme/combination of the TRITON EXTREMNE plugin placed in the Global Rackspace from the individual rackspaces, I’ll have to resign myself to finding alternative solutions. However, if such a solution is possible, I will have to look for it and explore it, because it translates into a huge gain for me and my particular needs.

Important note: I recently realised that the scriplet you created for me a few months ago (which I’ve attached for other users to explore) was built using the TRITON plugin and not TRITON EXTREME, which is different from the one I use.
So I did the experiment of installing the TRITON plugin and testing the scriplet with it. It works, if I use it in the individual rackspaces, in that after restarting the GP the programmes/combinations I have selected, regardless of whether they are from the FACTORY or USER banks, are saved.

However, with this scriplet, I can’t use the plugin in the global rackspace and control it in the individual rackpacwes using widgets/global parameter. Whenever I change the program/combination of the TE placed in the Global Rackspace in one rackspace, it changes to that program/combination in all the local rackspaces (please lookat the Gigfile Triton test.gig)

Thank you all for your attention

TritonInABox.gig (82.7 KB)

Triton test.gig (297.1 KB)

Another possible item to check when purging samples from Kontakt instruments is whether or not the library loads multiple articulations (usually accessed via key-switches). If it does, you could unload any articulations you don’t use before going through the purging process as Kontakt may be loading samples for each articulation on each note you play after purging all samples. I have saved a lot of RAM usage myself in Kontakt by unloading unnecessary articulations.

I understand. You do not want to have all the different combinations of Triton Extreme loaded on different rackspaces to save Ram. I get it.

It seems to me you are basically looking to change the combinations (and loaded samples in memory) when you change local rackspaces.

My impression is this may work if the samples are not too large. Basically, you are loading samples each time you change the local rackspace to avoid loading them all in when the Gig File is opened (or using Predictive Loading).

I am no good with scripting and mediocre in terms of using the Global Rackpspace.

But, I will suggest another method you could use that would seems to do the same thing. I don’t think you are really getting much out of putting the Triton Extreme in the Global Rackspace. You are not really re-using the same sound/samples every time. It seems to me you are loading in new Combinations (which loads in new samples) every time you change the local rackspace (which are then being used- via widgets, I suppose–to change the Combination in Triton Extreme in the Global Rackpspace).

Another option you could try is creating a local rackspace with Triton Extreme and then setting widgets to select combinations. Then maybe create a new variation with each Combination you want.

This “seems” to be a more straight-forward way of doing what you are trying to do.

It still raises the issue whether your system will be stable when it loads in new samples when you change variations (causing a change in combinations in Triton Extreme). But, maybe the samples (if the same as in the hardware version of Triton Extreme) are small/optimized enough you can get away with it.

(I hope this is a bit helpful).

Jeff

Could you please teach me how to do that?

I purge the samples im KONTAKT (for exemple, an instrument from Session Horns Pro that takes 0,6 GB, after purge, uses only 45 MB).

In fact, I find it weird that having purged all the samples in all the KONTAKT libraries I use in my setup, my resulting GiG File (after also deleting all instances of Triton Extreme) still requires more than 19 GB of RAM.

This makes me suspect that, even though I’ve purged the samples, something isn’t working as expected and it could be KONTAKT that’s mainly responsible for all the RAM taken up.

However, I have no way of knowing this, since KONTAKT only gives me information on the “space” occupied by the samples after purging (in the above case, 45 MB).

How do I delete the articulations that I don’t need?

Thanks for your help.

Hi Jeff

I’ve also considered this possibility: creating a rackspace with triton extreme and using variations as you suggest, since the scriplet created by @dhj is capable of this (although it needs to be adapted for Triton Extreme, since it works fine but for the TRITON plugin).

In these circumstances, I would create just one rackspace and countless (over 100…) variations, each corresponding to one of the songs I use TE for.

The problem is that in that single rackspace I’d also have to put all the other plugins I use throughout my setup, creating widgets for all of them (at least to mute them when they’re not needed), plus I’d have to direct them to a huge mixer… in short, I don’t think it’s feasible. It would, however, be an excellent idea if I could add plugins for each variation that wouldn’t affect the other variations either.

Got it, yes I think that that is a good reason to put it in the Global Rackspace.

Using Session Horns Pro as an example, in the Keyswitches panel below the instrument graphics, click on the articulation drop down box next to each keyswitch and select “Empty” for each articulation you will not be using.

2 Likes

Hummm

Mine doesn’t have this option active. I think it’s only available if you open keyswiches.nki. In my case, I opened performance.nki and this option isn’t available.

In the meantime, I’ve done an experiment that surprised me and I’d like to share it with the community, in the hope of clearing up some of the doubts I’ve been having.

Since I found it strange that, after deleting all instances of the Triton Extreme plugin from my rackspaces, my gig file needed almost 20 GB of RAM (100 rackspaces = 20 GB, so 1 rackspace = 200 MB on average) I decided to export all the rackspaces (including the Global rackspace) and load them one by one, checking for each imported rackspace how much additional RAM is needed. In this way, I hoped to find out which rackspaces are taking up the most RAM.

The first surprise came when I imported the Global Rackspace!

With the GP completely clean, around 670 MB are needed. However, as soon as I imported the global rackspace, without any local rackspace imported, the RAM occupation immediately rose to 1.92 GB. In other words, the global rackspace alone requires more than 1 GB of RAM. Isn’t that strange?

It’s true that in it (global rackspace) I have loaded an instance of kontakt (Session Horns Pro) that I use in several individual rackspaces. However, I purged the samples in kontakt and the resulting instrument (multi, with 2 instruments) only takes up 143.5 MB. So how can I explain this huge amount of RAM?

I’d like to take this opportunity to ask a question about the purging process in KONTAKT. After purging, when saving the “new” instrument, which option should I select? patch only? Patch + samples?..

Thank you

I think you need to be very careful about how you are measuring RAM. For example, assuming you have Kontakt configured properly, it should be streaming most of each sample directly from your hard drive or SSD and not taking up much RAM

There is also a difference between how much RAM is theoretically allocated to a process vs. how much is actually used.

When you load your gig with lots of rackspaces, what is wrong with your audio?

Well, the only reference I have for making any kind of assessment of RAM occupancy is the information given to me by the activity monitor and, according to this, my Global Rackspace needs around 1 GB. The KONTAKT plugin I have there and the instrument it loads (Session Horns Pro) should need a maximum of just over 150 MB, so I’m having trouble understanding why the activity monitor is giving me that information.

For this reason, too, I suspected that I might have done something wrong when I purged the samples from that instrument and, although it is (like all the samples) on my Mac’s internal SSD disc, it could be the case that all the samples from that instrument (several hundred MB) are being loaded and not just the ones I need.

As for the audio behaviour when I load my current gig file (which, according to the activity monitor, needs all my RAM and more), the truth is that when I start playing, in some rackspaces (such as those that use the aforementioned KONTAKT library) there are noises and audio gaps, as if the samples hadn’t all been loaded. However, after playing a few notes in the entire region of the keyboard where that instrument is located, the situation normalises.

Although this is a very important subject, especially for those who, like me, struggle with resource management problems (RAM), at the moment my main focus is on finding a solution to the question posed in the original post, because that would immediately solve the RAM problem.

I still have some hope that someone with scripting knowledge will be willing to explore the issue and try to see if what I suggested is possible.

Fingers crossed

To rephrase my earlier question about your audio working question, if your system works fine after that reloading, which is really all that should matter, why exactly are you so focused on resources?

It sounds like you’re trying to fix a problem that you don’t actually have.

@salomao I can’t help you with your specific problem, but I’m interested how you transferred you existing Programs/Combinations to the TE virtual instrument? Did you all recreate them? Or do you know a tool how to convert your PCGs to the VST/AU?

This could possibly be because after you purged all samples and then pressed the notes you will be using, you may not have pressed enough different velocities to preload the necessary samples for each velocity split. Also, I would check the options in Kontakt for streaming from disk to ensure you have this switched on.

1 Like

I had to recreate them, manually copying all the parameters.

@DaveBoulden , I am sure I have played all the needed keys, several times, with different velocities, so that shouldnt be the cause. It also hapens that the problem does not occur if I load just a small part of my gig file.

I have been searching Kontakt for that option but didnt find it (perhaps because English isn’t my native language and I couldn’t identify this option in the various menus). Could you give me a hint as to where that option is?

By the way, I’m returning to a question I asked you yesterday, to which I received no reply. After purging the samples, when recording the “new” instrument, which option should I select? Patch only or Patch + samples?