Review – Gig Performer by Deskew Technologies
Wish you could take your collection of virtual instruments on stage with you? Maybe you need a VST host like Gig Performer to let that happen.
by Dave Townsend, Mar. 2017
VST Host: a lightweight container for VST instruments and effects, primarily for live performance applications.
If you’re unfamiliar with this class of music software, be aware that it’s at the heart of an emerging revolution in live-performance keyboard and FOH (Front of House) rigs. Keyboardists are replacing their heavy, expensive hardware synths and ROMplers with lightweight MIDI controllers, laptops or tablets and virtual instruments. FOH mixers have similarly replaced bulky effects racks with inexpensive virtual effects. Guitarists, singers and horn players are adding reverb and delay without stomp-boxes and other foot-area clutter. VST hosts even have uses in the studio, such as letting composers offload virtual instruments to multiple computers, allowing more than 2 GB of RAM on 32-bit DAWS, or giving Logic users access to VST-only plugins.
You can think of a VST host as a DAW that doesn’t record or edit audio. It may have even occurred to you that your DAW might be used in this way, and some do indeed do just that, with Ableton Live being particularly popular for that purpose. But in my opinion, a DAW isn’t ideal for live performance.
The reason is that when you’re on stage, your priorities are different than when in the studio. In the heat of live performance, what you want is a simple, high-visibility user interface, optimized memory management, low latency and one-handed (or hands-free) operation with little or no need for mouse/touchpad interaction. What you don’t want is any more information on screen than is necessary to play your parts and do your show.
My own current weapon of choice on stage is Gig Performer’s competitor, the venerable Cantabile. When I spoke with GP’s author, David Jameson (that’s Doctor Jameson, PhD, by the way), he told me that one of his design goals was to make GP easier to use than Cantabile. Given that Dr. Jameson is himself a touring keyboardist, I had no doubt he has some ideas about making software more stage-friendly.
Ease-of-use is very important for this type of application (nobody wants to get out a manual between songs!). That’s a good goal, I said. But quietly, I was thinking: Cantabile’s pretty darn easy to use already, plus it’s mature and full-featured; what could GP possibly bring to the game that Cantabile doesn’t already have covered?
Well, the answer is: “custom UIs”.
Build Your Own UI
All VST hosts let you open a plugin’s native user interface, and so does Gig Performer. But only GP lets you create custom views of your synths and effects. Why bother with a custom user interface, you ask? Let’s look at an example.
Here I’ve added a synthesizer to Gig Performer, the wonderful (and free) OB-Xd. We’re looking at GP’s Connection View, where elements are added and routed. I’ve simply inserted OB-Xd between the built-in MIDI In and Audio Out modules and drawn in the appropriate MIDI and audio routing (red lines are MIDI, blue lines are audio).
As soon as I insert it into GP, OB-Xd’s UI pops up. Being an emulation of a classic analog synthesizer, OB-Xd has a lot of knobs – too many to deal with when playing live.
Now, suppose I only need access to the resonance parameter of the filter during a performance, plus the master volume control. Gig Performer lets me create my own view of this synthesizer that shows only these two knobs. Best of all, I can make them as big as I want for easy access on a touch screen. Here’s the two-knob custom view I created in Gig Performer.
Of course, I still have access to the synthesizer’s own full UI if needed, but this simplified view is going to be much more manageable during live performance. Next, let’s add some reverb.
Now, I could create a separate panel for the reverb, but since there’s plenty of room left on this panel, and all I need is the Reverb Mix parameter, I’ll just add the reverb control to the same panel. I’ll also make it a vertical slider for the heck of it.
Adding and modifying controls is easy. Click on the Edit button above the panel to open Edit Mode.
This reveals a list of available widgets, including knobs in various styles, sliders, buttons and switches, labels and meters. Just drag one over onto the panel and then link it to a plugin parameter under the Mapping pane.
There are also editing tools for making your UI tidy and professional-looking, such as matching a group of controls’ dimensions and vertical/horizontal position or centering. It’s easy and fun.
Controlling Gig Performer from Your MIDI Keyboard
When using a VST host as a live musical instrument, it’s likely you’ll want to select instruments via your MIDI controller. For example, you might have multiple synthesizers loaded and wish to select them by pressing buttons on your controller, so you don’t need to touch your laptop or tablet.
Here I’ve added a second instrument, an instance of VB3 [LINK: http://www.genuinesoundware.com/?a=showproduct&b=24], my favorite Hammond emulation. Because VB3 includes its own reverb, I’ve elected to not pass it through ValhallaRoom like I did with OB-Xd. So instead, I drew in audio connections from VB3’s output directly to the Audio Out module (all modules can accept multiple audio inputs).
Then I added a new panel and created an interface for VB3. Gig Performer helpfully includes black, brown and white drawbars just for this purpose.
OK, so now it’s time to set up switching between OB-Xd and VB3. Note that I’ve also added buttons labeled “Enable” for each panel. These are linked to the “Bypass plugin” parameter (available for all plugins, whether the plugin itself exposes a bypass method or not). I’ve inverted it, so that when the button is lit, that means the instrument is enabled (not bypassed).
The last thing I need to do is link these buttons to MIDI CCs so they can be toggled from my keyboard controller. This step is dead easy: under the MIDI pane, click the “Learn” button and then press the appropriate button on your MIDI controller. As you can see in the following screenshot, I’ve used a button on my keyboard that sends CC 80.
Rackspaces and Gigs
Like most other VST hosts, Gig Performer’s on-screen organization mimics a physical equipment rack consisting of one or more rack spaces. Like physical rack spaces, they are sized using the familiar 1U, 2U and 3U nomenclature. Each Gig Performer Rackspace is an object in its own right, which can be copied or saved to disk. After taking the time to build a detailed view of your favorite synth, you can then re-use it over and over, or use it as a starting point for creating new Rackspaces.
Each Rackspace can contain controls from more than one instrument or effect, and you can define multiple variations within the same Rackspace that appear as different Rackspaces that can be switched in and out on the fly. Variations are such a powerful feature that they deserve their own explanation below.
A group of Rackspaces forms a “Gig”, which other software might refer to as a “project” or a “scene”. Let’s say you play a piano bar on Wednesday nights, electronic dance music on Saturday nights and church services on Sunday. You could set up a separate “Gig” for each, um, gig. One with Ivory or Keyscape, one with Massive and Sylenth1, and another one with VB3 and Omnisphere, for example.
How many instruments you can pack into a Rackspace is limited only by your computer’s resources. How many Rackspaces you can put into a Gig is only limited by how much screen real estate they’ll need and how comfortable you are scrolling the virtual rack while on stage. I like to see everything all the time, so I was most comfortable limiting my Gigs to 3 or 4 Rackspaces. Even with that self-imposed limitation I was able to easily load up 8 virtual instruments and 3 effects and still see everything on a laptop screen.
I wouldn’t normally use that many instruments at once, but I wanted to intentionally push my little laptop (8 GB) to the limit, and see how well Gig Performer dealt with the extreme edge of the performance envelope. Short answer: it does remarkably well.
VST hosts may be called upon to host multiple sampled instruments, which typically gobble up lots of RAM. The host must load all instruments ahead of time so that the user can instantly switch between them. This, unfortunately, can fail spectacularly if your computer doesn’t have enough memory to load them all at once.
Gig Performer takes a novel approach to this challenge, using a technique they call “predictive loading”. The concept is that when there are many Rackspaces, it’s not always necessary to load them all into memory at once; instead, the current Rackspace is loaded along with some number of adjacent Rackspaces.
Then, when a new Rackspace is selected by the user, unused Rackspaces can be unloaded from memory and Rackspaces adjacent to the current selection begin loading in the background, on the assumption that they are the most likely to be called up next. This all happens transparently, with no interruption. The number of Rackspaces that GP keeps loaded concurrently is user-definable.
The flaw in this scheme should be obvious: it only works reliably if you always choose your instruments in sequence. However, for many users this is exactly how they use their hosts: by organizing Rackspaces into set lists, where each instrument is called up in sequence.
Of course, if all your instruments fit into the available RAM, then you won’t even see or need this feature. But if you need to set up a large number of memory-intensive instruments, then this clever scheme will allow you to add a practically unlimited number of instruments to your set list.
Another feature of GP that improves memory efficiency is something called a “Variation”. This allows you to rapidly switch between instrument configurations without having to duplicate the instrument itself, requiring only one instance of the instrument to be loaded and running.
Imagine, for example, that you have an electric piano, but in each song of your band’s set list you use different settings and effects for it. You could insert multiple instances of the instrument, but that would be wasteful of computer resources.
A better solution is to create multiple variations. You can still switch instantly from one to the next, effectively having many EPs on tap but with only one instance of the VST plugin actually being loaded into memory.
To create a variation, select a Rackspace and press CTL-N (CMD-N on a Mac). You’ll be prompted to name the variation, and it will be added under the Rackspace name. Now, any changes you make via your custom UI will affect just the currently-chosen Variation.
Here I’ve created two variations for VB3. The first, which I’ve named “Mellow” has just the lower drawbars out, Drive set to zero, and a little reverb added. The other, named “Rock”, is overdriven, dry and all drawbars out.
Although I’ve shown them stacked in the image above, in actuality these are two variations occupying a single Rackspace.
On stage, variations may be selected by clicking on the variation name or by Program Change commands from your MIDI controller. Double click on the variation name to bring up its Properties dialog, from which you may assign a program change number to the variation.
Side by Side: GP vs. Cantabile
I naturally compared Gig Performer to the VST host I know best: Cantabile. All in all, GP stacks up quite favorably considering it’s the new kid on the block while Cantabile has an 11-year head start.
Installation and initial setup are fast and easy for both. Gig Performer gave me the option of installing to my D drive where I keep most of my music software. Cantabile, by comparison, just assumed drive C, requiring me to move it after installation. Point to GP!
Both GP and Cantabile found my audio interface and defaulted to reasonable settings. GP initially defaulted to Windows Audio and offered an unacceptable minimum buffer size of 132 samples. However, after switching to ASIO it then presented the option of going down to a snappier 32 samples. I selected a more conservative, but still adequate, buffer size of 64 samples. Note that GP picks up your audio interface’s current setting every time it starts, so if you sometimes switch to large buffers (e.g. for mix sessions) you may need to reconfigure GP before live use. This caught me off-guard a couple times, but it’s no big deal.
On installation, Gig Performer assumed “C:\Program Files\vstplugins” as my VST path, which was an incorrect assumption. As a Cakewalk SONAR user, my VSTs are in “C:\Program Ffiles\Cakewalk\vstplugins”. I wouldn’t expect any software other than SONAR to know that, but Cantabile did. One of those little touches that distinguish a mature product. Still, it was no big deal to tell GP where to find the plugins and re-scan.
GP’s plugin manager is easy to use, but not as sophisticated as Cantabile’s, which lets you organize plugins by type or location, and to flag favorites for quick selection. GP’s plugin manager only organizes plugins by name, although the Quick Plugin Finder dialog does let you filter on a partial name. Names, unfortunately, are not always the best criteria for finding plugins. For example, when I typed “chorus” into the quick plugin finder, it came up with a list of chorus plugins as expected – but did not include my favorite chorus plugin (Valhalla Übermod) in the results because that plugin doesn’t have “chorus” in the name. A minor gripe, to be sure, but one of those little things that remind you you’re running a version 1.0 product.
Adding plugins to a configuration is slightly clunkier in GP, as it requires you to switch views and then draw in the MIDI and audio connections. However, its graphical display makes it easy to visualize complex configurations and quickly spot routing mistakes. Which of the products gets the point for ease of configuration therefore depends on how complicated your setups get. When I’m experimenting with different setups and instruments, I appreciate being able to just drop a plugin into Cantabile and go. Other times, I am grateful for GP’s graphical view when routing starts getting complicated.
Cantabile offers far more information on the main performance screen, such as audio metering, CPU load, memory usage and which racks are bypassed, muted or soloed. I like the ability to see at a glance how badly I’m stressing my laptop. With Gig Performer, you can add audio meters as part of your custom UI, and it does have a MIDI indicator. But beyond that you’re looking at a blank screen except for whatever UI elements you’ve created yourself.
Cantabile has other niceties that you’d expect from a mature product, such as a Notes field for each object, a Show Notes field for lyrics and chord charts, an on-screen keyboard, and versatile MIDI filters.
None of these are deal makers or breakers, though, because small details aside, ultimately it’s all about having a trouble-free experience on stage so you can concentrate on your music. Both products had no problem serving up low-latency performance, even on a modest i5 laptop. Both products are a joy to use. GP’s custom UIs are what separate this newcomer from the pack.
I did manage to crash Gig Performer with an access violation a couple of times, when loading a Gig file with another Gig currently loaded. Not a huge concern, since it’s not the sort of operation you’d likely perform on stage, when a crash could be disastrous. Just another reminder that it’s version 1.0. I’ve no doubt GP is going to get better and better with age. Dr. Jameson’s PhD is, after all, in Computer Science.
Pricing and Availability
Gig Performer is available for Mac and Windows (64-bit only), downloadable from the vendor’s site.
List price (all quoted prices USD) is $249, but at the time of this writing it’s going for an introductory price of $124. Hopefully, it’ll stay there for a while, at least until it gets some traction in the marketplace. At $124, it’s price-competitive with more established products such as Forte ($100/300) and Cantabile ($69/199 plus a free “Lite” version).
Gig Performer runs as a fully-functional demo for 14 days. After that, you just enter your purchased license key and go. All the configurations you set up during the trial period will still be there, there is no need to re-install, and a network connection is not required to validate your authorization.