Clever ways to optimize your plugin usage

Clever ways to optimize your plugin usage

In this article you will learn about tips and tricks to optimize your plugin usage.

Tips compiled in this article are based on independent tips that can be found in our community by users who wanted to tweak their setups and reduce even more their CPU and/or RAM usage.

Create your own impulse responses

.
If you particularly like a plugin’s room effects but when that effect is engaged, CPU usage jumps up substantially, then you may want to create your own impulse responses.

Use MConvolutionMB to have better RAM and CPU usage in your live performance

Read this article to see how our community member and beta tester @rank13 managed to reduce his CPU cycles significantly (25% instead of 50%) by creating his own impulse responses.

Try physical modeling plugins

.
If you like sample-based plugins but you do not have enough RAM or disk space to store all the samples, you might want to try a physically modeled plugin as an alternative. For example, Pianoteq from Modartt creates a physical model of an acoustic piano, so it doesn’t need gigabytes of samples. Pianoteq supports sympathetic resonance, something not really possible with sampled pianos and has addons for physically modelled electric pianos and clavinet.

Pianoteq and Gig Performer, audio plugin host (VST, VST3, AU host) for live performance

Applied Acoustics Systems has physical modeled plugins for several synths, string machines, guitars and even a modular rack.

Applied Acoustics Systems and Gig Performer

See this blog article and this thread to learn more.

Use multiple instances of Gig Performer

.
Using multiple instances are covered in detail in this blog article:

Multi instance support in Gig Performer, audio plugin host for live performance

If you use a plugin such as Diva or Tyrell N6 (as pro musician Alistair Begg describes in this post) that are notorious for having high computer resources requirements, you can put it in a separate Gig Performer instance.

Another benefit is that your other instance can use with a different buffer size, say 256 samples – just make sure that the sample rate (say 44,100 Hz) is the same across your instances. Read this blog article to learn how buffer size and sample rate affect your computer resources.

Get to know your plugins and tweak them

.
A little bit of reading the documentation or researching your plugins can be helpful. For example, if you are on a Mac and plan to migrate to Apple Silicon, you should check whether your plugin is natively available for your M1 chip or whether you need to run it under Rosetta (NB: Gig Performer is natively available for Apple Silicon). Of course, we recommend that you use plugins built natively for your processor to have the best performance.

Further, certain options in your plugins may cause CPU spikes or other undesirable behavior. For example, as described in this article, we strongly recommend that you disable the Usage Data Tracking option in Native Instruments plugins and look for similar options in other plugins:

Turn Off Usage Data in Battery from Native Instruments

Also make sure that you disable any automatic update or automatic install features for your plugins. NB: Gig Performer itself does not share usage data.

Gig Performer supports VST, VST3 and AU plugins, the latter on Mac only. However, sometimes certain formats are not as well tested as others and a VST version may work flawlessly while the AU version fails, or vice versa. For example, some plugin formats may crash but the same plugin in a different format may work just fine (see an example here). It can also happen (although very rare) that different features are supported in different plugin formats (see examples here, and here). Therefore, test your setup thoroughly and select the most stable and efficient plugin format.

The documentation for specific plugins may also contain tips to reduce the load on the CPU (here is an example).

Use Scriptlets and scripting

.
Although GPScript was initially developed for specialized MIDI transformations, it has morphed into a robust and sophisticated programming language tailored to the needs of musicians. This blog article explains how Gig Performer provides you with extremely flexible MIDI processing options and may save you from having to download or buy additional plugins or applications.

Gig Performer 4 introduced Scriptlets, allowing Gig Performer users to create their own MIDI and OSC processor plugins using GPScript. The best thing is that they can be easily reused – you don’t need to know programming to be able to use them. For example, see this useful scriptlet that implements a version of polyphonic aftertouch for keyboards that don’t explicitly support it:

Gig Performer Poly Aftertouch converter Scriptlet

So, if you don’t have a keyboard with Poly Aftertouch, this scriptlet will allow you to have this functionality! (and it works remarkably well, see here). No third-party plugins needed.

Find other useful scriptlets in the Gig and Rackspace files forum, a repository for many creative ideas of our community members.

Use the Predictive Loading feature

.
In normal operation, Gig Performer loads all plugins for all rackspaces and does some optimization to reduce the impact of hosting a large number of plugins simultaneously while still allowing you to switch instantly from one rackspace to another, even in the middle of a bar.

If your computer has limited RAM or your setup highly relies on a bunch of samples, Gig Performer’s Predictive Loading feature can be of great help:

Predictive loading. load plugins dynamically in Gig Performer, audio plugin host for live performance

Make sure to also check this real-life anecdote with Gig Performer and Predictive Loading.

There are two benefits to Predictive Loading. The first is that by reducing the number of plugins that are actually loaded at one time, you reduce RAM requirements significantly. You can still go to any rackspace you want but you might have to wait for a plugin to load. The second benefit is taking advantage of “proximity” to preload (and unload) rackspaces so you can get the benefit of instant switching, if you are following a setlist.

Replace plugin features

