Roux Step Sequencer’s Guts Explained: Reaktor’s Snap Array Module

Let’s continue learning about the Roux sequencer macro. Last time we looked at the Event Table module in Reaktor and how a clock signal can read values from it. Since the Event Table has no memory associated with snapshots, builders typically use a Snap Value Array to store and recall sequences with snapshots.

Roux Step Sequencer’s Guts Explained: Reaktor’s Event Table Module

Sequencers are, by definition, all about controlling sets of events. Having unlocked the mysteries of time — the clock and timing data you need to keep your sequencer in sync — Peter Dines now tackles how a table can organize a sequence of events or steps. Take it away, Chef! -PK

Here’s the next puzzle piece in our series dissecting the guts of the Roux step sequencer macro - the event table. As you might guess from the name, the event table receives and sends event rather than audio data.

By default, the event table holds values between zero and one, and I know I bang on about this lot, but that’s a super convenient range because it’s so easy to scale. Ed.: It’s what’s called a “normalized” range for this reason - and easy to scale, indeed. Want 0 to 127, for instance? Just multiply by 127.) -PK We dealt with scaling the output in the last post on the Roux sequencer.

Roux Step Sequencer’s Guts Explained: Reaktor’s X+ Module

I decided the best way to tackle teaching the guts of the Roux step sequencer is to blog one piece at a time, and work backwards from the business end where the values emerge.

The values that this macro produces are between 0 and 1 by default, which is a convenient range for all sorts of applications, but sometimes you need a different range of values - for example, from 0 to 127 for MIDI note pitches. I’ve included an X+ module just before the output to make it easy to scale values:

The values emerging from the event table are multiplied by one and have zero added to them, which means they pass through unmodified. Here’s a video demonstration of what happens when you multiply and add other numbers:


Multiply / Add module in Reaktor from Create Digital Media on Vimeo.

If you’ve ever worked with electronics, think of the way the X+ is used here as being like those little mini trimpots on a circuit board - handy for adjustments but not something you mess with every day once you’ve got a contraption put together the way you like.

Basic Sequencer for Anything in Reaktor: The Roux, Part 1

In French cooking, there’s a sauce base called a roux (pronounced “roo”) that is the foundation of bechamel and other sauces. This is a sequencer macro that is the equivalent for programming sequenced instruments in Reaktor - you can take it in any direction from here. In its most basic form it can send velocity information to trigger percussion, or modulate instrument parameters like cutoff and resonance. With a few simple changes it becomes a pitch sequencer, suitable for use in something like the Frankenloop device.

rouxscreen.gif

Reaktor/Kore Journal: Sequencing Grains, and Why Macro Recycling is Your Friend

Looking at and changing the guts of an ensemble is great — but sometimes you actually want the mechanics to be hidden, so you can easily reuse important sets of functions. Photo: Grant Hutchinson.

SeqDriver macro in Reaktor I’ve really been enjoying playing with patches based on Peter Dines’ Grain Delay tutorial. If you haven’t yet checked out that tutorial, it’s a terrific way to get started with a built-in Reaktor module that’s essential to all kinds of effects. The ensemble itself doesn’t get too fancy, meaning it’s friendlier to beginners than some of the polished-but-complex ensembles you find in the Reaktor examples and User Library. And that’s part of the point — the way most people are likely to use Reaktor in their own ensembles is to start small and basic, not necessarily with elaborate custom skins and complex features.

Peter’s example works really nicely for navigating an ambient sound. But I started thinking about using this for rhythmic ideas, so I could build a custom grain delay effect set up for easy live performance in Kore. To get beat-synced, sequenced effects, you need to work with clock information. The clock will act as a kind of metronome for your beat-based effects. That means turning to a previous Peter Dines tutorial:

Revving up Reaktor: A Refresher on Clocks and Events

We had a refreshingly frank comment from reader armachian:

“after reading I now realise that Reaktor is not for me!! Compared to something like the Clavia G2 this seems like a lot of steps (and hidden tricks) for a simple sequencer/clock demo. Life is too short!”

Actually, that’s right – life is too short! But I think armachian misunderstood. The whole point of having a modular system is you don’t have to repeat the same steps over and over again. You can simply re-use basic macros, like the SeqDriver macro Peter created, shown top right. You don’t have to even know how it works (though it couldn’t hurt); you can instead focus on what you want to do. In fact, even if you’re using macros you’ve created yourself, this can keep you focused on your musical aims rather than getting hung up on the mechanics underneath.