JW Patterns: An observation + Some suggestions

patternsExample.vcv (26.9 KB) @jeremy Wentworth’s Patterns module is based on an idea I discussed on the forums here, where I noted that if you XOR two outputs (or more) of a clock divisor, you get a pattern of clocks with ‘rests’ in it. In other words /1 + /7 means there are 6 regular pulses, but no pulse on the 7th, in a repeating pattern.

This is useful when generating clock sequences for Sequencer modules, as it takes the sequencer pattern – say, 8 steps, and turn it into a much longer pattern. The notes repeat, but against a shifting rhythm.

But there is an interesting problem it took me a while to understand:

  1. When XOR-ing two divisions of a clock, if one divisor is divisible by the other, the effect is to skip the clocks where both divisors are active. EG XOR /1 and /3 and you get two pulses followed by a 1 pulse gap.
  2. If there’s no even division of the two divisors, the pulses of the two divisors are added together. For example /2 and /3, you get every other clock combined with every 3rd clock, and the clocks both come through except when the pulse is divisible by both 2 and 3. So the XOR of two clocks is additive – mostly – until you reach a pulse count that is divisible by both.

Which brings me to a couple of suggestion for JW Patterns:

  1. Add clock for each row. So you can do things like use the clocks out of one row to input into another, for even more complex patterns.
  2. Add reset for each row. That way you can reset the counters in interesting ways, i.e. reset based on another row.

This ends up being very complex and unpredictable after a while but the cool thing is that it always makes a finite length, repeating pattern. And complex, repeating patterns are always more interesting than strictly random patterns.

The example patch uses Patterns, Gridseq and Chronoblob to make a patch that sounds almost random, but isn’t.


A clock and a reset for each row on the left would make it symmetrical. :slight_smile: I would have to test it out and see how the CPU usage is effected. Maybe I will do that someday.


Just a note, the FW QAR allows logical operations like XOR to be applied to already pretty complex rhythms :slight_smile:

Well sure. And when I apply random modulation to all the mod inputs for each row, it wouldn’t be MORE complex if I threw an XOR in there. :grin:

So since a few of the clock dividers in vcv rack incorrectly reset after 8 or 16 beats, I got used to that. I am finding that reseting at 16 can be a nice pattern. So ya maybe I do need that clock and reset on each row.


Patterns is already more complicated than i can really understand. Don’t get me wrong, I’m using it all the time, I kind of like that about it. But lets not get too carried away here…

1 Like