Building Effects, Part I – How To Build Flangers and Phasers in Reaktor

This tutorial series aims to teach the reader the basics of making a variety of effects in Reaktor. I will focus on keeping the effects simple and easy to understand (please keep in mind that there is plenty of room for improvement!), but I will assume basic knowledge of Reaktor Primary modules.

This first tutorial focuses on building flangers and phasers.


A basic flanger in Reaktor can be made with just a few modules. To begin with, we need an idea of what a flanger does to an audio source.

Simply speaking, a flanger mixes an audio source with a delayed version of itself. The length of the delay is modulated by an LFO. This is a simple enough Reaktor structure to make:

However, this setup only gives us a very poor, weak flanging sound, as there is one component still missing – feedback! The output of the delay line must feedback into itself to give a fuller, more powerful flanging effect.

This, too, is pretty easy to achieve:

I’ve highlighted the mixer in this picture to illustrate how it’s output feeds back into the input of the delay line. With the Feedback knob turned up, this creates a much fuller flanging sound.


A phaser is constructed in a very similar fashion to a a flanger. Instead of delaying a signal and mixing it back with the input, however, a network of allpass filters is used.

As with a flanger, an LFO is also required, but this time it modulates the corner frequencies of the allpass filter instead of the delay time (each of the allpass filters has it’s own different corner frequency, but they are all modulated by the same LFO).

Here’s a quick phaser macro I made to illustrate the design:

I’ve highlighted the allpass network so you can see how the filters flow into each other and how the feedback goes from the last filter back into the first. The ‘ALLPASS’ macros are extremely simple, I only made them at all to save space in the main macro, and to make the structure easier to understand by looking at it.

All this is doing is changing the corner frequency of the filter by the amount specified in the offset input, named ‘Off’. This makes sure that each filter has it’s own corner frequency.


Now, as I mentioned in the introduction, these designs can be improved upon in a number of ways: The LFO should probably have a Tempo Sync option to allow sounds that move in time with a project; the phaser can be expanded to have a variable number of allpass filters in it’s network; the ‘Off’ inputs in the ALLPASS macros can be replaced by a knob that lets the user change how much to spread the corner frequencies out; both effects could use a dry/wet knob, etc, etc etc.

Since it is not the purpose of this tutorial to build a huge, complicated flanger or phaser, but rather to give the reader a starting point from which to work, I will not be implementing these upgrades, instead I leave it up to you!

I will, however, leave you with a copy of my work for this tutorial, which you can download here.

Simply play some sound thru the ensemble to hear the effects.

Please post any questions or suggestions for future tutorials in the comments and I will do my best to help. Thanks for reading!

  • tun

    isnt the mod amount knob on the flanger an unnecessary knob? it looks like it could be replaced with a constant of one, leaving you with only the time knob to control the delay time amount.
    that way, values between 0-1 on the time knob would give the same results as changing the mod amount knob.

    • salamanderangram

      feel free to experiment with the structure of course… you can for example set the time knob to 20 ms, and the amp to 0.5, which will give you a range of time from 10ms to 30ms. replacing the amp knob with a constant would leave you with a range from 0 to 40 ms, so there is a difference.

      • tun

        ah i see. thanks

  • waltercruz

    Hey Steve! I’m trying to build a synced version of this flanger, but when I connect tempo info multiplied by anything (I used a constant 1 on the screenshot) I get the red cross.

    I can’t understand why this doesn’t work.