Patch Memory Pipe

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 :slight_smile:

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?

For example:

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.

Receive: Note=C3
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

Receive: Note=A2
Send: CC21=64, CC72=100, CC74=20, CC26=120
Receive: Note=B2
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.

Yes, exactly that :slight_smile:

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.

1 Like

Yes, like the Midi Channel filter objects etc.

1 Like

Haha yes, good point!