I am stumped, I think. At least for now, I’m afraid. It has got me intrugued, though, and I think I will be seeing if I can or can’t replicate this issue with my gear when I get a chance.
It does seem odd that it would work in Perform mode but not Play mode, the way you have things.
Are you running the newest 4.03 version, of the PyraOS firmware (I assume you are but just in case you weren’t…)? The website page where you download it mentions that it contains a bug fix where patterns other than P1 were not sending out Prog Change messages. The list of bug fixes is not very detailed so I wonder if there is a chance that this bug only happened in Seq Play Mode. From other related Pyramid topics I have read on this forum I assume that this particular issue couldn’t have been occuring to users who posted and I suppose maybe that they didn’t use the Seq Play Mode. These topics/posts were from before the last firmware update, and were from about 2021. These are those topics:
https://squarp.community/t/any-tips-for-using-program-change/6078
https://squarp.community/t/program-change-behavior/5635
In case you don’t know, the firmware version that your Pyramid has should be displayed when it boots up. If you miss it (it’s easy to miss) you can check it in Settings/Info/PyraOS Version. There are some MIDI Out monitor pages you can get to from that part of the Settings menu too. These may help you check whether the Prog Change messages are being sent out at least.
You probably have found this out already too, but there are a couple of ways to affect a Prog Change with Pyramid. The Step mode one (like you have used in that Pattern) and one that you access in the Track Options page (2nd + TRACK), the page where you can also do stuff like enable patterns, set run modes, etc. I think setting MSB, LSB and Prog Change here will act a bit differently. It seems that when you do it this way it will send the Prog Change message whenever you change patterns and it sends it at the beginning of a Track when you press play (so it’s the one people tend to use for remembering their synth presets). I wonder if this could possibly point to something that relates to your issue. Could there be conflicting messages in your Project? Again though, why this shouldn’t be a problem for you in Perform mode too would still be a bit of a puzzle.
It seems that Prog Change messages can be a bit problemmatic or at least awkward with some MIDI gear (it seems to create more issues than other CC messages, I think). I get the impression (from forum posts) that Roland gear plays pretty well with Pyramid generally. So, I’d still be fairly hopeful that you will find a solution.
I think there are a few things I might try while I was waiting for a more helpful post on here, If I was you:
With the Project you have;
I might try placing the MSB, LSB and Prog Change messages on separate steps, just to ensure they were sent in the intended order.
I might try shortening the CC Messages Pattern on T2 (i.e. to 4 bars), so that it sent out a few repeated Prog Changes during the Sequence just to see if that made a difference. Perhaps some messages just fail, for whatever reason. Then I would maybe try to not send all three (MSB, LSB and Prg Chg) on each occasion, perhaps delete the MSB/LSB messages on the latter ones, maybe try a few combinations. It may even be that sending the same MSB (or LSB) out repeatedly confuses things, so maybe try just sending the messages that change (this might just be Prg Chg, or LSB and Prg Chg).
I might try using the Free Run Mode on the CC Messages Pattern, and maybe the one that followed it, and maybe even try ‘joining’ the patterns (still in Free Run Mode) and see if that made a difference.
I would then probably try setting MSB, LSB and PRG CHG messages in the Track Options Page, for at least the same two Patterns, but maybe start with the one that follows the Step CC messages Pattern.
I’d also probably try starting a New Project, and keep it as simple as possible (at the start). Set it up to Play a couple of Sequences with a couple of Patterns on one Track. Basically doing what you are doing, with a couple of MSB, LSB, Prog Changes inputted in CC Messages Step Mode. Try changing from Seq Perform to Seq Play and vice versa. See if you get the same issue. If you don’t, work towards something like what you have in the Project you have there and hopefully this process will shed some light on where things go wrong (which might of course have been right at the beginning!!). I’d be tempted to start here rather than the previous suggestions.
Another thing to try, of course, is whether this issue happens when sending MSB, LSB and PRG CHG messages to your other synths.
These are probably all likely to fail, but the hope is that some inkling towards a reason or solution might arise. It’s a long shot, but maybe this sort of thing is worth a try. It’s quite possible you will have tried some of these things already, so apologies if any of this this is old hat.
Good luck!