Quantized Saw-Sine LFO
Renoise has a built-in LFO controller, but it lacks proper tempo sync and is independent from the song position, so you can never count on it being the same in the same moment twice. This thing provides an alternative. Fade between sine, no LFO and sawtooth at will, too!
muls = {1,2,3,4,5,6,7,8,12,16,32,48,64,96,128,192,256,512};
function lfo(speed, offset, fade)
local saw = 1-(SAMPLES/SPL/NUMLINES/4*muls[1+floor(speed*17)]%1);
local sine = sin(saw*PI);
local faded = saw*max(0,fade-0.5)+sine*max(0, (1-fade)-0.5);
return offset+faded;
end
lfo(A,B,C)
Step Sequencer
This sequencer provides dynamic control over sequence length and lines per sequence step. The values themselves are programmed as float numbers from 0 to 10 into the 'sequence' array. Piling a bunch of these at different tempo divisions and sequence lengths to control parameters of the same sound creates wonderful complex meandering patterns.
-- edit your sequence as floats 0..10 here!
sequence = {1,6,2,3,10,8,5,9};
function seq(rate, length, offset)
local div = 1 + floor((1-rate)*7);
local len = 1+floor(length*7);
local index = floor(LINE/div) % len;
return sequence[1+index]*0.1+(offset-0.5);
end
seq(A,B,C)