.
It can happen that activating a certain plugin feature can lead to unwanted behavior such as occasional CPU spikes, significantly higher CPU usage, or even add more latency. In these cases you may want to use a different plugin in your plugin chain and improve the overall stability (or just improve your sound, like Robert Martin in this post). NB: to see how much latency a plugin block introduces to your setup, simply hover with your mouse over it; click here to learn more.

Many of these specialized plugins may be free, so make sure to check our list of free plugins here.

Plugin implementation and bypass

.
The plugin implementation itself is also one of key factors to consider. The thing one sees sometimes with poorly developed plugins is that they spawn off a bunch of threads that they just leave running and since those threads are not directly involved in audio, they suck up CPU cycles even when they’re not doing anything. In that situation, even if you put them on different rackspaces, they’ll still suck some cycles.

This issue has been brought up many times in our user community. If you’re seeing significantly higher CPU levels when you have a plugin in rackspaces that are not “Active” or CPU cycles are high even when a plugin is idle, then one or more of the plugins in those other rackspaces are poorly implemented. When you switch away from a rackspace, all plugins in that other rackspace have their audio processing disabled. However, if they are still using a lot of CPU cycles, that means that they have lots of other threads running all the time as opposed to just when:
– audio processing is needed,
– or the plugin GUI editor is open.

See examples along with videos here and here.

Therefore, a decently implemented plugin should reduce its CPU usage almost completely (see examples here) when it is not generating any sound (or when it is bypassed). A useful trick is to bypass a plugin or plugins when the volume is reduced to zero. You can accomplish this:
– using widgets groups (see this post)
– or scripting (read this blog article for the detailed guidelines).

While observing CPU cycles and determining how your plugins behave, note that Gig Performer shows only the CPU cycles used by the audio processing. That’s completely different from overall CPU usage which you would see using the Windows Task Manager or the Activity Monitor (read this blog article to learn more).

To see more tips or share your own tips, visit this Community thread.

.
Share this article to support Gig Performer and spread the word! 🙂

Own The Stage® with Gig Performer®

Nemanja Pudar

.
Related topics:
How to offload the processing of audio plugins to remote computers using AudioGridder
Community Tips and Tricks
The Ultimate Guide to optimize your Windows PC for the stage (e-book)
How to optimize your Mac for a gig (blog)



Scaling curves allow you to control the shape of the output of a widget or convert an incoming note velocity to a new velocity. Various predefined curves are available and they can be tweaked as necessary. You can also just draw your own curve as well to achieve the effect you require.

 

MIDI File Player Plugin


You can load up to 128 MIDI song files in a single plugin instance. Switch from one song to another, mute tracks and/or change their channel numbers. Tempo can be controlled by individual songs or you can use the global tempo and tap tempo to control the BPM interactively.

 

Favorites and Presets


Create a sound by placing and interconnecting your desired plugins, such as a synth, some effects and perhaps a mixer. Select them all and then save the selection as a named favorite. The favorite will subsequently show up in all plugin insert menus, making it easy for you to recreate that configuration whenever you need it again. This feature is also very powerful for creating your needed sounds on your studio computer and then transferring them to your touring laptop.

 

Probabilistic Sound Designer


Parameters you select in an open plugin are captured into the Probabilistic Sound Designer dialog window. When you click Randomize, you're only adjusting those selected parameters. Each entry in the PSD dialog has a curve but unlike widgets where the curve controls scaling, in the PSD the curves are used to define the probability of particular values being selected. Make sure the filter cutoff never gets too slow so as to block all sound. Perhaps adjust the max range of the VCA attack parameter so that the sound doesn't have too much delay. Constrain the octave ranges of the oscillators, perhaps ensuring that 1/3rd of the time we select 8' and 2/3rds of the time we select 4'. The possibilities are endless.

 

More Widgets


Numerous new widgets are included in Gig Performer - a new sustain pedal, plastic knobs, drum pads and more colored sliders. Shapes can be colored with different borders and fill colors and morphed from rectangular to circular. Your creativity is now the limit to creating fabulous front panels in Gig Performer.

 

MIDI Message Helper


Select MIDI devices by name. Choose the MIDI message type and adjust the appropriate parameters for the specific type

 

  

Layout management


Gig Performer supports arbitrary resizing. Layout your widgets the way you want - resize the main window and the widgets will grow or shrink as necessary to maintain the same interrelationships. No matter what size screen you have, your front panels will still be neat and usable.

 

Undo Support


If you move your widgets around and/or resize them, or even delete them by mistake, the Undo facility will correct your mistake. Minor moves to a widget by mistake will no longer spoil your design

 

Plugin Channel Count


Some plugins support a large number of outputs and they depend on the traditional channel strip to control how many ports should be available.   When you only need a stereo pair, it is convenient not to have a large horizontal block. In Gig Performer, the number of available ports  is controlled by the channel count override, which can be applied to individual plugins and will be remembered when the gigfile is reloaded or if the plugin is saved as a favorite.

 

Input muting and output fading


