Original topic post is from How to get Live to send program change messages to Omnisphere
I spent considerable time communicating with Ableton tech support and on the phone with Spectrasonics tech support to come to my own conclusions. Both companies were very responsive and helpful.
There is a known bug in Live which I believe lies at the basis of these problems. Ableton tech support described the bug and provided a "sort of" workaround which, in my experience, is still subject to the vagaries of the bug, as I mention near the bottom of this.
The description of the bug, as given to me:
"Note: there is a bug currently when starting a clip after the playback has been stopped. In this case Live will not only send the program change information of this clip but also the program change of the last fired clip. This might cause problems when using the MIDI learn mode of Omnisphere. I would suggest to not stop the playback but just enable the MIDI learn functionality for the different cells and start the according clip directly afterwards and continue with the next cell without stopping the playback."
The workaround, in my words (I'm not explaining every step of preparing Omnisphere to display and learn program change messages, but just the critical steps for dealing with this issue):
Create an instance of Omnisphere in Live and then here's what I did:
1) Set up 8 clips with program change values 1 > 8, consecutively in each clip (In my case, bank=none and sub-bank=none).
2) In Live Mode in Omnisphere, I did the MIDI Learn Program Change Value for each of Omni's cells consecutively, firing the 8 clips without ever stopping playback in between any of the MIDI learning "moments".
The "consecutively....without ever stopping playback in between any of the MIDI learning 'moments'" is the critical information.
I didn't bother loading patches into Omni's cells first, either; I did the MIDI Learn on empty cells with no sound patches loaded, which took only a few moments, and figured I'll do the patch loading later.
This also worked "after the fact" for a previous set with patches already loaded where I experienced problems, too.
I closed the set and reopened it, which meant that playback had stopped. In my instance, I couldn't get Omni's cell 1 to play; Prog Chg value 1 played cell 2. All the others worked OK. I have no idea why, but I expect it relates directly to the bug. This might mean that the MIDI Learning has to be done again, and maybe again, to retain predictable behavior.
My AKAI mpd26 program change values also behaved the same as Live's clip values, so it appears that a Live clip prog change value x = a mpd26 prog change value x
One other thing, which may or may not be significant:
Changing Omnisphere Live Mode's "Program Change Display Format" Setting from 0-127 to 1-128 altered the program change value displayed in Omnisphere's Live Cells, incrementing or decrementing by 1, depending on which format I started from, which seems inappropriate to me; a program change value of 1 should show up as a 1 on Omni's cell regardless of whether I'm using a 0-127 or 1-128 display format, it would seem to me.
I have no idea what opening and closing the set or stopping and starting playback more often in the in the song development process might do to this, either.