Using XORS with clocks for rhythmic variations

This is a trick I love so much that I have to force myself to not use it in every patch!

Instead of using a straight clock to drive a sequencer, put the clock into a clock divider, and then use XOR to compare the straight clock with a divided clock. This will have the result of periodically skipping a clock step, and giving your resulting sequences cool rhythmic variations.

The result sounds random but is on beat and is a repeating pattern. The ear knows that the sequence is varied but has an inner logic to it.

The perfect sequencer for these shenanigans is @jeremy wentworth’s GridSeq, because advancing in the X and Y directions separately introduces even more variation.

Because of VCVRack’s one sample delay, per module, it’s best to XOR the /1 output with another divided clock so that they actually happen simultaneously. You can XOR the clock directly with a divided pulse because the pulses are not infinitely narrow, but this seems cleaner.

No sound sample, just an example patch. Go forth and make skippy sequences!

xorClocksSequencer.vcv (18.6 KB)

8 Likes

Maybe you have not noticed, but it looks like your patch upload didn’t work :slight_smile:

Also fun combine odd and even divisors.

1 Like

Fixed. Either I screwed it up with text editing or uploading multiple files in one go doesn’t work exactly right.

1 Like

this is a neat trick! thanks for sharing.

i usually go for the bernoulli gate, because i’m fine with random skips and variations, but for a more regular effect this will be really useful.

2 Likes

Yeah, I’ve used Bernoulli gates this way too, but I love how the xor trick can take something predictable and turn it into something that sounds unpredictable, but is actually deterministic.

It actually suggests a cool simple module: a trigger skipper. One knob with CV that controls how often a trigger is skipped. Maybe do a quad gate skipper so you can cascade them for more complicated patterns.

3 Likes

Isn´t that possible with Laundry Soup, it even is quad ?

Oh… and cool idea ! (that´s what i intended to write in the first place) I feed sequencers with all kinds of gates, but this seems “evil genius”. :wink:

Laundry Soup (computerscare modules) does have random trigger capability by using the question mark symbol: ? . For example the sequence created by entering this in the text field:

1?2

will trigger on step 1 with 50% probability, and then will always trigger on step 2. It is 3 total steps in length. The limitation is that the probability is always fixed at 50%.

@chaircrusher I think that Audible Instruments “Bernoulli Gate” is exactly what you are describing with your trigger skipper idea. Am I missing something?

2 Likes

The Bernoulli gate takes a clock and depending on the probability knob randomly lets through a percentage of the input triggers.

The XOR trick is more regular. If you take a clock divider and use the /1 and /3 outputs into the XOR, it will play 2 triggers, skip one, 2 triggers, skip 1 etc. /1 and /4 skips every 4th tirgger. It’s deterministic.

What’s more you can cascade XORS for more fun time, like (/1 XOR /5) XOR /7 will skip both the 5th and 7th triggers, giving 5 triggers over 7 triggers.

1 Like

Oh my, I had no idea! This opens up another can of worms. :smiley:
Speaking of… will some of the documentation get updated? I notice that “-” doesn’t work anymore, so I replace “8-4” with “00004”. Same with the example of “@4,4” to create a snare pattern.
And then there’s all of the new modules. :slight_smile:

1 Like

This started out with your xor trick and gridseq :slight_smile:

Since then I have been experimenting more with rotating clock dividers and xoring 4 signals. It is fun to get theses patterns out.

3 Likes

Sounds cool ! Also i can see you like JW modules :slight_smile: I like them too ! whoever makes them is a genius ^^

Yes what a genius. I use those modules all the time. It’s like I know them inside and out. The just are so familiar to me.

1 Like

I have found that adding swing to one of the XOR inputs gets you some interesting results. It is easy enough if you are coming out of Clocked, but I always forget you can use a Bidoo Late to add swing to any triggers. It adds a delay to every other trigger received so it will do interesting things to odd numbers.

2 Likes

Yes the documentation will be updated and I’m sorry about it being out of date. For now you’ve got it right: use the 0 for a “rest”. You can use the “@” symbol to make a rest of any length. Another way to program the “backbeat snare” pattern you describe: 0@4,4

1 Like