Some synths don’t have a patch/program memory but many addressable parameters.
In that case you can set up a patch by sending the appropriate parameter values to set up a patch.
Looking at the pipes available there is at least one way of doing this already, I’ve attached an example using Channel filter, CC range filter, CC Remap and Rescale pipes.
As far as I can see there is no way to respond to a specific program change value so instead I have defined a CC to act as a substitute ‘patch change’ CC. The values sent to this CC are the equivalent of program change numbers. Then using the mentioned pipes we manipulate the incoming data to set up the patches.
I haven’t actually tested the configuration yet but it seems like it would work. It is quite a long winded way of setting something like this up so it would be great if there was a pipe that could send out multiple CCs at once for example (or NRPN etc). Or perhaps some UI for forwarding a filtered event to multiple pipes.
I’ve added some notes to the description in the patch, hopefully it conveys what I’m trying to say
patch-memory.mhp (1.8 KB)
So this would be some sort of Batch MIDI Event sender?
So when the pipe receives an event ( PC number, CC value, Note, Transport ) it generates a bunch of events, in bulk?
Use a program change message to create a patch from scratch using CC messages
Receive: PC=32, LSB=2
Send: CH=01 CC07=64, CC72=100, CC74=20, CC26=120
Use a note to Send Program changes to a bunch of synths on different midi channels.
Send: CH=01 PC=03, CH=02 P,C=57 LSB=12, CH=05 PC=127
Use a Note to send a few CC values for a tuned drum machine voice
Send: CC21=64, CC72=100, CC74=20, CC26=120
Send: CC21=32, CC72=90, CC74=0, CC26=115
Things like that?
This is the same functionality that I’ve been mentioning in another thread, about bank and program change. Probably some sort of “event” object would be a good idea.
Basically I want to do the same thing, but with Bank and Program Change, though to different midi channels obviously, but in bulk.
I think there is some merit to the simplicity of each pipeline having a single responsibility.
However some kind of bulk event object that gives the ability to have a single event cascade to multiple events would be very powerful.
Yes, like the Midi Channel filter objects etc.