MIDI Channel vs Program Change

New user here. I posted my question on Facebook and was directed here to get some guidance. I am a keyboardist. I currently use Ableton Live on stage and am very interested in switching to GigPerformer. I was informed that my approach to switching sounds on stage is causing me to miss out on some of the capabilities of Gig Performer.

Here’s my situation: I use three keyboard controllers and change sounds by simply changing the MIDI channel that I transmit on. This gives me the ability to use a knob on my controllers to change between 16 different patches (with splits or layers) per keyboard (MIDI Channel 1-16). This works great because I don’t have to click on my laptop to change sounds. Also, I rarely have a “set” list–meaning I don’t want a “next song” button, because it’s never the same as was written. I like the flexibility of spinning to 7 for Rhodes or 9 for piano with horns, 16 for lead tone, etc.

Is there a better way? Are there features I’m missing out on by using MIDI Channels to switch between sounds? Any advice on best way to change sounds from the controllers in an ad hoc manner would be appreciated.

Hi @riddimbank, welcome to the GP community. Yes, it is the right place to discuss about Gig Performer. With GP you can do exactly what you already do with Live, but yes, this would probably limits you a bit.

In my opinion, the best way to jump to GP, is to discover its basic concepts and then to think about how you could benefit from them in your keyboard rig. You can test it for free, and continue asking your question in this forum. Let’s give it a try.

What controllers are you using? Knowing what buttons and controls are on your keyboards would make it easier to suggest other possibilities.

As David-san said, you could quite easily set up exactly what you’re doing with Live in GP. If you’re comfortable with that and it does everything you want, then maybe there’s no need to anything else. But you probably have a lot of other options.

I use three Roland APRO-800 controllers when near home. But when I fly, I request keyboards and sometimes don’t get what I request. All i need to learn on these keyboards is how to change the midi channel and I’m good to go. That’s the only knob I use on the Rolands.

Thank you, David. I’ll dive in and also search for some tutorials. Do you recommend I search for a way to use Program Change rather than MIDI Channel?

In my opinion, you should try to discover Gig Performer and play with it without preconceived ideas. After all the ways will be possible.

Been there — hence we invented the Rig Manager, a feature of Gig Performer that allows you to quickly (during a sound check for example) have GP learn the messages that are being sent from buttons/knobs sliders, etc so you can quickly replace one keyboard rig with another!

But as has been noted earlier, if all you are doing is loading a single set of multi-timbral plugins and accessing different patches by using different MIDI channels, while that’s trivial to do with Gig Performer, you miss out on a lot of other functionality.

Welcome to the family.

I am a long time user of GP and I am glad to help you.
You should think about creating different rackspaces with the plugins you need and switch them.
When you just build a multitimbral rackspace (similar to a multi for example on a Motif etc) there is a chance that you get hanging notes when you switch the channel, because the needed Note Off message on the old channel will not be sent.

Consider to create a rackspace with all sounds and splits you need for a song or song part.
And build another rackspace with sounds needed in others songs or song parts.
And not to forget: With variations you can use the same plugin and change for example cutoff by using so called widgets.
So you can build a rackspace with 2 variations, create 2 widgets which can be mapped to cutoff and resonance in bx_oberhausen.
Then in the 1st variation you can set the widgets to value you want and do the same in the 2nd variation.
This way you can switch between 2 total different sounds whithout any hanging notes or glitches etc.
With variations you have so many possibilities to influence the sound in realtime you would not have when just switching a Midi Channel.

Switching a rackspace (or better variation) is possible when you send PC messages.
Each rackspace variation can have its own unique PC number.

Or you can assign a Midi Controller in the global settings to switch to the next Song or Song Part or rackspace variation or switch back.
In SetList Mode you can assign discrete CC Messages to Song Parts.
This way when you have for example a foot controller with 4 Buttons, you can directly switch to a Song Parts by pressing the corresponding button on you hardware controller.

In my bands I am using backing tracks from Ableton Live.
With the usage of OSC Messages I control Ableton Live completely.
When I switch to the desired rackspace the corresponding Live Scene is selected.
When I press play in Gig Performer the selected Live Scene is started and when I press play in Gig Performer again it is stopped.

This way I can use scripting to switch automatically my racksaces / Songs /Song Parts and I can concentrate on playing without to think about to select the correct sound!

Endless possibilities: But this is only possible because I do not use Gig Performer like a Multitimbral expander and switch sounds by selecting the correct MIDI Channel.

I can help you if you want and build an example rackspace with PA plugins, if you want.

Just call me, and I and all others here in the forum will help you.

1 Like

Thank you PianoPaul. I think I need to start using Program Change information. I do have a question though. Currently, I spin a midi channel select knob from, say, 3 to 16 to get to my next song. If I were to use Program Change information to change Rackspaces, will I be causing a jam by doing that? It will change to 4,5,6,7,8,9…along the way to 16. At least I think so.

Regardless, I need to dive into this while I have a break from shows.

The first point is that you cannot change PC from a rotating knob within GP. But you can go through rackspaces very quickly using two buttons (assigned to next/previous rackspace function). And your can change rackspaces very quickly.

Would you survice with two buttons rather than with a knob ? :grimacing:

(Of course, If your external controller sends program changes when turning a knob, than GP can answer to the PC messages.)

