Category Archives: Practical Reaktor

Using Snap Isolate on Reaktor Panel Controls

Quick tip: you can use the snap isolate option in the properties of Reaktor panel controls to keep a parameter from changing when you change snapshots.

steampipe_snap_isolate

The above screenshot is from the “B” view of the Steam Pipe 2 front panel. I was getting sick of the godawful reverb slathered over every snapshot in the ensemble, so I turned off the reverb with its power control and set that control to snap isolate so it would stay off when I changed snapshots.

I’ll often do this when auditioning snaps in an ens, but not save a modified version of the ensemble… turns out that many of the snaps in Steam Pipe 2 are more sonically interesting when you hear them dry. 🙂

Microtuning in Reaktor – with Instrument Download

microforum

About a year ago I fell under the spell of Aleksi Perälä’s album MU3. I listened to it whenever I could, and heard it in my head when I couldn’t play it. It was subtly, maddeningly different, and stood out from the other new electronic music I was hearing around that time. It sounded pleasantly detuned, but not randomly so. What was he doing?

Continue reading

Download a Reaktor Step Sequencer (Roux macro series)

It’s been a while since I published the Roux II sequencer macro, which I’d promised to expand on with some further tutorials, so let’s get back on it!


A user emailed me an ensemble where he’d used two Roux II sequencers to create a step sequencer with pitch. However, it wasn’t working as he’d expected. Why not? Let’s take a look at his structure:

 This looks fine at first glance. One Roux is driving the gate input on an envelope, another is driving the pitch input on a Sine module. The sequencer driving Pitch has been modified so its values go from 0 to 127 – the standard range of MIDI note values – instead of 0 to 1. Here’s what that looks like in the properties for the mouse area:

And in the table:

But the envelope doesn’t retrigger as expected, and the pitch triggers even when the gate doesn’t. Another problem, both cosmetic and functional, is that the tiny height of the pitch sequencer doesn’t give you much room to accurately enter values with the mouse!

So in my version I’ve made a larger pitch sequencer area.

It’s easy to change the size of the mouse area and table by using the view tab on the properties of these panel elements. If you want even more room, just set the width and height of these modules to a larger number of pixels – but make sure they match, so the mouse area fully overlies the table module on the panel.

As you can see I’ve also added a constrain-to-scale macro borrowed from the factory library Spiral sequencer for a quick way to restrict the notes to a particular scale. Now let’s have a look at the changes in the structure.

What I’ve changed in my version:

  • Pitch and Gate macros have been renamed for clarity
  • All macros and modules have been set to mono. There are certainly ways to make poly sequencers in Reaktor but polyphony doesn’t make sense for this kind of simple structure.
  • The DR envelope is replaced with an ADSR. The DR envelope requires a zero value in between triggers, while the ADSR only requires a positive value to trigger, which makes more sense in a step sequencer where you’ll have one note after another.
  • Separator and Value modules send pitch values only when the gate value is on.
  • A Start / Stop module to send a zero to the envelope when the sequencer stops
  • Triangle wave for some extra harmonics to the sound
  • Mixer to control volume
  • the aforementioned Pitch Correction macro from Spiral
  • Added a synced stereo delay, to make things a little more interesting

Aside from the innards of the constrain-to-scale and delay macros, most of this should be straight-forward, but I want to talk a little more in depth about the use of the separator and value modules. The output of the Gate sequencer, which controls whether there’s a note on a certain step and how loud it is, goes through a separator. That way, only positive non-zero values of the gate trigger a new pitch.

Which brings us to the value module – the pitch is held back at the input of the value module until the “Trig” port receives a gate. If this weren’t in place, every pitch value would go through and you’d hear a glissando effect – notes between your desired notes – when setting high decay and / or release values on the envelope.

You’re probably also wondering about the start / stop and separator modules. What’s up with that?

The Start / Stop sends a 1 from its G output port when the clock is running – either Reaktor’s clock when standalone, or the host’s clock when running as a plugin – and sends a 0 when the clock stops. I’m using a separator module again, but this time we’re taking the value from the “Lo” output port, because we only want the zero. And the reason we want the zero is to send it to the G input on the envelope, to stop hanging notes from droning on forever.

Notice that the Separator module has two input ports – an “In” and a “Thld”. The threshold port determines what values go to the Hi and Lo outputs. When there’s nothing connected to Thld, Reaktor interprets this as a zero threshold. So values greater than zero go to Hi, and values of zero or less go to Lo.

One thing you’ll notice about this contraption is that it can have different sequence length and clock speed settings in the pitch and gate sequencers, one of the features you’ll also find on its big brother the Chroma sequencer. This lets the sequence morph and change in interesting and unpredictable ways over time. My philosophy is, if you already know what your music is going to sound like before you produce it, why bother? Make tools that produce happy accidents.

