Skip navigation

Problems with sending MIDI Program Changes

2328 Views 11 Replies Latest reply: Sep 12, 2011 6:59 AM by androidmedia RSS
dhjdhj Level 2 Level 2 (160 points)
Currently Being Moderated
Apr 11, 2011 4:28 PM
I am using MS2 to manage a large live keyboard/synth rig. Whenever I select a new song in MS2, it is supposed to send program changes (and possibly bank switches) to my external devices so that they update to the desired sounds.

However, from time to time, two of my external instruments (a Minimoog Voyager and a Muse Research Receptor) don't always respond properly.

The Moog changes to the desired patch but one of the parameters is always wrong --- that's 100% reproducible. However, if I send a program change to the Moog using a special purpose little gadget I had made that JUST sends out program changes, the Moog works fine.

The Receptor sometimes just stops responding to MIDI program changes. I can change patches manually on the Receptor from that point on and it still responds just fine to MIDI notes, etc but that's it.

This afternoon, I finally decided to take a look at the actual MIDI data being sent to those devices. I did this using my iPad with the Line6 MIDI Mobilizer and a free MIDI Monitor app.

I discovered that immediately AFTER MainStage sends out a program change, it sends out (most of the time) two CC messages (CC80 with value 0, CC81 with value 0). It turns out that the Moog responds to CC80 by turning off the HiLo freq range of Osc3, which was exactly the parameter that was breaking on each patch).

I don't know how the Receptor is responding to it yet.

The question is why are those CCs being sent out after program changes and how can I stop them. I certainly have no buttons, wheels or pedals defined in MainStage that would be responsible for sending such events.
Macbook Pro, Desk Pro, Mac OS X (10.6.6), (digitize your sheet music for the iPad)
  • valgreen Level 1 Level 1 (75 points)
    Currently Being Moderated
    Apr 12, 2011 2:41 AM (in response to dhjdhj)
    I would suggest you to check Mainstage's preferences for the the parameter value behavior on patch change. If it is set to "restore saved value", then it will be sent over your MIDI bus.
    Using the other mode make MS only send values when the screen controllers are modified.

    I had a problem also related to patch change sent to hardware synths, that I described on an earlier thread, but no one helped; when patch number and volume (or any CC) are sent on patch change, if your device takes some little time to load the patch, the CC are simply ignored, so i would need a way to delay the sending of some MIDI params on patch change.

    hope it helps,
    MacBook Pro, 4GbRAM, Mac OS X (10.6.4)
  • valgreen Level 1 Level 1 (75 points)
    Currently Being Moderated
    Apr 13, 2011 3:53 AM (in response to dhjdhj)
    very strange...

    could you try with a new MS concert?
    I don't think MS would sent any MIDI messages unless they are handled somewhere in your concert file. Have you checked at Patch, Set and also Concert level??

    MacBook Pro, 4GbRAM, Mac OS X (10.6.4)
  • jantoman Calculating status...
    Currently Being Moderated
    Apr 22, 2011 4:24 AM (in response to dhjdhj)

    Hi. How do you actually change patches, with a mouse click or the up-down arrows ? Or with a MIDI hardware controller ?

    Try to create in your Layout a couple of soft switches for patch change up and down, and check what kind of MIDI messages they send along with program change number. MIDI patch change management seems quite buggy in MainStage, with hardware synths and especially with third-part VIs: I didn't find a way to send them correctly to B4 and my other plugins yet.

    Maybe there's something wrong in the Layout, too: sometimes it really drives me crazy. Yesterday the volume pedal assignment switched from CC11 to Note On/Off, I don't know how, and it took me some time, patience (and curses...) to understand where the trouble was

    Try to export your Layout from the concert you're working, then create an empty concert with a simple Layout and export it too. Next, open your concert, import the simple Layout and check if program changes are working.

    Hope it helps. Good luck.

  • nvssm Level 1 Level 1 (10 points)
    Currently Being Moderated
    Apr 25, 2011 7:55 PM (in response to jantoman)

    I just use mouse clicks --- I'm not using MainStage to send program changes to plugins, it's just sending them to external MIDI devices.


    I would be interested to know exactly what went wrong with volume pedal assignment, in particular the fact that you were able to understand what went wrong would be useful --- I have things go wrong from time to time and I've no idea why. Things that were working perfectly on one occasion fail to work properly on a different occasion even though the concert has not been changed at all.


    It's getting really tired.

  • jantoman Level 1 Level 1 (0 points)
    Currently Being Moderated
    Apr 26, 2011 1:59 AM (in response to nvssm)

    I'm sorry, I didn't fully read your first post: I missed the part about the "special purpose little gadget"... I suggested you the same trick you already tried, excuse me


    About my volume pedal issue, I was programming a two-layer patch with split point at C5. All of a sudden A4 started to trigger both sounds... I drove myself crazy trying to understand what was happening, until I switched to Layout and noticed that volume pedal was triggering A4 Note On-Off instead of sending CC11

    Maybe I accidentally hit A4 while the "Learn" button was enabled... but I wasn't working on Layout since about an hour. It could be a bug, after all: anybody experienced anything like that ?


    About your issue, I guess your Receptor's MIDI buffer gets full with CC messages sent by MS2, then skips them until you reset it, while Minimoog tries to handle them, correctly or not. In fact it's a good idea to monitor MS2 MIDI out and check if "every" patch change sends out the same CC numbers and values: check it on other Concerts and Layouts too.

    By the way, did you try to send patch changes to MS2 from your master keyboard and route them to your synths ?


    As a temporary workaround, I would suggest you to follow Valgreen's advice and disable "restore saved value" on patch change, at least to see what happens. Last-chance solution could be a hardware MIDI filter... but it's not simple to find it and to set it up.


    Just one wish for the next MS update... a fully user-configurable patch change section.

  • nvssm Level 1 Level 1 (10 points)
    Currently Being Moderated
    Apr 26, 2011 7:18 AM (in response to jantoman)

    There are two other solutions I am currently considering


    1) Rather than extra hardware, I could implement some MIDI filters using Max/MSP. Then rather than associating external MIDI ports with channel strips in MainStage, I would associate Max/MSP MIDI inputs with them and then have the Max/MSP MIDI outputs routed to the external MIDI ports. One advantage of this approach is the ability to use delays so that, for example, if a program change gets transmitted, then Max can hold the subsequent MIDI events (CC events) for a few seconds to give the hardware time to setup.


    I just begrudge spending the time to do this as well as having to have extra software running all the time.


    2) Switch to a Windows machine and use something like Cantibile (, which I'm about to evaluate, it looks like it might to the job.

  • androidmedia Calculating status...
    Currently Being Moderated
    Sep 12, 2011 6:59 AM (in response to dhjdhj)

    Sorry I can't help you out, but you inadvertantly helped me out:


    My Gr-20 guitar synth was making all of MS faders go to "eleven" everytime I switch between synth and guitar.

    Creating a "dummy" switch to stop this saved me from tossing the guitar synth out the window!!





More Like This

  • Retrieving data ...

Bookmarked By (0)


  • This solved my question - 10 points
  • This helped me - 5 points
This site contains user submitted content, comments and opinions and is for informational purposes only. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. All postings and use of the content on this site are subject to the Apple Support Communities Terms of Use.