Really my only constraint is I don’t want to interact with software while on stage. I rarely have enough time to spin a knob on my controllers. I’m open to any approach that let’s me do two things: change patches quickly from the controller and be able to jump out of sequence rather than “next song.”

If you’re willing to share ideas on how to best accomplish this I’d have a great head start.

Thanks so much

So I use A800’s as well but I don’t do program changes from them. Unfortunately, I don’t have one where I’m currently located. But I’m looking at the manual and I’m seeing two things that may be useful.

  1. Take a look at this – you should be able to rotate the VALUE knob to move to a specific number and then push it to cause the program change to be sent out

  2. On the previous page, they talk about using a short cut to type in a MIDI channel number directly. I don’t know this but I suspect that that process will probably work if you have used the arrow buttons to move to the PGM CHANGE setup as well.

  3. In my own environment, I don’t use either of these methods. Instead, depending on the situation, I use one or more of the following approaches

    a. MIDI Pedal Controller.
    I generally need at least one sustain pedal and one expression pedal. I’m currently using a Mastermind GT - although a bit expensive, it can be controlled so that each button sends out a program change and, what’s really nice, there’s a dedicated text label above each button so you can actually name your songs on the pedal board. Other pedal board controllers I have used include the Behringer FCB1010, the Roland FC300 and the Nektar PACER.

    b. iPad (this is my preferred approach)
    I use forScore on an iPad for sheet music. One nice thing you can do is select a song in forScore and it will automatically send a program change message to Gig Performer. So what’s really nice here, apart from having sheet music (even if it’s just lead sheets, depending on your needs), you don’t actually have to think about program change numbers at all. Just select a song by name and off you go. There are numerous iPad (and even iPhone) applications that can send program change messages like this. The nice thing about this approach is that you take your iPad with you, even when you’re traveling, and so you’re completely independent of whatever keyboards you’re given for playing.

I should add that most of the time, I use both of the above. However, I still mostly select songs from the iPad. But my pedal controller is configured so that it can send “page changes” back to the iPad (via a separate Gig Performer instance in fact) so that I can use a couple of footpedal buttons to change the page when I’m actually needing to read the music.

This is incredibly helpful. The Program Change and MIDI channel behave differently even though they share the same knob. MIDI channels change by spinning to it, and it looks like Program Change requires depressing. This solves that problem. Thank you so much. I’ll dive in further with these tips.

1 Like

I’m finding Gig Performer to be very intuitive. I’ve gotten it to work with Program Change messages to switch between Rackspaces. It does, in fact, change the Rackspace as I spin the knob on my keyboard, but it doesn’t cause any glitches.


You might also consider TouchOSC from a small tablet? You could have one screen with individual buttons for each rackspace. Very visual, and you go straight to what you want without cycling thru anything. I personally haven’t done this with GP yet, but should work flawlessly.

Thank you. I’ll consider that, but I believe I’d need to have a local area network for that to work. Otherwise, using either Program Change, MIDI Channels, or a combination is likely the way to go. I’m experimenting with my bottom keyboard ready for Program Change info, and the top two keyboards ready to change MIDI channels. My GIG has some Mulit-timbral instruments set up with multiple sounds that I may want to switch on the fly. Like a solo sound for when the singer ad-libs a solo. I can have it available at all times without changing the Rackspace. Anyway, I’m still experimenting since there are no gigs at this time. Perfect time to work all of this out.

I actually carry a small wifi router in my rack for this (but I have three iPads connected). Used it flawlessly for 7 years now.

However, you can connect via wire using Apple Camera Kit if using an iPad. I don’t know what’s around for Android if that’s what you’re using but I’d be surprised if there wasn’t an equivaltn.

I usually just connect via USB. Good news is you have options!

I’ve been experimenting with using both Program Change and MIDI Channels at the same time. Bottom keyboard selects a PC number which chooses a song in my setlist. This changes my Rackspace (all normal). Typically, my bottom keyboard is piano and the other two keyboards change more often throughout a set. The bottom board is set up to change PC with the rotary knob whereas the other two are set up to change MIDI Channel. This gives me the default patches as defined in the Rackspace with all instruments on MIDI Channel 1. Then I have alternate sounds (solo patches, sound effects, brass or anything I may want to call on the spot) available by simply changing the MIDI channel to 2 or 3 or 4 on those other boards. This may be the way to go which gives me flexibility on stage without scrolling through all Rackspaces to get one keyboard’s sound to change.

Also, I’ve been using Korg NanoKontrol 2 for effects and volume control, but it doesn’t transmit Program Change, so I just bought a Behringer X-Touch Mini which does. I’ll try using multiple knobs for different ranges of Program Change info to get fine tuning. Knob 1 = 0-15, knob 2 = 16-31, knob 3 = 32-47, etc. I think I’ll get more precision that way. Or I’ll wait to see how many songs I have and change the range of the one knob to that number of values.

I also found a great application for my Mac called MidiShark. It displays only PC values on my top task bar. Sweet. The knobs on the Behringer don’t have numbers, but as I spin it, I can see which PC number is transmitted by looking at my screen. This way I can have my setlist and chord chart visible and not even look at Gig Performer or my rotary dial readout.

Really solid and intuitive software. I can’t wait for my next gig–or for that matter–next rehearsal.

Also check out the donationware MidiPipe. You could use that to receive CC events from the NanoControl2 and convert them to Program Change messages which could then be sent on to Gig Performer.