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:
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.
My grain delay ensembles are still in progress, but some experimentation quickly demonstrates how important this is. Have a look at the Structure behind the “Basic Clock Demo” example that comes with Peter’s clock tutorial. There’s quite a lot in there, but that’s why this is a perfect time to re-use a macro.
The key macro here is SeqDriver. Copy that, and you get position data you can route into any other module. In the Basic Clock Demo example, you can see two ways to route position to other things:
1. Using a Distributor, which triggers the different lamps inside the “Pretty Lights” macro
2. Using a Selector, which outputs different values inside the “Major Scale” macro
There are other things you could do with Position data, but these are two very easy places to begin.
I knew for my grain delay I wanted a series of values I could control like a step sequencer. That would allow me to use the eight encoders on my Kore Controller as beat-synced, sequenced values for an effect. The Selector example in the clock demo uses fixed values (in this case, MIDI pitch values for the scale):
… but change those to knobs and you can adjust the values in live performance.
My next problem was to determine which Grain Delay parameters made sense to control. By routing position into the Pos input on the Selector, we can send, in sequence, any values we want to the Grain Delay – but to which inputs?
- (G) Gate signal takes a 0 or -1 to start each grain. By sending –1’s, I’m able to “disable” certain beats. So I made some on/off gate switches and used those to create granular steps I could switch on and off.
- (P) Pitch takes a transposition value, so I could give those steps different pitches.
- (Len) Grain Length is one I haven’t made too much use of yet, but it could work, as well.
Most of the other values didn’t work as well. Changing Distance caused some CPU usage issues (particularly with low values), and I found that reducing the number of controllable parameters made more sense. Now, the next steps for me would be:
- Trying some rhythmic variations of my step sequencer itself, so that you don’t get a somewhat boring 8-step, repeated sequence
- Adding a built-in, non-granular delay (for still more rhythmic effects)
- Using LFOs in addition to manual control (though I do enjoy making adjustments hands-on, and it’s already getting satisfyingly crazy)
But, for me, the big advantage here is not so much in designing an interesting panel in Reaktor as creating some parameters that are fun to use in live performance, then mapping them to control pages, as shown below:
It takes more than one control page, but you can navigate between them by repeatedly hitting the CTRL key on your controller.
For more on that topic and why I think
We’ll have more to look at very soon. I’ll be patching away and improving and will report
back. Peter has also been iterating his Grain Delay in his own direction, adding enhancements to how grain length and distance are calculated and modulating them with adjustable LFOs.
If you’ve got other ideas, oh Reaktor patchers, do let us know — either stuff you do know how to do, or stuff you don’t! (We have some extreme beginners and extreme advanced users out there, I know.)