tl;dr: nothing is wrong
I honestly can’t remember if my Pyramid behaved this way in older firmware versions, but I’m currently running PyraOS 3.2 and cannot get it to either pass thru or record any CC messages it receives – on any of the Omni Modes (Multitrack Off, Multitrack Bank A, Ch01, etc.), on any of the Midi Out options (Out, Thru, Out+Thru), or on whether the CC messages are sent to the Pyramid over USB-MIDI or regular MIDI cables.
Quoting the manual:
- MULTITRACK OFF will play notes and CC on the current track, regardless of the controller channel.
- MULTITRACK BANK X will play channel 01 events on TR01X, channel 02 events on TR02X, …channel 16 events on TR16X.
Based on how this was written (“notes and CC”, “events”), I’d think that if you chose, say, Multitrack Bank A, and you sent some MIDI notes and MIDI CC data to MIDI channel 03, the Pyramid would “play” both the MIDI notes and the CCs on TR03A. And I’d definitely think that if you had chosen Multitrack Off, the Pyramid would have “played” both the MIDI notes and the CCs through whatever track is active.
But when I send the Pyramid CC messages from some external source (Ableton, Octatrack), it will only allow the CC messages to pass through – and it will only record them! – if I have first “assigned” a CC message “to itself” (e.g., hold down ASSIGN while sending CC #1, assign it to CC #1 on the Pyramid) while the Pyramid sequencer is stopped. (This doesn’t exactly help, though, because the Pyramid then responds to the “self-assigned” CC on every channel that it’s sent from.) Otherwise, no CC messages are apparently recognized.
The “CC Messages” setting is of course set to “ON”.
Has anyone else encountered this or am I going crazy?
Update: it turns out the issue is that I had already previously “assigned” (using the method where you ASSIGN an incoming CC to some CC or some other Pyramid parameter while the sequencer is stopped) all the CC #s (1, 2, and 3) that I was “testing” and had saved this to my project several months ago but forgot about it. After I got the idea to “reassign” them and noticed the “REMOVE ASSIGN” option and chose that, everything is working as expected.
Maybe this will help someone else.