Program change behavior

Hi all,

I’m confused about how program change messages should be behaving on the Pyramid. The behavior that I’m seeing is that PC basically gets encoded into the step sequencer as a single CC value being sent at the beginning of the pattern.

Is there any way to avoid re-sending the program change CCs every time the pattern restarts? The synth I am sequencing (OB-6) seems to lag its clock by a few BPM on program change, causing an audible noise. So I’d prefer that PC messages were only sent when the track or pattern were switched. Is this possible, does anyone know?



In TRACK mode, you have to affect a PC to the Track (wich will send continuously the PC to the Track. Not an impulse CC, wich is made in STEP mode)
Choose the right Track.
Press: 2nd and TRACK, and then with encoder nb1 (left), you can make your synth change program (if it accepts program change on that midi channel). You can also set a Bank (with the other encoders)

1 Like

That does not seem to work.

If you set in the track menu the pc and banks; and your synth is on a different patch; when you press play you wont’ see the synth moving to the correct patch; but continue to play on the original patch

Isn’t your synth set in PC receive ON ?
There is maybe a midi filter?
Usually when you rotate the PC knob on the pyramid, the slave machine responds automatically, even without pressing play.
Try to create 2 SEQs with 2 different patterns (and different PCs on each) from the same Track, and switch from one SEQ to an other (or just one pattern to an other). It resets the Patch on the synth (also even without pressing play)

Hrm - I’ve noticed the PC message set in CC automation - but I guess my behavior doesn’t seem to be like ‘every loop’ but just when the track activates.

Like, here’s what I know about PCs you set via the track:

  • When you load a song, PCs for all active tracks will send
  • If you hit stop two or three times, it will send PCs for all the active tracks
  • When a track becomes active it will send the PC
  • If you set a PC on a track with no note data (ever), the track won’t light up like at all, but it will be treated as an enabled track (so it will send pcs on load, etc)

I haven’t observed the PC sending every loop - but it could just be that i haven’t looked for it. Easy enough to test by running through midi monitor.

Um, if it is indeed doing what you’re saying, and causing a problem, what I would do is I would use this work around:

  • Use two tracks for this sound - one for the patterns of notes and one for the PC
  • for the PC, set that track to be a one shot, then go into the step sequencer and add and then remove a note - this will make it light up so you can see when it’s enabled.
  • Remove the PC from the pattern playing track

This will be kind of annoying because you’ll have to remember your second track in your sequences etc to make sure your sound loads. Anyways, might be worth playing with the synth a bit and using midi monitor to see if you can figure out what the best workflow will be for this particular synth.

I should add, if you’re not using 4.01 or greater, there are PC bugs on song loads that can send extra and weird PCs to synths - but it’s just on song load afaik.

Yes; made it as slave so it takes clock and PC. No filters that I am aware of; it seems to change PC fine if I go to 2ND + Track and change the MSB, LSB and PC there manually; although when the sequence run it never seem to send the PC to the synth.

I created a sequence at the first pad of the first bar of my track (the track is 8 bars long); passing MSB first, then LSB and finally PC on the same pad (so I save 3 times the changes; being sure the pad lights up by long pressing it after each change); and even that does not seem to work. I get the PC message sent via midi (checked with midiOx), only if I double tap Stop button.

Not sure in Midi terms, what is different between the double tap of Stop button; but that seems to be the only thing that “reset” the synth to the correct patch I set, but then If I want to change to another patch on any of the 8 bars of my track; doing the same thing (in sequence CC mode set a pad with the 3 values in sequence), that does not work.

I am going to break down the 8 bars track in 2 sub-tracks of 4 bars each and see if that does the trick; but it is not ideal to be honest

I’m not in the studio to test it right now, but I can’t remember if it’s the Pyramid or one of my other devices that only sends PC, MSB, or LSB if there is a change. I think it’s the OT, tho. Sorry.

If I were near my Pyramid, I’d test that out: there may be a PC in the Track that is causing the system to revert, or scurrilous Bank msgs.

It sounds like pharaon is dealing with a separate issue than mine. Their issue seems to be that program changes aren’t happening, mine is the opposite: they’re happening on every loop.

Thanks for the replies @vt100 and @CreepyPants. I did some investigation with the Pyramid’s MIDI monitor and it looks like the behavior isn’t actually from the PC message, but instead, the MSB + LSB firing on every loop. For clarification, I haven’t manually used STEP mode to sequence program changes/LSB/MSB, but rather used the settings in the menu in 2ND+TRACK.

Are LSB/MSB supposed to be sending this frequently? In this case I need at least LSB to be able to select the bank for this OB-6 patch, just PC is not enough.

Update on this; my current workaround is to simply not use bank select, and instead only use Program Change by itself. For the moment I’m going to just use only patches 1-99 on my synth, and try to colocate everything on that same bank.

I have used this a few times for live sets, sending program change messages to a Kawai K1m and a Pioneer/Dave Smith AS-1. I’m guessing that the AS-1 will behave very similarly to your OB-6.

I also only use the first bank of programs on the AS-1, so have been using the Program Change section of the MIDI CC pages. I have basically set up a single step on the first step with the level:


This worked fine for me, would transmit a Program Change message basically as soon as you unmuted the track (rather than necessarily at the beginning of the bar) which was actually a bit helpful, as the K1m is a bit slow is loading patches, so I could unmute the track slightly before the first note was to sound.

I’ve set up a couple of new tracks. The only thing in them is a PC message as above, and a single note playing once each repeat (C6 for the first track, A5 for the second) and you can see from the output, that it only transmits the Program Change message once when the track is unmuted:

Interestingly, if I mute and unmute the same track, it doesn’t transmit a new Program Change message, so the Pyramid must remember which Program the target should be on and only sends a message when it changes, which is pretty neat.

I also tested with two different MIDI channels, and the above behaviour is per MIDI channel.

However, if you leave two tracks unmuted, both with Program Change, then they fight with each other and send messages one after the other, each round, which I guess is to be expected:

So, in short answer to your above question - think you need to use the fake CC step mode for Program Change messages, as it behaves the way that I think you are after.


This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.