Hey folks, I’ve been playing around with quite a number of setups lately in search of a good basis for a keys rig. I need mainly the usual stuff that most things can do (host a bunch of plugins, layers, various midi tools like arps/sequencers, parameters and midi mappings), but one big thing that has really separated a bunch of the solutions so far has been ensuring uniformly smooth transitions on everything including songs/snapshot/plugin/variant/parameter/whatever-you-want-to-call-it changes.
GigPerformer is currently the solution I’d love to base this on because my experience with the trial was very positive. It was super stable, everything worked naturally and it was quite intuitive. Routing flexibility and the various MIDI tools made it really easy to set up arbitrarily complex sets of layers and arps and sequences and so on. Literally the only place I’ve struggled is trying to find a scalable way to do smooth transitions of various parameters and while I’ve found some posts about this in the past I figured I’d reach out here to see if anything has changed in the past few years.
GigPerformer does a good job of rackspace transitions - I can definitely live with this for song changes, together with some careful global rackspace setup. The place that I’m having more trouble with is smooth transitions between variants. In almost all cases I want things like the mixer faders to smoothly interpolate, not jump to the new variants. Furthermore in many cases I also want to change VST parameters (macros, etc. that I’ve set up) and have them smoothly interpolate. Variants seems to definitely be the most scalable way of setting up the endpoints that I want (i.e. they are a collection of all of these parameters), but I’ve struggled with making the transitions seamless.
I’ve played around with various scripts to do a slower transition, often using a dummy control that can be scripted to go from one end to the other, but there are significant limitations with this setup. First, there are not just two endpoints here… many songs might have 3-5 different variants and I need to be able to jump to each of them in arbitrary order and have the parameters smoothly fade from “wherever they are” to the new target. The scripting language doesn’t seem flexible enough to do something like gather all the relevant before/after variant state up front, then do a smooth transition on a timer. It seems like you would have to modify the script for each song/rackspace which is not really a scalable solution. Please correct me if I’m wrong here - if there’s some way to have a global script that interpolates arbitrary variant parameters I don’t really mind any level of global complexity as long as it doesn’t need to be baked into each rackspace.
I’ve played with a few alternatives like having external tools drive MIDI CCs to do the smooth interpolation but they run into a lot of the same limitations as the scripting… i.e. this logic really needs to live in a place that knows both the before and after variant values, which seems to be only Gig Performer itself at the moment.
I’ve seen some scripting for this in Mainstage that works, but I would prefer not to use Mainstage for other reasons. I can make it work in Reaper/Playtime as well (you can pretty much make anything work in reaper if you want to…) but that approach is even less scalable than the Gig Performer scripts as it’s pretty hard to make fully general to any song/layer setup.
The one tool that I recently found that does pretty much exactly what I want is LiveProfessor. It has the notion of “cues” that set trigger “snapshot” changes (roughly like a variant for our purposes here) but critically on those changes you can add a “fade time” that it will apply to all of the parameters that are being changed (which can additionally be filtered if desired). There’s some details with trying to interpolate arbitrary plugin parameters of course but for my purposes that system works great, as I can just set up whatever continuous parameter/macro values I want, take a snapshot, then let it smoothly interpolate on cue.
That said, I’d still rather use Gig Performer for this as it is otherwise a more full-featured and capable tool and I’ve run into a bunch of quirks with LiveProfessor that I would need to find other workarounds for as well.
Thus I’d love any suggestions on how to best handle this in Gig Performer, or any insight into if this is something that might be supported natively in the near future or not. I know there are no guarantees or public feature roadmaps but it would be useful to know how best to proceed in the short term.
Thanks in advance!
