Jump to content


Please note: You can easily log in to MPN using your Facebook account!

MainStage set up idea


Recommended Posts

Hi everybody,

I would like to submit an idea I came up with to organize Concerts/Sets/Patches in Mainstage. I don"t know if it makes sense and since I am not a pro Mainstage user, I would like to receive comments from advanced users.

 

I play 2 MIDI Master Keyboards, an 88 keys (Studiologic Numa Compact 2X) and a 61 keys (Arturia Keylab 61 MkII). They both are connected to a MacBook Pro via USB. Output is managed by a Focusrite 2i4 audio interface.

 

First I"d like to explain how I am currently using Mainstage:

Since a couple of years, I use the same set up for Mainstage because I literally had no time to delve into this application (and I am not sure I am using it at best).

That"s the set up: say I have to perform 10 songs in a gig, I create a Concert file, set up the two keyboards with knobs, faders and other controls in the Layout area, then I create 10 patches in the Edit area, one for each song to be played. Each patch has one or more virtual instruments that will be played during that song (usually 2 but sometimes up to 5, some of them layered), as channel strips assigned to one or both master keyboards.

So, if, for example, in 5 of the 10 songs, I play Grand Piano, I have to create 5 Grand Piano virtual instruments channel strips in the corresponding patches.

 

Now that gigs are not allowed due to covid, I have a lot of time to study Mainstage, and one of the first thing I stumbled on, was an article listing all the CPU-saving settings for Mainstage. One of them was the usage of the so-called 'aliases', that is a virtual instrument is replicated n times in a concert not as n instances but as 1 instance and n-1 links.

That was an amazing discovery!

So, I got to this idea for a new setup (and sorry for the long post, but I had to explain where I was coming fromâ¦).

The Concert file should be organized as follows:

Say I have to play 30 songs, using 15 different virtual instruments, some of them repeated in more than one song.

- I create a Set, which I call "Instruments" containing all the 15 virtual instruments organized as 15 patches each with a single channel strip. This way I have a unique place where I can manage the virtual instruments settings (effects, parameters, etc.);

- then I create 30 patches for the 30 songs to be played and in each patch I add the aliases channel strips corresponding to the virtual instruments played in that particular song.

 

Do you think this setting can give some benefit in terms of CPU/memory usage or overall organization? Did I discover America?? :blush:

How do you generally set up Mainstage for your gigs?

 

Thank you in advance for your help and comments!

Niccolò

Link to comment
Share on other sites



  • Replies 8
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Yes you can do exactly what you are saying.

 

However there are limitations with what you can do with aliases. If memory serves you cant set a different volume level on an alias as they all change (someone correct me if I am wrong - not near my mainstage setup at the moment), and of course you cant change patches in the plugin itself.

 

I've found mainstage pretty good for CPU and memory usage. I think it "unloads" plugins that are not in the active patch.

Nord Stage 2EX | Nord Wave | Mainstage | Key Largo
Link to comment
Share on other sites

SteveUK thanks for the reply.

Happy to know that it's a sound setup. I have read that aliases are all linked to the virtual instrument instance and that one change affects all the other. That shouldn't be a big issue, since I have all the parameters set before the gig and during the performance little or nothing is changed (volume sometimes, so I'll have to cope with that).

Link to comment
Share on other sites

This is pretty much exactly how I run it. "Set 1" is my generic patches and usually includes a piano or two, a fully mapped out Organ (drawbars work on my controller etc.), and a couple electric pianos of various flavors and a synth lead or two. Then each "set" folder is actually a Song Title and has all the aliases or specific unique programs that that song requires in order.

 

I set up a pedal to advance to the next song and I always advance forward. Mainstage does this smoother than any keyboard I've ever played. BL sends a new setlist? I just drop/drag rearrange folders in the new order.

 

I think for an alias, if you change the volume on the VST it carries across all the aliases but I'm not sure that's true for the volume on the channel strip. Not near the studio so I wont' be able to double check for a bit.

 

Honestly, they need an update to the organization of Mainstage. In my mind they need three layers of hierarchies Concert>Sets>Songs and a Concert level folder for exactly what you are using "Instruments" as. Then they'd need to only open the programs in the current Set and Instruments folders.

You want me to start this song too slow or too fast?

 

Forte7, Nord Stage 3, XK3c, OB-6, Arturia Collection, Mainstage, MotionSound KBR3D. A bunch of MusicMan Guitars, Line6 stuff

Link to comment
Share on other sites

This was not a silly question at all and you've nicely summarised what took me a LONG time to get my head around. That said I just have a patch per song as across 40 songs I have roughly 30 different sounds so there's not a lot of gain in the approach you mentioned.
Link to comment
Share on other sites

After intending to do this for a long time (and not having a sense of urgency due to the pandemic), I've just started setting up a MainStage rig with an older MacBook Pro that was middle of the road spec-wise when it was new. After setting up just a few patches, it's looking like Aliases are going to be critical to getting this all working smoothly. One question I have though, is whether it's possible to direct an Aliased channel strip to a different MIDI channel, or if it always has to be tied to the same one.

 

For example, I'm using my DMC-122 as the controller, with each manual set to a different MIDI channel. Let's say I have a few songs where I want to play a Rhodes sound. So I set up a channel strip that's controlled from the lower manual on channel 1, and I can use an Alias to that channel strip for the other songs. Great. But what if there's a song where most of the time I'm playing Clav, but play a little bit of Rhodes in the bridge. For that song, I would want to put the Clav on the bottom and the Rhodes on the upper manual, which is on channel 2. Is there a way to use the same Alias for the Rhodes so I'm not loading it twice, but play it from the upper manual? Or would that require a second instance of the Rhodes software running with a channel strip that's assigned to the upper manual?

"If you can't dazzle them with dexterity, baffle them with bullshit."
Link to comment
Share on other sites

I"m going to reply to my own post here as I found the answer and it might be helpful to someone else with the same problem later. It turns out that you CAN use the same Alias with controllers on separate MIDI channels, but the key is that the software instrument has to be able to respond to MIDI input on all channels/omni mode. When I posted above and couldn"t figure out the issue, I was using Keyscape. Keyscape does not have omni mode, so I had to use different channels for different instances. As soon as I tried it with built in Mainstage/Logic and Arturia instruments it worked fine.

 

I contacted Spectrasonics support and they confirmed that there"s no omni mode for Keyscape, but the person said they"d raise the topic with their engineering group. In the mean time, I thought I might be able to work around the issue if I leave Keyscape on the default channel 1, and try to use a MIDI plugin on that channel strip to redirect the other controller to channel 1. It turns out that none of the built in plugins would do that, but the MIDI Scripter plugin will do anything that you can code. After some searches, I found the following script that a helpful person had posted on the Apple support website:

 

let inChannel = 2 //Use the channel you want to affect.

let outChannel = 1 //Use the channel you want to output.

 

 

function HandleMIDI(e){

if (e.channel == inChannel) {

e.channel = outChannel;

}

e.send();

}

 

I tried that, and it"s working correctly. So if you"re struggling with the lack of omni mode in Keyscape (or any other software instrument), hopefully that will help.

"If you can't dazzle them with dexterity, baffle them with bullshit."
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...