Waves multi-reflecting

One of my favorite effects is a wave reflecting, and I’ve decided to start the blog with a small review of this simple-as-hell and quite interesting filter. When I found the filter in the very fist libraries of Generator (Reaktor) it was mentioned as “cheap octaver”, but today I’d call it “the new life of dissonance”. Similar effects can be found among a big number of wave shapers and distortions and I wouldn’t call it “new” in general, but with this post I would like to remind people how important simple and well known things in some cases. Today’s case is multi-reflecting of detuned waves.

If you’re not into the fundamentals or just bored already you can scroll down the post right to the sound examples 🙂

The reflecting is a simple absolute (|x|) of incoming wave data. A regular wave oscillates between -1 and 1 but right after the reflecting all negative values just go positive between 0 and 1. If we know the overall incoming range of the oscillations we can easy correct the reflected wave back to the normal range. In case when the incoming oscillations range is -1 to 1 the reflected wave should be doubled and offset by -1, i.e. out = |in| * 2 – 1. In case when input wave is a raw audio signal and we don’t know exactly what’s the range of the oscillations then we have to dynamically detect the volume and use the level to correct the signal after the reflection.

There are example pictures of the multi-reflecting of a sine wave:

No reflecting.

1 reflecting.

2 reflectings

3 reflectings

4 reflectings

The general audible results of a wave reflect are:

  • Noisy distortion
  • Octave up pitch shift
  • Extra harmonics
  • FM synthesis similar sounding

The multi-reflecting just increase the overall sound affecting. I’ve done few tests and decided that x4 reflections is enough for the most cases. If you add a couple of the reflections more you will get a quite useful dry<>total-trash filter.

There is Reaktor screenshot of the reflector macros:

There is a screenshot of the reflector within x4 Reflector with ADSR envelope macros.

As you can see it’s simple as hell and I wasn’t lazy to build a synth for the post to make it clear. It’s an example synth and it’s quite simple as well:

There are 3 oscillators in the synth. Each wave oscillator can produce different types of the output waves which can be fluently selected with the fader:

There are 5 knobs to tweak: octave, halftone, fine detune, p-width (width for pulse wave), lfo-mod (modulation for the waveform fader). I think it’s more than enough to show basics of the multi-reflecting.

There is also a little trick in the waveform selector:

There are four wave oscillators to select, but there are eight selector positions, I made it to have more intermediate mixing phases.

To provide multi-reflecting in the synthesizer I’ve done x4-multi-reflector with adsr envelope:

Those small leds “1”,”2”,”3”,”4” shows what’s the maximum number of the reflections is going to be used if ADSR provide full level of the envelope.

I’ve made 20 presets with using single or detuned waves with different levels of the reflections. Those presets shows how simple reflecting makes complicated sounds from a quite primitive waves. With one of the next post I will dig out possible post DSP processing of the multi-reflected waves where I expect to get more than expected.


Ensemble version of the MuliReflect synth
Instrument version of the MuliReflect synth
General MultiReflector x4 filter macros
MultiReflector with ADSR macros

20 sound examples of the MultiReflect presets:


Let me know if you need a lossless version of the certain sound.

8 Responses to “Waves multi-reflecting

  • 1
    October 27th, 2006 18:07

    cool site. very helpful for learning a different approach to Reaktor. well, different than mine. thanks for your work.

  • 2
    October 27th, 2006 20:41

    You’re welcome!
    Actually, I have no certain approach to Reaktor, I think. But my ideas are quite different, and most of them need a different approach or optimal time/effect realization.

  • 3
    November 1st, 2006 04:31

    I’m using this in an ensemple mod and I’d like to give you credit. What name should I use? Thanks. Great sounding synth.

  • 4
    November 1st, 2006 20:34

    Wow, thanks!
    Actually, you can give any credit you wish, it was an example synth, the idea behind it is what should be credited 🙂
    If you’ve used it for web-release you can credit me as synthofmine.com or Zed @ synthofmine.com or just:
    Zed of the Second Division
    Zed | TSD
    the Second Division

    Thanks anyway!

  • 5
    November 1st, 2006 21:28

    Zed, I’ve uploaded the mod (called WavFlection-I always try to incorporate the name of the original somehow) to the NI UL. Check it out. Feel free to upload it here to show what can be done with your synth.

  • 6
    November 4th, 2006 16:48

    I’m not a big fan of big databases and especially the NI UL, just a bottomless place 🙂

  • 7
    lemon tea fan
    November 10th, 2006 11:14

    Hi, Zed.I’m sorry for the offtop…
    What version of Reactor did you use?
    I tried this *.ens in Reaktor 5 (downloaded from the net he he he)) and got the exception that I need higher version of Reactor to work with the *.ens.
    Again sorry for the offtop
    Thanks for the answer.

  • 8
    November 10th, 2006 14:44

    I assume you need 5.1.1 version update to open my files. But I think my blog won’t be *Reaktor only* based sooner or later. Reaktor is expensive, there are few modular synths that are way cheaper. I don’t want to stick my ideas to certain synth.

Leave a Reply