Nth Message Filter?

Hi there.

Not sure it’s possible, but thought I’d run it by those more experienced.

Is there some counter per message such that you could do something like :

message = 0;
If(message % N === 0)
keepOrDiscard()
message ++

If N is up to 16, you could try and use a Dispatcher to make it cycle through 1-16 channels. This way it’s sort of possible to build a 16 step sequencer at least.

like Giedrius, I’ll go for Dispatcher when I only need 0 ≤ n < 16;

higher values of n can use a note value and Transpose to do the counting.

This program change patch shows a ± counting technique of this type.
(a somewhat similar previous version is described here)

Implementing the conditional and “reset to 0” stages can be done with Transforms.

Thanks both of you! I’m not familiar with Dispatcher or creating conditionals with Transform, very interesting.

With both we’re repurposing Note handling pipes for information purposes…

…so we Transform some incoming message into a Note On which then

  • via Dispatcher, “counts up” through the selected channels, or
  • via Transpose, shifts up a note (which is the used to ‘virtual map’ to the Transform’s Note value ready for the next iteration

As hinted above, Dispatcher is preferred cos it does a lot in one simple pipe.
The other method needs a few extra bits to make it work.


…or creating conditionals with Transform

The “Work with Value Low|High” properties of Transform are invaluable for catching certain values and doing something with them.
I use the idea a lot with One-Shot LFO’s so I can trigger an action at certain point in a time-frame

2 Likes