The next thing you might want to try is adding some better sounding audio generating modules, like a choice of waveforms, a filter or two, a filter envelope, an LFO – and of course, more Roux sequencer macros to control some of these parameters. See my previous post here to download the Roux macro on its own, and find out how to use it in your structures.

The Roux step sequencer is free and you can download it from the Reaktor Tips shop here:

Add to Cart

The cost is zero and a link will be delivered to your inbox instantly. Plus, you’ll receive notification and another link when the Roux Stepper is updated with improved audio and sequencing features. Oh, and you’ll also get Ghost Shift, in case you don’t have it already.

Happy sequencing!

The Roux Sequencer Macro

Back in the day when I was blogging at the now-defunct kore.noisepages.com, I did a series on the inner structure of a basic sequencer macro, one that could be easily adapted for many uses. Those posts have vanished into the bit-ether, so I’m rebooting the topic with a revised macro and an ensemble that shows how to use it. And here it is! download link

All controls are tool tipped – there’s sequence length and clock speed controls, an IC send menu and value range controls – see below for details.

Last time around, I posted the macro and dived right into the inner structure, explaining it bit by bit from the inside out. I think this was useful but lacked a degree of… instant gratification. So this time around I’m going to start with a simple demo ensemble that shows how you can use it right off the bat.

This demo instrument is a rhythmic FM noisemaker that has three sequencer macros mapped to the volume, carrier pitch and modulation amount. The modulation oscillator pitch isn’t sequenced – it’s fun to map it to a MIDI or OSC controller and manipulate in real-time. You can get some fine Clicks and Cuts style sounds and sequences out of it. I’ve run it through the standard factory library Dual Sync Delay to wet the sound a bit. Here it is with a little ParamDrum beat behind it:

The Roux macro can be slapped into any Reaktor instrument, and doesn’t even require wiring stuff together. Using the IC send module, the signal can be routed to any target in an ensemble – such as knobs and faders in an existing instrument. It’s designed, therefore, for quick and dirty hot-wiring. Plop one into Carbon 2, for example, and add some sequencing to oscillator pitches and cutoff values.

One nice thing about the IC send module is that it displays a menu right on the front panel of the instrument that lets you direct the signal without mucking around in module properties. Another great thing is that it adapts the signal range to the target you’re aiming at – doesn’t matter whether the target has values from -12 to +12 or 0 to 127. As an added tweak, I’ve included min and max controls that will restrict the range, in case you want a target control’s travel limited to, say, the middle range – just set min to 0.4 and max to 0.6.

Now, why is this macro called the Roux? A roux is the basis for sauces in french cooking – it’s little more than flour fried in fat, and you can make gravies, cheese sauces, any kind of sauce where you want a little body and thickness. And just like the sauce base, this sequencer macro can be used in a lot of different ways, as the basis for different instrument designs.

In upcoming posts I’ll talk about other ways to use the macro, like triggering envelopes, build some new instruments with it, and we’ll take a peek under the hood at what makes it tick. Bon appetit!

I was raised to be a saucier. A great saucier.

Sending Random Notes from Reaktor part 2: Turning Off Notes

Last time we looked at sending random notes from Reaktor, everything was hunky dory except the ensemble didn’t send note-off signals to its destination.

Note-offs are required because otherwise you end up with stuck and hanging notes. If you’re sending to a synth patch you could inadvertently create drones. If you’re sending to a drum synth or other percussion instrument, you might not hear a drone when the note fades but it might still be active, consuming CPU. This has happened to me when I’ve tried to trigger Drumspillage from Reaktor.

The fix is very simple and uses part of the same structure we used to send MIDI out from Krypt – a note-off macro.

There’s also a NoteLen control, unlike the earlier version in Krypt. This control determines the length of the triggered note, so it doesn’t require a new note to turn off the previous one.

Now let’s have a look inside the NoteOff macro:

It’s a bit complex, but the gist of it is – the Value modules on the right, just before the merge modules and P and G terminals, hold the value of the previous note and a zero. The Order module is wired up so that when a new note is received, the macro first sends out the pitch of the previous note with a zero velocity. That’s one way to send a note-off. The macro then sends out the new note with whatever velocity came in through the G terminal.

The Hold module holds the note on for however many milliseconds you’ve set as the length of the note, then drops the value to zero, which again sends out a note-off.

You can download the updated ensemble here and experiment with it yourself.

Update: here is a version of the note off macro that is more suitable for popping into other sequencer ensembles, which often have trouble with stuck notes when sending to external synths and hardware.