Tag Archives: clock

Collaborative Building on Google Plus

As you may know, I’ve been kicking ass and chewing bubblegum working on a collaborative Reaktor project on the G+ Reaktor group. Our first project is to create a metasequencer by having one Roux macro modulate another.

Since it’s early in the new year and people are sluggishly recovering from the holidays I’ve gone ahead and done the assigned homework and here is a cheat sheet.

That’s the front panel – “Meta” is our modulator, and it modulates the “Roux” macro. There’s an “active” button to turn the metasequencing on and off, and a Snap# numeric readout to let you know which snapshot you’re selecting with the mouse in the meta-sequencer.

Which brings us to how Meta modulates Roux: it selects and recalls different snapshots. Here’s what it looks like inside:

As you can see, there’s some additional structure in this macro. Important note: the Snap Value [] array module, as you can see in its properties, is set to snap isolate and Morph/Rnd isolate. That’s because we don’t want it changing its own sequence as it recalls different snaps – we only want those events to select different sequences in the other Roux macro.

A couple of other things to note – the value coming out of the Snap Value [] module is scaled between 1 and 16 and quantized to integers. You can’t see it here but the event table has been modified to accept values between 1 and 16. This is perhaps not the optimal way to do this, as we have to change that max value of 16 in two places, but it’ll do for now. Why have a max value at all? It’s easier to select a value with the mouse that way. Again, there are other ways to do it, but later for that.

After the event table the values go through a router which is used to activate or deactivate the metasequencing, then into an order module which directs the values to the Snp and Recl input ports on a Snapshot module. This part should be self explanatory.

I could offer a download of the ensemble I built, but that defeats the purpose of collaborative building. I’d like anyone following along to build their own instrument / ensemble, come up with their own questions, and possibly their own ideas for improvement.

So get cracking!

A Working Clock

Recently I’ve been working on some new sequenced ensembles and found to my horror that the clock macro I’d been relying on no longer worked properly. Bit rot? Slow change in behavior from version to version? I’m not sure. The problem was the old zero reset bug – old hands at Reaktor are nodding sagely right now – where the first beat or note would not fire off after resetting the song position to zero.

So I went through some frantic experiments and experienced a genuine Dark Night of the Soul until I put something together based on my old clock macros, hints from forums, and ideas from the Reaktor user library.

Unfortunately in the process I upgraded to the current version of Reaktor, 5.7.1, because there seemed to be some subtle differences in behavior between 5.6.2 and 5.7.1 and there’s a limit to how much time and effort I can dedicate to old versions.

Here’s what the new, fixed, stable, working macro looks like on the inside:

As you can see it’s fairly simple. If you’re still sticking with 5.6.2 you should be able to throw one together from this schematic in a few minutes.

Special thanks to Owen Vallis who came up with the idea of using the mod output of the Modulo module to gate the Div output. So much better than using a silly old step filter. Owen posted his fix in this thread on the Reaktor forums so go thank him there.

I’ve stuck the macro in this demo ensemble:

Click here to download the new clock macro.

Grab the macro labeled “SeqDriver 571” and use it in your own creations. Of course, nobody’s perfect and no fix lasts forever so let me know if you find a bug, a sequencer where it doesn’t work or works erratically, or if you need help wiring it into your own creations.