Rather than a single audio length tail, Gig Performer 4 gives you the ability to control input muting and output fading separately. Input muting controls how much time it takes for audio input to be silenced when you leave the rackspace. Output fading controls how much time will be taken for audio to fade out when you leave the rackspace.

 

Faster Plugin Finder


Instead of searching through menus of perhaps hundreds of plugins (you know who you are!), the Quick Plugin Finder makes it easy to find the plugin you need by simply typing partial strings. For example, as shown here, to find the Modartt Pianoteq 7 plugins, it's enough to type pia mod 7 (in any order, by the way)  to restrict the list of available plugins to those matching your query. The Quick Plugin Finder also knows about manufacturers, presets and favorites.

 

  

Touch Friendly Input


Any entry field can be changed by either dragging your mouse (or finger) up or down, or by using the large popup touchpad where you can just tap on the squares to enter a value. The large popup keypad also does validation so you can't enter an invalid value. You can also just tap the BPM field to pop up a larger view where you can quickly change tempo, tranpose, trigger Tap Tempo and enable Ableton Link, the last allowing you to synchronize Gig Performer with any other application that also supports Ableton Link.

 

New Tuner Display


The tuner view makes it easy for guitarists to quickly check and adjust their tuning. You can toggle into the tuner view from any other view and toggle right back as soon as you're done. All output will be silenced automatically while you're in tuning mode. You can adjust the concert reference pitch from its default of 440 Hz to suit your own needs. The tuner view fills the entire screen so you can easily see it from a distance.

 

GP Script Enhancements


GP Script adds new language improvements such as multiple initialization sections, initialization with declarations and enhanced callbacks. The WidgetValueChanged callback now supports multiple widgets. Sysex messages are now built-in with numerous supporting functions. String array handling is much faster. Integer bit manipulation is now built-in. A new global GigScript allows incoming MIDI messages to be modified and redirected on the fly. It also allows you to define keyboard macros for your computer keyboard to control Gig Performer itself. For complete information, please review the GP Script Language Manual available through the Help menu.

 

Scriptlets


Scriptlets make creating custom MIDI processors easy. You don't have to be a programmer to use them - you can just download scriptlets from our ever-growing collection on our website and drop them right into your rackspaces to use them. Use scriptlets for simple operations such as turning your single notes into chords, modifying, duplicating or converting one kind of message into another, automatic chord latching (AutoSustain), threshold detection, sysex manipulation... imagination is the limit.

 

Other Improvements


  • System Actions plugin
  • MIDI Out to OSC converter
  • Comment plugin
  • New GUI dialog to define MIDI events to send on song part change
  • MIDI Out blocks can automatically send multiple MIDI events
  • Open/close a plugin editor from a widget
  • Choose default startup view
  • Quick find for plugin parameters
  • Large collection of startup hints
  • OSC Patchbay mode
  • Plugins now default to stereo I/O
  • Dragging presets into the wiring view will automatically create the required plugin
  • Numerous other minor (but nice) usability and workflow enhancements

Numerous other enhancements and optimizations serve to make Gig Performer 4 a superb platform for performing artists.

 

Songs and Setlists


You can organize your rackspaces into songs and your songs into setlists and then just select the setlist you need for a show. Then simply cycle down through the parts, or use your control surface or a MIDI Guitar pedal controller to select individual parts directly.

 

Predictive Loading


Predictive Loading™ is an advanced feature that reduces your RAM and CPU resources by only loading rackspaces (or songs) as needed.

 

 

The Global Rackspace


The Global Rackspace can receive audio from whatever rackspace is currently active. Instead of inserting effects in every rackspace, simply insert them once in the Global Rackspace and all your local rackspaces will have access to them. The Global Rackspace can also send audio to the currently active rackspace. So you can insert a looper that receives audio directly from your guitar (say) and then send the looped audio to different effects in different rackspaces. If a particular instrument such as a piano or organ is needed everywhere (or almost everywhere), put it in the Global Rackspace.

 

   

Zoomable Wiring View


Gig Performer 4 provides a virtual view allowing you to spread out your blocks and connections to make them easier to see and manage, even if you have a very small screen. You can zoom in or out and you can use the Auto-Fit option to position your blocks to fit in the available space.

 

 

What's new in Gig Performer 4.5


  1. Record what you play, complete with all effects - multiple channels of mono or stereo wave files
  2. The Follow Hardware feature lets widgets update automatically to match your controller values when you switch rackspaces
  3. Plugin blocks can now be easily dragged to insert them between other plugin blocks
  4. Widgets can be hidden when not in edit mode.
  5. Widgets support various CC relative modes
  6. The MIDI Thru option lets widgets respond to messages while allowing them to pass through to plugin blocks
  7. The Global MIDI Monitor now displays outgoing MIDI messages
  8. Audio options can now be exported and reimported to make it easier to support multiple audio configurations
  9. OSC now supports named targets
  10. Song Part OC assignments can now be globally changed and applied
  11. GP Script has a new Timeline callback, a MIDI connect/disconnect callback and many new system functions
  12. New parameters in the System Actions plugin now provides even more global control of Gig Performer

Click here to see the complete list of release notes for Gig Performer 4.5