Building Lofi effect in REAKTOR. Absolute beginner.

Modular Synth design and releases (Reaktor, SynthEdit, Tassman, etc.)
RELATED
PRODUCTS

Post

There's heaps and heaps of video's / tutorials on how to build synths in Reaktor, for the life of me i can't find any to teach me how to build a simple effect like lofi.

I need help. Any takers?

If need be i also own M4L but i figured Reaktor to be easier.

Post

Give me a second! I'll try to throw together a simple example ensemble.

Cheers
Dennis

Post

Thanks Dennis!

Post

Here it is:

The simplest lofi effect would be a simple sample rate reducer.
A SRR can be build quite simple! You just need a sample and hold module and an oscillator to provide the triggers for it!

It looks like this in Reaktor (I used 2 S&H modules since we want to have a stereo effect):

Image

How does it work?

It's quite simple! The input goes straight into the S&H modules. The S&H modules sample the incoming signal at every trigger at the trig input and hold it until the next trigger.
If you connect an oscillator to the trig input which oscillates exactly at your hosts sample rate you won't hear any difference.
BUT if you lower the freq of the oscillator you'll get all kinds of nasty aliasing and stuff. It's basically the same thing as lowering your hosts sample rate but continuously variable.
That's what the sample rate knob is for! I've set it to a range from 500 to 20000. Why 20000? It's roughly 44k/2 and should be the upper limit of lofi :hihi:

Weirdly enough most lofi plugins etc. implement the same thing differently though (I never understood why!).
They use the hosts sample rate to calculate the freq of the oscillator.
This method has basically no advantages but 1 big problem: It is dependent of the hosts sample rate! I like to use 44k as my hosts sample rate but I often render at 96k. That's not possible with this method since the rate of the oscillator would be more than doubled in that case and the effect would be completely different (or not auditable at all anymore!).

However, this method can be implemented in Reaktor too:

Image

In this example the knob is set to a range from 0 to 1.
The value then gets multiplied by the hosts sample rate (provided by the system info module) and get's divided by 2 (well, actually it gets multiplied by 0.5 since it's less CPU intensive).
This will give the knob a range from 0 too ~20000 at 44k. It's probably not a good idea to go all the way down to 0, you should probably add 500 again or set the range of the knob to something like 0.01 to 1.

I strongly advice to use the first method though.
But there is still one "bug". Most of the changes happen at the first few % of the knobs range since there isn't much auditable difference between a sampling rate of 17000hz and 17500hz but a huge difference between a sampling rate of 500hz and 1000hz.

This can be solved quite easily (uses the method of the first example again):

Image

In this example the knob is set to a range from 0 to 1 again but it gets multiplied by itselft to get a finer resolution on the lower range of the knob.
To scale the value to our 500 to 20000 range again it simply gets multiplied by 19500 and 500 get added. You could use a multiply and an add module for this but it looks a bit cleaner with the multiply+add module (or however it is called).

I hope this helps!
And please excuse my crappy english! I hope some of my mumbling is understandable :hihi:

Cheers
Dennis

Post

Wow i appreciate how detailed you wrote the post! This actually makes more sense to me now. Today i'm experimenting with this. Your post has raised some questions but before i ask 'why this?' and 'why that?' i want to study it myself.

I'll reply later. Thanks again!

Post

zeep wrote:Wow i appreciate how detailed you wrote the post! This actually makes more sense to me now. Today i'm experimenting with this. Your post has raised some questions but before i ask 'why this?' and 'why that?' i want to study it myself.

I'll reply later. Thanks again!
Always a pleasure to help!

Cheers
Dennis

Post

Thanks Dennis! It was a really great post!

Post

szalonykp wrote:Thanks Dennis! It was a really great post!
Thanks! I hope it helps!
Sadly I'm not the best guy at explaining things :hihi:

Cheers
Dennis

Post

I have looked at this in SynthMaker,
and u can do the same there as outlined here.
One addition you could add to the schematic is
bit-rate reduction too.
This is lowering the iterations of volume.
I multipled the signal by 2 to the power of whatever bits you want,
converted it to integer, and divide again by the same power.
This can degrade the bitrate.
Cheers
Thanks Dennis,
gotta destroy some sounds with Reaktor,
if only it did VST export

Post

nix808 wrote:I have looked at this in SynthMaker,
and u can do the same there as outlined here.
One addition you could add to the schematic is
bit-rate reduction too.
This is lowering the iterations of volume.
I multipled the signal by 2 to the power of whatever bits you want,
converted it to integer, and divide again by the same power.
This can degrade the bitrate.
Cheers
Thanks Dennis,
gotta destroy some sounds with Reaktor,
if only it did VST export
Exactly! A bit crusher would be the next step for a lofi effect but I thought that would be a bit too much for the beginning.
And I never tried to build one in Reaktor to be honest :oops:

Another cool thing would be a highly resonant filter in front of the SRR to get those classic early Autechre (:love:) sounds.

Cheers
Dennis

Post

Ok it took me some time to understand but i managed to build your first example. I know it's not much but it's a start. Thanks again.
At one point i couldn't for the life of me understand how to get the Knob to be visible. I couldn't see it anywhere! Then i saw in the Ensemble properties that i had to switch it on there too.

One thing i didn't quite understand is the 'A' connection to the Clock Osc. If it's not there then no sound passes. So i guess it's an On/Off switch? Haven't tried different values there..


Now my second task in this is adding a bitcrusher aspect and also an LFO (or Random value) that connects to the frequency in a definable amount.
To make it sound 'unstable' like.

So in the end i would have controls like:
-freq value (Amount)
-lfo or random wobble (On/Off/Amount)
-bitcrusher (On/Off/Amount)

After that i would also like to add Saturation and filtering and Dry/Wet controls.

What do you think? Am i getting on the right track?

Post

zeep wrote:One thing i didn't quite understand is the 'A' connection to the Clock Osc. If it's not there then no sound passes. So i guess it's an On/Off switch? Haven't tried different values there..
Sorry I should have explained that! The A input simply defines the amplitude of the clock osc. Since we don't hear it (it only triggers the S&H modules) it doesn't really matter what value you put in there as long as it's above 0.
zeep wrote:So in the end i would have controls like:
-freq value (Amount)
-lfo or random wobble (On/Off/Amount)
-bitcrusher (On/Off/Amount)

After that i would also like to add Saturation and filtering and Dry/Wet controls.
I can't help you with the bit reduction at the moment since I never tried it myself (should be quity easy to build with a quantizer module though).
I'll post about the LFO thingy later today.
zeep wrote:What do you think? Am i getting on the right track?
Definitely!

Cheers
Dennis

Post

Btw Dennis, did you get those screenshots from within Reaktor? Since they're all the same size i thought maybe it's a function in the program. Or are they just nicely cropped screenshots..

Will post my new endeavours later. ;)

Post

zeep wrote:Btw Dennis, did you get those screenshots from within Reaktor? Since they're all the same size i thought maybe it's a function in the program. Or are they just nicely cropped screenshots..

Will post my new endeavours later. ;)
I just took a screenshot, pasted it into paint.net and used the fixed size selection tool to cut the relevant parts :)
I made them the same size since KVR scales the size of the pictures and all modules on the pictures would have different sizes then. I thought that could be a bit confusing.

Cheers
Dennis

Post

Sorry I haven't found the time to post the LFO thingy yesterday :oops:
Will do it today!

Cheers
Dennis

Post Reply

Return to “Modular Synthesis”